Hi Leute, ich bin der Neue
Und wie üblich hat ein Neuling auch gleich eine Frage, und zwar:
Ich habe es geschafft, eine Datenbank zu erstellen und darin User zu registrieren. Nun müssen diese durch erstmaligen Login ihren Account aktivieren. Und da hackt es, bzw. bei dem Auslesen der richtigen E-Mail (Einloggkriterium)
So, wo das für mich Unlogische im Pfeffer liegt
- Ich habe in meiner DB Testweise 2 Einträge erstellt
-Die Variable X bräuchte ich nicht, würde es funktionieren, wie ich will. In $nichdas, weil ich dachte, ich hätte eine reservierte Variable erwischt
-Die DB-Tabelle sieht so aus: ID(BigInt) Email(Text) Passwort(Text)
Wenn ich mein Script aufrufe bekomme ich als Ergebnis folgendes:
Die Ausgabe im Einzelnen; Spalten sind mit ... getrennt, neue Zeile beginnt ab _______:
1.) Wert von $k (0-2, Für jede Spalte
2.) Wert von $User[$k]
3.) Wert von der Variable, in die $User übertragen wurde (siehe Zeile 4-6)
4.) Wert von $User[0,1,2] ; Wert von $k über eine Switchanweisung
Der Fehler
$email enthält immer den Wert 1, nie die E-Mailadresse, egal, was ich mache. EIGENTLICH müsste es mail1@web.de bzw. mail2@gmx.net enthalten, da bei der Zuweisung ja eigentlich genau so verfahren wird wie mit den Werten der Passwörter in PWD=$User[2] bzw. wie bei den Echo-Ausgaben.
Kann mir bitte jemand den Fehler erklären? Klar, ich könnte und werde wohl auch das Variablenverschiebe durch $User[1] statt $nichdas/$email einsetzen.
Aber als Anfänger interessiert mich einfach, ob das ein Fehler in meiner PHP-Konfiguration, ein Bug oder ein völlig logisches Fehlverhalten ist.
Danke für eure Aufmerksamkeit und eure Antworten im Vorraus
Mfg PureFranky
Und wie üblich hat ein Neuling auch gleich eine Frage, und zwar:
Ich habe es geschafft, eine Datenbank zu erstellen und darin User zu registrieren. Nun müssen diese durch erstmaligen Login ihren Account aktivieren. Und da hackt es, bzw. bei dem Auslesen der richtigen E-Mail (Einloggkriterium)
PHP-Code:
$db=@mysql_connect('localhost','root','');
$daten=mysql_db_query('mydb',"SELECT * From user_inactive",$db);
$User=mysql_fetch_array($daten);
$id=$User[0];
$email=$User[1];
$pwd=$User[2];
$x=0;
while (($email=!'') AND ($x<=1))
{
$k=0;
while ($k<=2)
{
echo $k.'<br>';
echo $User[$k].'<br>';
switch($k)
{
case 0:
echo $id.'<br>';
echo $User[0].'<br>';
break;
case 1:
echo $email.'<br>';
echo $User[1].'<br>';
break;
case 2:
echo $pwd.'<br>';
echo $User[2].'<br>';
break;
}
$k=$k+1;
echo '................<br>';
}
- Ich habe in meiner DB Testweise 2 Einträge erstellt
-Die Variable X bräuchte ich nicht, würde es funktionieren, wie ich will. In $nichdas, weil ich dachte, ich hätte eine reservierte Variable erwischt
-Die DB-Tabelle sieht so aus: ID(BigInt) Email(Text) Passwort(Text)
Wenn ich mein Script aufrufe bekomme ich als Ergebnis folgendes:
Code:
0 10 10 10 ................ 1 mail1@web.de 1 mail1@web.de ................ 2 abitur abitur abitur ................ ______________________________ 0 9 9 9 ................ 1 mail2@gmx.net 1 mail2@gmx.net ................ 2 Dingsbums Dingsbums Dingsbums ................ ______________________________
1.) Wert von $k (0-2, Für jede Spalte
2.) Wert von $User[$k]
3.) Wert von der Variable, in die $User übertragen wurde (siehe Zeile 4-6)
4.) Wert von $User[0,1,2] ; Wert von $k über eine Switchanweisung
Der Fehler
$email enthält immer den Wert 1, nie die E-Mailadresse, egal, was ich mache. EIGENTLICH müsste es mail1@web.de bzw. mail2@gmx.net enthalten, da bei der Zuweisung ja eigentlich genau so verfahren wird wie mit den Werten der Passwörter in PWD=$User[2] bzw. wie bei den Echo-Ausgaben.
Kann mir bitte jemand den Fehler erklären? Klar, ich könnte und werde wohl auch das Variablenverschiebe durch $User[1] statt $nichdas/$email einsetzen.
Aber als Anfänger interessiert mich einfach, ob das ein Fehler in meiner PHP-Konfiguration, ein Bug oder ein völlig logisches Fehlverhalten ist.
Danke für eure Aufmerksamkeit und eure Antworten im Vorraus
Mfg PureFranky
Kommentar