Zu 3)
Die Anweisung bedeutet "Setze überall den email_confirm-Wert auf 1 wo er auf 0 steht"
Na, fällt was auf? Der Haken ist das Wort "überall". Damit würde ein User mit seine Bestätigung ALLE User freischalten. Kann gewollt sein, ist aber eher unwahrscheinlich.
Richtig wäre:
mysql_query("UPDATE beispiel SET email_confirm='1' WHERE email=" . $_GET["email"];
Das geht natürlich nur, wenn die DB-Spalte auch "email" heißt. Ansonsten anpassen.
Ich möchte aber auch darauf hinweisen, dass dieser Code UNSICHER!!!! ist . Warum? Weil jemand über den URL-Parameter beliebigen SQL-Code einschleusen kann. Dafür gibt es mysql_real_escape(). Bitte dort weiterlesen!
Hi,
hätte da noch eine andere Frage:Ich klick z.B auf den link (http://www.beispielcom/confirm.php?email=blabla@bla.com) und in der confirm.php stell ich eine Verbindung zur Datenbank her und hol mir die email adresse mit $email = $_GET["email"]; aus dem Link. Ich will jezt den 0er aus dem Feld "confirm_email" aus der datenbank in einen 1er umwandeln. Ist das so richtig?:
1)Verbindung zur Datenbank:
$connectID = mysql_connect($hostUrl, $userName, $password)
or die ("Tut mir leid, kann keine Verbindung zur Datenbank aufbauen");
mysql_select_db("beispiel", $connectID)
or die ("Auswahl der Datenbank nich Möglich");
}2)User aus Dtenbank auswählen (anhand der Email aus dem Link):
3)Den 0er in einen 1er umwandeln:
$connectID = mysql_query("UPDATE beispiel SET email_confirm='1' WHERE email_confirm='0'")
or die(mysql_error());
- verbindung schließen.
Vieleicht könnt ihr mir bei schritt 2 helfen?
MfG
Simon