![]() |
Anzeige:
|
|
|||||||
| PHP/MySQL Alles rund um die Programmiersprache PHP sowie MySQL. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Stammuser
![]() Registriert seit: 19.04.2006
Ort: Adelsheim
Beiträge: 286
|
Hallo Leute,
ich hab mir nen kleines Forum gebastelt. Der User loggt sich ein und kann dann Posts schreiben. Dabei wird eine Post-ID und eine User-ID in eine Datenbank gespeichert. Mit einer Blätterfunktion werden dann 10 Einträge pro Seite ausgegeben. Mein eigentliches Problem: überall, wo ein Post von z.b. User-ID 2 erscheint, sollen Buttons mit Bearbeiten und Löschen erscheinen kurzum: der User darf nur seine Posts bearbeiten und löschen Code:
$ergebnis = safe_query("SELECT * FROM tabelle ORDER BY date usw...");
while ($ds = mysql_fetch_array($ergebnis)) {
if ($ds[userID] == $userID) $action = "Hier die Buttons";
echo "Datenausgabe"; }
Script schließen usw....
Mit dieser Variante hab ich jetzt aber trotzdem überall Buttons...also bei jedem Post... Was mach ich da falsch?
__________________
mFg K. R. Eyden |
|
|
|
|
|
|
#2 (Direktlink) |
|
Dauergast
![]() Registriert seit: 04.07.2004
Ort: Leipzig
Beiträge: 1.085
|
Du prüfst ja nirgends die UserID 2 die du doch fest haben wolltest? Da müsstest du die Bedingung so abändern, falls ich es richtig verstanden habe:
Code:
if ($ds[userID] == 2) $action = "Hier die Buttons"; |
|
|
|
|
|
#3 (Direktlink) |
|
Stammuser
![]() Registriert seit: 19.04.2006
Ort: Adelsheim
Beiträge: 286
|
ja
klar, das war auch nur ein Beispiel es schreiben ja viele User (ID 1 bis 83 momentan) und da soll eben bei jedem Post des eingeloggten Users diese Buttons erscheinen...sorry, war nicht gut ausgedrückt, kanns aber auch irgendwie nicht gescheit erklären -.-
__________________
mFg K. R. Eyden |
|
|
|
|
|
#4 (Direktlink) |
|
War schon mal da
![]() Registriert seit: 19.02.2007
Beiträge: 38
|
Hi, ich denke mal dein Prob ist ganz simple.
Ich geh mal davon aus das dir ständig egal von welcher userid immer das Wort "Datenausgabe" ausgegeben wird. Das erklärt sich dadurch das du deiner IF-Abfrage keinen Rumpf gegeben hast! Deine if-Abfrage macht nur die Aktion $action zu fillen. Da ein If ohne Rumpf (if(){rumpf}) generell nur die EINE Zeile danach ausführt alles andere was danach kommt ist immer allgemein wieder gültig. Hoffe das war etwas verständlich. Hier nochmal an deinem Beispiel wie es richtig sein müsste: Code:
$ergebnis = safe_query("SELECT * FROM tabelle ORDER BY date usw...");
while ($ds = mysql_fetch_array($ergebnis)) {
if ($ds[userID] == $userID) {
$action = "Hier die Buttons";
echo "Datenausgabe";
}
}
Script schließen usw....
|
|
|
|
|
|
#5 (Direktlink) |
|
Stammuser
![]() Registriert seit: 19.04.2006
Ort: Adelsheim
Beiträge: 286
|
Ups, hab mein Topic schon wieder vergessen
Hab inzwischen auch die Lösung und zwar hing es an der Reihenfolge! Es muss Code:
if ($userID == $ds[userID])... In diesem Sinne, allen Abiturienten nächste Woche viel Erfolg, ich schau mir jetzt auch nochmal Mathe an
__________________
mFg K. R. Eyden |
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|