Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > PHP/MySQL

PHP/MySQL Alles rund um die Programmiersprache PHP sowie MySQL.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26895, Antworten: 4218
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3323, Antworten: 122
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 302, Antworten: 19
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7639, Antworten: 185
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 19, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 21, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 55, Antworten: 6
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 144, Antworten: 9
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 69, Antworten: 4
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50941, Antworten: 1395
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24.03.2008, 18:03   #1 (Direktlink)
Stammuser
 
Registriert seit: 19.04.2006
Ort: Adelsheim
Beiträge: 286
Standard Bearbeiten/löschen nur für Poster

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....
die Variable $userID ist mit dem Login gespeichert und hat immer dieselbe ID (aus der Datenbank)
Mit dieser Variante hab ich jetzt aber trotzdem überall Buttons...also bei jedem Post...
Was mach ich da falsch?
__________________
mFg
K. R. Eyden
K. R. Eyden ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 24.03.2008, 18:32   #2 (Direktlink)
Dauergast
 
Registriert seit: 04.07.2004
Ort: Leipzig
Beiträge: 1.085
Standard

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";
weil in $UserId ja scheinbar die ID des aktuell eingeloggten Users steht (die nicht immer "2" ist).
Zwirni ist offline   Mit Zitat antworten
Alt 24.03.2008, 19:47   #3 (Direktlink)
Stammuser
 
Registriert seit: 19.04.2006
Ort: Adelsheim
Beiträge: 286
Standard

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
K. R. Eyden ist offline   Mit Zitat antworten
Alt 29.03.2008, 17:49   #4 (Direktlink)
War schon mal da
 
Benutzerbild von murray_de_luxe
 
Registriert seit: 19.02.2007
Beiträge: 38
Standard

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....
Das sollte schon des Rätsels Lösung sein, da ansonsten dein Codeschnipsel soweit völlig korrekt ist.
murray_de_luxe ist offline   Mit Zitat antworten
Alt 30.03.2008, 00:06   #5 (Direktlink)
Stammuser
 
Registriert seit: 19.04.2006
Ort: Adelsheim
Beiträge: 286
Standard

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])...
heißen und nicht anders herum, dann funktioniert es

In diesem Sinne, allen Abiturienten nächste Woche viel Erfolg, ich schau mir jetzt auch nochmal Mathe an
__________________
mFg
K. R. Eyden
K. R. Eyden ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > PHP/MySQL

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an




Alle Zeitangaben in WEZ +2. Es ist jetzt 02:59 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2