acc. aktivierung

habe jetzt auf meiner seite eien bestätigung des acc. gemacht. und zwar steht bei der anmeldung in der tabelle frei = nein. jetzt wen man den aktivierungslink folgt, sollte eingeltich frei zu ja werden, dass man sich einloggen kann. wieso funktioniert dieses script nicht?

[php]<?php

$verbindung = mysql_connect(„localhost“, „deathend93“ , „****“)
or die(„Verbindung zur Datenbank konnte nicht hergestellt werden“);

mysql_select_db(„deathend93“) or die („Datenbank konnte nicht ausgewählt werden“);

$str = $_GET[‚str‘] ;

$abfrage = „SELECT frei FROM login WHERE aktivierungscode = ‚.$str.‘“;
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
$frei = $row->frei;
$neu=„ja“;

$sql = „UPDATE login SET frei = ‚.$neu.‘ WHERE aktivierungscode == ‚.$str.‘“;
$update = mysql_query($sql);
if(update == true){
echo" Ihr Account wurde erfolgreich freigeschaltet! Klicken Sie <a href="index.php">HIER um sich einzuloggen. ";
}

else{
echo" Der Account wurde schon freigeschalten, oder wir haben derzeit Server Probleme. Probieren Sie es doch später noch einmal ";
}

?>
[/php]

Dieser Teil ist schwachsinn, den brauchst du garnicht:
[php]$abfrage = „SELECT frei FROM login WHERE aktivierungscode = ‚.$str.‘“;
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
$frei = $row->frei;[/php]

Der Query sollte so aussehen:
[php]$qry = „UPDATE
login
SET
frei = ‚ja‘
WHERE
aktivierungscode = '“.mysql_real_escape_string($_GET[‚str‘]).„'“;[/php]

Und benutz mal [phpnet]error_reporting/phpnet, du hast noch nen Fehler im Script.

jetzt funktz. wieso eingeltich mysql_real_escape_string?

SQL-Injektion - Wikipedia

Bils aka XraYSoLo