Patrick Kujawa: Daten werden zu früh automatisch gelöscht! :o(

Beitrag lesen

Moin moin,

Diese Zeilen waren beim letzten Posting nicht dabei, oder hab ich sie dort übersehen?

doch standen sie.

also Sunmaxx...

ich hab mir die Seite zwar angeschaut, aber mir ist es doch etwas arg aufwendig ein Profil anzulegen und es danach zu bearbeiten.

Du hast in deiner admin-update1.php ein Formular mit den Feldern "email" und "pass".

Gut, das Formular wird dann in der admin-update2.php ausgewertet und das zweite was du dort machst, ist das löschen des Datensatzes oder der Datensätze. Denn was ist, wenn man einen Platzhalter (%) in beide Felder der admin-update1.php eintippelt ? Dann würden der Theorie zufolge alle Anzeigen gelöscht werden.
Da müsste eigentlich noch 'ne Überprüfung rein. So das nur ein Datensatz betroffen ist.

Dann werden die aus der DB geholten Daten angezeigt. Fein. Diesem Formular solltest du noch die Methode sagen.
Also aus "echo"<form action='admin-update3-db-insert.php'>";"
ein "echo"<form method="post" action='admin-update3-db-insert.php'>";" machen

Noch was in der admin-update2.php:
"<option value=Er sucht.................u.sw."   <- warum wird diese Option nicht geschlossen ?

Sodelööö, in admin-update3-db-insert.php wird ein wenig rumgeprüft und die neuen Daten in die DB geschoben.
Dort kann ich auf den ersten Blick keine Fehler entdecken.

Was Grundsätzliches:

Wenn Daten von einem Formular per POST-Methode kommen, verwende bitte auch das Array $_POST['Formular_Feldname'] und nicht einfach nur $Formular_Feldname.

siehe auch http://de2.php.net/variables.external

Beispiel:
in deiner admin-update2.php nimmst du die Daten _nicht_ per $mail und $pass entgegen, sondern per $_POST['mail'] und $_POST['pass'].

Konkreter:
Aus "$abfrage="DELETE FROM anzeigen WHERE anz_email='$email' and anz_pass='$pass'";"
wird "$abfrage="DELETE FROM anzeigen WHERE anz_email=$_POST['email'] and anz_pass=$_POST['$pass']";"

usw. usw.
Auch in deiner admin-update3-db-insert.php solltest du das entsprechend anpassen.

Noch was Grundsätzliches:
Versuche deinen Code durch Einrückungen logisch aufzubauen.
Beispiel:

<table>
  <tr>
    <th>Ueberschrift</th>
  </tr>
  <tr>
    <td>Inhalt</td>
  </tr>
</table>

Diese Einrückungen (grausiges Wort!) erleichtern das Lesen von Quelltexten ungemein und bringen Übersichtlichkeit rein.