Passwortvergleichen

Loddar1

Erfahrenes Mitglied
Hallo,
Also ich habe eine Linkliste mit DB in der ein User seinen Link eintragen kann,
dazu muss er auch ein frei wählbares Passwort eingeben.
Das funktioniert auch sehr gut, aber er soll seinen Link auch editieren können
und jetzt meine Frage wie vergleiche ich das Passwort aus der DB mit dem was der User zum editieren eingegeben hat damit die berechtigung zum editieren stimmt?
Es geht nicht um das Userlogin oder Sessions.
 
SQL:
SELECT `password` FROM link_list WHERE link = 'mein_Link.html'
PHP:
if( $row[0] == $user_eingabe_pw ){
  //gültig
}
 
Prima, ich habe das:

PHP:
mysql_query("SELECT lpw FROM loclinks WHERE id='$_GET[id]'");
if(($_POST[lpw])==($_POST[lpw1])){
mysql_query("UPDATE loclinks SET name='$_POST[name]',href='$_POST[href]',url='$_POST[url]',mail='$_POST[mail]',cat='$_POST[cat]', gruppe='$_POST[gruppe]',block='$_POST[block]',text='$_POST[inhalt]' WHERE id='$_GET[id]'");
}

lpw1 kommt vom Formular
aber es funktioniert nicht.
 
Zuletzt bearbeitet:
Wenn du abfragst, wo irgendein Wert = $_GET[id] ist und $_GET[id] ist NULL wird die MySQL Abfrage wohl kein Resultat liefern. Du kannst den Query ja mal testeshalber ausgeben lassen.
 
Er liefert mir die richtige ID und auch das richtige Passwort, aber ich weis nicht ob er das Passwort vom Formular richtig ausgibt und vergleicht.
Ich weis auch nicht ob ich an der richtigen stelle abfrage.
 
Also zuerst: Dein Script funktioniert, da PHP die Konstanten nicht findet (da du sie nicht definiert hast) und deswegen die Konstante als einen String behandelt. Zu deutsch: Ziemliches Gefusche, was dennoch funktioniert.

Um die Daten aus einer MySQL Abfrage zu verwenden, nutze die Funktion mysql_fetch_array()
 
Habe passwortvergleichen mal gaendert, bekomme aber keine Ausgabe
und ich weis nicht warum?
Hier mal der neue Code:
PHP:
$result = mysql_query("SELECT * FROM loclinks WHERE von='$_GET[von]'");
while ($l = mysql_fetch_array($result))	
if($l[von]==$_SESSION[id]){}echo  'von:'.$l[von].'ID:'.$_SESSION[id];

$l[von] wird nicht angezeigt,
hat einer einen Tip?
 
Gib doch mal das ganze Array aus:
PHP:
var_dump($l);
// oder
print_r($l);

Aber ich rate dir auf jeden Fall dazu, bei Arrays den Schlüssel in Anführungsstriche zu setzen.
Denn ich habe mal auf einer Website (vllt. finde ich ja noch den Link) gelesen, dass das Suchen einer bestimmten Konstante Performance in Anspruch nimmt.

Und wenn wir schon bei Performance sind, will ich noch erwähnen, dass bei doppelten Anführungsstrichen PHP nach einer Variablen sucht, sprich $arr["$i"], und das nimmt wieder Zeit in Anspruch. Aber zerbrich dir nicht den Kopf darüber.

EDIT: Hier ist der Link: PHP Performance.de
 
Zuletzt bearbeitet:
Zurück