Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2010 Teil von Januar

SELFHTML Forumsarchiv
Wo liegt der Fehler? PHP/Sessions/MySql

Informationsseite
  1. Seite (PHP) Wo liegt der Fehler? PHP/Sessions/MySql von SamanthaMaster, 30. 01. 2010, 14:59
nach unten

Wo liegt der Fehler? PHP/Sessions/MySql

Die folgende Nachricht zum Thema stammt von: SamanthaMaster, 30. 01. 2010, 14:59

Hy!
Ich stehe irgendwie auf der Leitung... Zuerst hat alles funktioniert, dann habe ich die Sessions eingefügt... Und plötzlich war da ein Fehler obwohl ich in dieser Zeile gar nichts geändert habe...

<?php session_start();?>
<html>
<head>
<title>Datenregister</title>
</head>

<body  style="background-image:url(bilder/top.jpg); background-repeat:repeat-x; font-size:150%; background-color:orange;">
<img src="bilder/logo.gif" width="97" height="93" align="top" alt="hintergrund">
<br>
<br>
<h1 align="center">SMOG</h2>
<form name="anmelden" method="post" action=<?php echo $_SERVER['PHP_SELF'];?> ><table align="center">
<tr>
    <th>Benutzername:</th>
    <th>Passwort:</th>
</tr>
<tr>
    <td><input name="benutzername" type="text" size="30" maxlength="30" value="Gast"></td>
    <td><input name="passwort" type="password" size="30" maxlength="40"></td>
</tr>
<tr>
    <td colspan="2" align="center"><input name="bleiben" type="checkbox"> Angemeldet bleiben</td>
</tr>
<tr>
    <td colspan="2" align="center"><input name="login" type="submit" value="Anmelden"></td>
</tr>
<tr>
    <td colspan="2" align="center"><a href="?">Passwort vergessen?</a></td>
</tr>
</table>
<?php
        //error_reporting(E_ALL);
        
        $result = mysql_query("SELECT * FROM user");
        while ($row = mysql_fetch_assoc($result))  // Zeile 35
{
        
        if ($_POST["benutzername"] == $row["benutzername"] && $_POST["passwort"] == $row["passwort"] && $row["status"] == "personal" && isset($_POST["login"]))
        {
                echo "<meta http-equiv=\"refresh\" content=\"0; URL=http://inflamp.technikum-wien.at/~WS09_smog/PHP/Kurse/kursliste.php\">";
                $_SESSION['id'] = $row["patientID"];
                      $_SESSION['user'] = $row["benutzername"];                
        }
        else
        if ($_POST["benutzername"] == $row["benutzername"] && $_POST["passwort"] == $row["passwort"] && $row["status"] == "patient" && isset($_POST["login"]))
        {
                echo "<meta http-equiv=\"refresh\" content=\"0; URL=benutzer.php\">";
                $_SESSION['id'] = $row["personalID"];
                      $_SESSION['user'] = $row["benutzerame"];
                
        }
        else
        if ($_POST["benutzername"] == "Gast" && isset($_POST["login"]))
        {
                echo "<meta http-equiv=\"refresh\" content=\"0; URL=info.php\">";

        }
         else
         {
                echo "<meta http-equiv=\"refresh\" content=\"0; URL=falsch.php\">";
        }
}
        
?>
</form>

</body>
</html>


Das ist der Fehler:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in index.php on line 35

LG Samantha

nach obennach unten

Wo liegt der Fehler? PHP/Sessions/MySql

Die folgende Nachricht zum Thema stammt von: Prof. Sakkkkarre, 30. 01. 2010, 16:22

Du hast recht: diese Zeile ...


<?php session_start();?>
...
        $result = mysql_query("SELECT * FROM user");
        while ($row = mysql_fetch_assoc($result))  // Zeile 35 Fehler:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in index.php on line 35

stehen stehen in keinem Zusammenhang!!! Das wirst du auch sehen, wenn
du die Zeile mal so <?php // session_start();?> auskommentierst. Du
hast meines erchtens ein reines Datenbankproblem. Wo loggst du dich
in die DB ein???????

Prof. Sakkkkarre

nach obennach unten

Wo liegt der Fehler? PHP/Sessions/MySql

Die folgende Nachricht zum Thema stammt von: SamanthaMasters, 30. 01. 2010, 18:21

Die Datenbank Anbindung habe ich versehentlich beim herumprobieren gelöscht... jetzt funktionierts wieder... mehr oder weniger...

wenn ich versuche auf die Seite benutzer.php zu zugreifen, also den richtigen Benutzername und Passwort eingeben, kommt gleich die falsch.php Seite

Dabei wird so ein Fehler angezeigt ... Konnte ich gerade noch kopieren..
[IMG]http://s2.directupload.net/images/100130/3sc37e6c.jpg@alt=Fehler]

Danke, manchmal kann ich ganz schön blind sein..

nach obennach unten

Wo liegt der Fehler? PHP/Sessions/MySql

Die folgende Nachricht zum Thema stammt von: Prof. Sakkkkarre, 30. 01. 2010, 19:04

»» Die Datenbank Anbindung habe ich versehentlich beim herumprobieren gelöscht... jetzt funktionierts wieder... mehr oder weniger...

Dein Teilerfolg freut mich!

»» wenn ich versuche auf die Seite benutzer.php zu zugreifen, also den richtigen Benutzername und Passwort eingeben, kommt gleich die falsch.php Seite

Ein paar grundsätzliche Tipps für Formulare:

- gibt in der Testversion immer
  <?php echo "<pre>"; print_r $_POST; echo "</pre>"; ?>
aus. Natürlich muss das in der Produktionsversion raus. Und falls
due GET machst muss $_GET ausgegeben werden.

- Nimm "griffige Variablennamen" in deinem Formaular. Es passiert
schneller als du denkst, dass man 5 Formulare in einer HTML Ausgabe
hat und sich Variablen beissen.

- zeige mit <form action= > imme auf die Datei, die das Formalar
ausgibt. Das hat, nach meiner Erfahrung nur Vorteile. Beispiele:
  - wenn ein User eine flasche Passwort abesetz hat (musst du
  ja ohnehin irgenwo prüfen), dann gibst du die selbe Seite nochmal
  aus uns setzt im <input> Tag gleich die richtigen Werte. Etwa so:
       <input .... <?php echo §_POST{user_name]; ?>">
  - für weiter Beispiele geht mir die Puste aus - ich muss noch
  einkaufen gehn .... (mein Buttler hat diese Wochenende frei)


Tschau.

nach obennach unten

Wo liegt der Fehler? PHP/Sessions/MySql

Die folgende Nachricht zum Thema stammt von: dedlfix, 31. 01. 2010, 11:42

Hi!

»» Dabei wird so ein Fehler angezeigt ... Konnte ich gerade noch kopieren..
»» [IMG]http://s2.directupload.net/images/100130/3sc37e6c.jpg@alt=Fehler]

Lass beide genannten Direktiven in der PHP-Konfiguration deaktivieren.

»» Danke, manchmal kann ich ganz schön blind sein..

Dein Script arbeitet immer noch blind. Es vertraut darauf, dass die DBMS-Funktionen stets fehlerfrei arbeiten. Tun sie das nicht, gibt es den bereits bekannten Folgefehler. Du wertest die Rückgabewerte der Funktionen nicht aus, prüfst sie nicht auf false, was der "Fehler ist aufgetreten"-Indikator ist.


Lo!

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2010 Teil von Januar

© 1998-2008 Seite Impressum, Software: Classic Forum