MM: email bestätigung

Beitrag lesen

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());

  1. verbindung schließen.

Vieleicht könnt ihr mir bei schritt 2 helfen?

MfG
Simon