Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Ich glaub ich bin zu blöd dafür:-)

Also dies ist mal wieder ein Login:-) Ich weiss ich sollte mal eine Pause machen, aber das beschäftigt mich sehr...
Wenn man sich die check_login.php anschaut kommt er bis zum echo 00 und fängt die while schleife gar nicht erst an. Warum?

Code:                   In Zwischenablage kopieren (nur IE)
1">

Code:                   In Zwischenablage kopieren (nur IE)
2">

Hier gehts zum Orginal Eintrag "Ich glaub ich bin zu blöd dafür:-)" im Forum

Antworten

Fast-Standard-Antwort:
Richtig debuggen
1. [-]Man bemerkt, dass ein Skript nicht das tut, was es soll.[/-]
2. [-]Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.[/-]
3. [-]An den Anfang des Scriptes schreibt man die Zeile: error_reporting(E_ALL);[/-]
4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ...

Tipp:
Code:                   In Zwischenablage kopieren (nur IE)
3">




2.

Noch ein paar Tipps:

- "Ich glaub ich bin zu blöd dafür" ist eine Feststellung, und keine Frage. Treffender wäre "Bin ich zu blöd, ein Login-Script zu schreiben?". Dann weiss auch jeder sofort worum es geht.

- "SELECT * FROM ... " wird nur in Lehrbüchern und Beispielen verwendet. Im richtigen Leben schreibt man explizit hin welche Spalten man haben will: "SELECT user_name, user_pw FROM user".

- Du kannst mittels "WHERE" einschränken, welche Zeilen du haben willst, z.B. "SELECT * FROM user WHERE user_name = '$name' AND user_pw = MD5('$password')". Dann brauchst du die while-Schleife nicht.

- Es lohnt sich, auf der Spalte user einen INDEX zu definieren, dann braucht auch das Datenbankmanagementsystem nicht jeden einzelnen Eintrag anzufassen.

- Ich würde mich nicht darauf verlassen, das auch in zukünftigen Versionen von PHP, der zweite Parameter von mysql_fetch_array() einen der Werte MYSQL_BOTH oder MYSQL_ASSOC hat.


3.

danke für die tipps haben mir auf jeden fall geholfen.


Hier gehts zum Orginal Eintrag "Ich glaub ich bin zu blöd dafür:-)" im Forum
 
phpforum.de | Impressum