PHP tut nichts!

Alles, was PHP betrifft, kann hier besprochen werden.

PHP tut nichts!

Postby 1Euro » 20. August 2005 19:38

HAllo,
ich habe mir mal ein schöneres Login script geschrieben, das aber nur halb funzt. Wenn ich das DB create script aufrufe, Creiert er keine DB ich weis nicht warum, er gibt auch keine Fehler meldung aus. Und beim Registrationsscript ist es das selbe. beim Login script gibt er einen fehler wenn ich den Befehl: mysql_fetch_assoc($result) verwende, und zwar: Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /opt/lampp/htdocs/Frank/login.php on line 22.

das reg.php script:
Code: Select all
<?
   @mysql_connect(localhost, root, *) OR   
      die("Es konnte keine Verbindung aufgebaut werden");   
   mysql_select_db(frank) OR       
      die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());
   IF ($_POST['stufe'] == "") {
   echo '<form method="post" action="reg.php">';
   echo 'Username: <input type="text" name="username">';
   echo '<br />E-mail Addresse: <input type="text" name="email">';
   echo '<br />Passwort: <input type="passwd" name="passwd">';
   echo '<br />Passwortwiederholung: <input type="passwd" name="passwdw">';
   echo '<input type="hidden" name="stufe" value="1">';
   echo '<input type="submit" VALUE="Absenden!">';
      } elseif ($_POST['stufe'] == 1) {
         IF ($_POST['passwd'] == $_POST['passwdw']) {
         $username = $_POST['username'];
         $passwd = $_POST['passwd'];
         $email = $_POST['email'];
         $sql = "INSERT INTO User
               (Username,Passwort,E-mail,Datum)
               VALUES
              ('$username',
               '$passwd',
               '$email',
               NOW());";
        mysql_query($sql);
        echo 'Ihre Registration wurde erfolgreich abgeschlossen.<br />';
        }  else {
         echo 'Dein Passwort und dein Wiederholungs Passwort stimmen nicht über ein!<br />';
         echo 'Bitte wiederhollen sie beides!<br />';
         unset($_POST['stufe']);
         echo '<a href="/reg.php">Zurück zum Anmeldeformular</A>';
        }
       }
?>


Hier das login script:
Code: Select all
<?
   session_start();
   @mysql_connect(localhost, root, *) OR   
      die("Es konnte keine Verbindung aufgebaut werden");   
   mysql_select_db(frank) OR       
      die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());
   IF ($_POST['stufe'] == "") {
   echo '<form method="post" action="login.php">';
   echo 'Username: <input type="text" name="username">';
   echo '<br />Passwort: <input type="passwd" name="passwd">';
   echo '<input type="hidden" name="stufe" value="1">';
   echo '<input type="submit" value="Absenden!">';
   } elseif ($_POST['stufe'] == 1) {
       $username = $_POST['username'];
       $sql = "SELECT
                Username,
                Passwort
             FROM
                User
             WHERE Username= '$username';";
     $result = mysql_query($sql);
     $row = mysql_fetch_assoc($result);
     $_SESSION['username'] = $row['Username'];
     $_SESSION['passwd'] = $row['Passwort'];
     IF ($_SESSION['passwd'] == $_POST['passwd']) {
          unset($_POST['stufe']);
          include "hauptseite.php";
        } else {
           echo 'Tut mir leid aber dein Passwort stimmt nict überein.<br />';
           echo 'Bitte gib es erneut ein!<br />';
           unset($_POST['stufe']);
           echo '<a href="/login.php">Zurück!</A>';
        }
    }
?>


Bitte sagt mir meine Fehler :(
Dies ist meine Welt!!!
1Euro
 
Posts: 188
Joined: 11. September 2004 17:50

Postby adi99 » 20. August 2005 22:36

Was mir so auf die schnelle auffällt ist das du keine ' oder " machst bei mysql_connect,...
User avatar
adi99
 
Posts: 115
Joined: 15. January 2004 16:08
Location: Switzerland

Postby 1Euro » 20. August 2005 23:11

muss ich das?
Dies ist meine Welt!!!
1Euro
 
Posts: 188
Joined: 11. September 2004 17:50

Postby Wiedmann » 21. August 2005 00:17

1Euro wrote:
adi99 wrote:Was mir so auf die schnelle auffällt ist das du keine ' oder " machst bei mysql_connect,...

muss ich das?

... Was sagt das PHP-Manual zu dieser Frage?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby 1Euro » 21. August 2005 09:01

hallo,
ok ich habe das verbessert aber der Fehler ist immer noch drinnen.

1Euro
Dies ist meine Welt!!!
1Euro
 
Posts: 188
Joined: 11. September 2004 17:50

Postby Wiedmann » 21. August 2005 09:33

a) man kann sich auch nach mysql_query einen evtl. mysql_error anzeigen lasssen

b) man sollte Sessionvariablen nie so nennen wie lokale Variablen.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby 1Euro » 21. August 2005 09:38

hallo,
es sollte alles richtig sein :( Vieleicht kannst du es mal testen wenn es bei dier fungtioniert muss es an meinem PHP liegen :(

1Euro
Dies ist meine Welt!!!
1Euro
 
Posts: 188
Joined: 11. September 2004 17:50

Postby Wiedmann » 21. August 2005 09:49

es sollte alles richtig sein

Nein. Sonst wäre meine letzte Antwort wohl anders ausgefallen, oder?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby 1Euro » 21. August 2005 10:10

naja, zu Punkt 1 da ist kein Fehler denn die Fehler meldung hätte er sonst ausgegeben, auserdem habe ich nochmal nach dne Queries gesehen und die sind auch richtig. Die Sessions sollten erstmal egal sein. Ich weis natürlich nicht ob die Anweisungen korrekt sind. Ich habe mir sie aus einem Tutorial kopiert und umgestaltet das sie meine Daten enthalten.
Ich kann keinen Fehler finden aber es fungtioniert nicht :/

1Euro
Dies ist meine Welt!!!
1Euro
 
Posts: 188
Joined: 11. September 2004 17:50

Postby Wiedmann » 21. August 2005 10:33

naja, zu Punkt 1 da ist kein Fehler denn die Fehler meldung hätte er sonst ausgegeben,

Wo steht in dem Code eine Anweisung das da er eine Fehlermeldung ausgeben soll?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby 1Euro » 21. August 2005 10:35

hi,
die("Es konnte keine Verbindung aufgebaut werden");
die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());
Dies ist meine Welt!!!
1Euro
 
Posts: 188
Joined: 11. September 2004 17:50

Postby Wiedmann » 21. August 2005 10:46

Wiedmann wrote:a) man kann sich auch nach mysql_query einen evtl. mysql_error anzeigen lasssen
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby 1Euro » 21. August 2005 11:05

kannst du bitte denn code umgestalten so wie er dann aussehen soll?

Danke 1Euro
Dies ist meine Welt!!!
1Euro
 
Posts: 188
Joined: 11. September 2004 17:50

Postby Wiedmann » 21. August 2005 11:15

Wegen? Du weist doch wie es geht...
--> Schau ob "$result === false" ist. Und wenn dem so ist, machst du ein die mit mysql_error (wie gehabt).
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby 1Euro » 21. August 2005 11:33

öhm ... Da gibt er schon einen fehler aus wenn ich versuche mit mysql_fetch_assoc($result) die Datenbank informationen auszulesen.
Dies ist meine Welt!!!
1Euro
 
Posts: 188
Joined: 11. September 2004 17:50

Next

Return to PHP

Who is online

Users browsing this forum: No registered users and 2 guests