..::rEnE::.. Geschrieben 23. März 2005 Teilen Geschrieben 23. März 2005 Hallo, ich möchte mit PHP einen Datensatz aus einer MySQL-Datebank löschen. Der User gibt die ID an und der besagte Datensatz soll gelöscht werden. Allerdings läuft meine Schleife garnicht durch, die Ausgabe "Schleife nicht durchlaufen" (steht bei else) wird angezeigt... Weiß jemand was ich falsch gemacht habe ? Bin PHP-Neuling... <?php $db = mysql_connect("localhost", "root"); mysql_select_db("test",$db); if ($_REQUEST['submit'] == 'submited') { $passwd_check = "SELECT passwd from rbgb_admin WHERE id = 1"; $passwd_check_value = mysql_query($passwd_check); if ($passwd_check_value = $_REQUEST['password']); print "Schleife durchlaufen"; { mysql_free_result($passwd_check_value); $sql = "DELETE FROM rbgb_eintraege WHERE id = '".$_REQUEST['id']."'"; mysql_query($sql) OR die(mysql_error()); echo "<p>eintrag wurde gelöscht.</p>\n"; print "$_post"; } } else {print "Schleife nicht durchlaufen";} echo "<form action=\"admin.php\" method=\"POST\">" ."<input type=\"text\" value=\"id\" size=\"5\" maxlength=\"5\" />" ."<input type=\"password\" value=\"admin_passwd\" size=\"20\" />" ."<input type=\"submit\" value=\"submited\" />" ."</form>" ?> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 23. März 2005 Teilen Geschrieben 23. März 2005 if ($_REQUEST['submit'] == 'submited')Kann es vielleicht einfach sein, dass hier ein Rechtschreibfehler ist und da ein zweites 't' fehlt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
..::rEnE::.. Geschrieben 23. März 2005 Autor Teilen Geschrieben 23. März 2005 Kann es vielleicht einfach sein, dass hier ein Rechtschreibfehler ist und da ein zweites 't' fehlt? Nein, leider ist es das nicht, das "submited" bezieht sich auf die Value im Formular, da heißt es auch "submited" <input type=\"submit\" value=\"submited\" /> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shannra666 Geschrieben 23. März 2005 Teilen Geschrieben 23. März 2005 <?php $db = mysql_connect("localhost", "root"); mysql_select_db("test",$db); if(isset($_POST['submited'])) { $passwd_check = "SELECT passwd from rbgb_admin WHERE id = 1"; $passwd_check_value = mysql_query($passwd_check); if ($passwd_check_value == $_REQUEST['password']) print "Schleife durchlaufen"; { mysql_free_result($passwd_check_value); $sql = "DELETE FROM rbgb_eintraege WHERE id = '".$_REQUEST['id']."'"; mysql_query($sql) OR die(mysql_error()); echo "<p>eintrag wurde gelöscht.</p>\n"; print "$_post"; } } else {print "Schleife nicht durchlaufen";} echo "<form action=\"admin.php\" method=\"POST\">" ."<input type=\"text\" value=\"id\" size=\"5\" maxlength=\"5\" />" ."<input type=\"password\" value=\"admin_passwd\" size=\"20\" />" ."<input type=\"submit\" value=\"submited\" />" ."</form>" ?> Versuche es mal so. Falls dein Formular Variablen mit Post übergibt, nehme ich immer $_POST['variable']. Als du dann die Passwörter vergleichst solltest du == nehmen sonst weisst du ja die eine Variable der anderen zu. Ob es so funktioniert weiss ich nicht ganz, da ich mich schon ne weile nich mehr mit PHP beschäftzigt habe. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 24. März 2005 Teilen Geschrieben 24. März 2005 der Submit button im Forumluar muss "submit" heissen, wie du es in der If Bedinung abfragst... if ($_REQUEST['submit'] == 'submited') [/PHP] [code] echo "<form action=\"admin.php\" method=\"POST\">" ."<input type=\"text\" value=\"id\" size=\"5\" maxlength=\"5\" />" ."<input type=\"password\" value=\"admin_passwd\" size=\"20\" />" ."<input type=\"submit\" name =\"submit\" value=\"submited\" />" ."</form>" [/code] aber meiner Meinung nach wäre es schöner wenn du es so abfragst: [PHP] if ( !empty( $_REQUEST['submit']) && $_REQUEST['submit'] == 'submited') Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
..::rEnE::.. Geschrieben 24. März 2005 Autor Teilen Geschrieben 24. März 2005 Jetzt läuft es, habe einiges verändert.... <?php $db = mysql_connect("localhost", "root"); mysql_select_db("test",$db); if ($_REQUEST['submit'] == 'Loeschen') { $passwd_check = "SELECT passwd from rbgb_admin WHERE id = 1"; $passwd_check_value = mysql_query($passwd_check); $passwd_pw = mysql_fetch_row($passwd_check_value); $check_value = $passwd_pw[0]; if ($check_value == $_REQUEST['passwd']) { mysql_free_result($passwd_check_value); $sql = "DELETE FROM rbgb_eintraege WHERE id = '".$_REQUEST['id']."'"; mysql_query($sql) OR die(mysql_error()); echo "<p>Eintrag wurde gelöscht.</p>\n"; mysql_query("ALTER TABLE rbgb_eintraege AUTO_INCREMENT = 1"); } else {print "<font face=\"arial\">Das eingegebene Kennwort ist falsch.</font>";} } echo "<form action=\"admin.php\" method=\"POST\">" ."ID:<br><input type=\"text\" name=\"id\" value=\"\" size=\"5\" maxlength=\"5\" /><br>" ."Admin-Kennwort:<br><input type=\"password\" name=\"passwd\" value=\"\" size=\"20\" /><br>" ."<input type=\"submit\" name=\"submit\" value=\"Loeschen\" />" ."</form>"; ?> @kills: Danke, das mit dem Formular war der Fehler weswegen Die Variable nicht übergeben werden konnte... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.