XAMPP Login mit MySQL Datenbank

Bullz

Enthusiast
Thread Starter
Mitglied seit
12.12.2006
Beiträge
1.905
Habe ein kleines PHP Programm geschrieben was anfangs nur mit fixen Logindaten funktionierte...

//if($_POST["vn"] == "Hans" && $_POST["pw"] == "bingo")

nun versuche ich das gleiche aber mit einer mysql Datenbank im Hintergrund. Habe eine Datenbank erstellt, leider klappt es nicht . Wer ne Idee an was es liegen könnte ?

Code:
<?php    session_start();
    session_destroy();
    $_SESSION = array();
?>
<html>
<body>
<form action ="sc_schutz_b.php" method = "post">
    <p><input name="vn" /> Vorname</p>
    <p><input type ="password" name = "pw" />Passwort</p>
    <p><input type = "submit" /><input type = "reset" /></p>
</form>
</body>
</html>

Code:
<?php       session_start();
    if(isset($_POST["vn"]))
        mysql_connect("", "root");
        mysql_select_db("firma");
        $res = mysql_query("select * from Logindaten");
        $dsatz = mysql_fetch_assoc($res);
            if($_POST["vn"] == $dsatz["Benutzername"] && $_POST["pw"] == $dsatz["Kennwort"]
            //if($_POST["vn"] == "Hans" && $_POST["pw"] == "bingo")
            $_SESSION["vn"] = $_POST["vn"];
        if(!isset($_SESSION["vn"]))
            exit("Kein Zugang <br /><a href='sc_schutz_a.php'>zum Login</a>");


?>        
<html>
<body>
<h3>Start-Seite</h3>
<?php
    echo "<p>Hallo " . $_SESSION["vn"] . "</p>";
?>


<p><a href="sc_schutz_c.php">Zur beliebigen Seite</a></p>
<p><a href="sc_schutz_a.php">Logoff</a></p>
</body>
</html>

Parse error: syntax error, unexpected '$_SESSION' (T_VARIABLE) in /Applications/XAMPP/xamppfiles/htdocs/sc_schutz_b.php on line 11
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Wenn du das ganze in den Syntax-Higlighter packen würderst könnte man auch sofort erkennen, woran es liegt.
Und Fehlermeldungen sollte man auch lesen. Kleiner Tipp: der Fehler liegt irgendwo im Bereich um die $_SESSION-Variable in Zeile 10 (11?). Meistens ist es gut sich die Zeile davor näher anzuschauen.
PHP:
<?php       
    session_start();
    if(isset($_POST["vn"]))
        mysql_connect("", "root");
        mysql_select_db("firma");
        $res = mysql_query("select * from Logindaten");
        $dsatz = mysql_fetch_assoc($res);
            if($_POST["vn"] == $dsatz["Benutzername"] && $_POST["pw"] == $dsatz["Kennwort"]
            //if($_POST["vn"] == "Hans" && $_POST["pw"] == "bingo")
            $_SESSION["vn"] = $_POST["vn"];
        if(!isset($_SESSION["vn"]))
            exit("Kein Zugang <br /><a href='sc_schutz_a.php'>zum Login</a>");
?>
Das schließende ")" der if-Anweisung vor der auskommentierten Zeile fehlt. Daran hängts.

Abgesehen funktioniert da garnichts wie es soll, da du die Anweisungen nach den if-Prüfungen nicht in eine Anweisungsgruppe klammerst (mit {}). Mehrere Anweisungen müssen gruppiert werden.

Auf den ersten Blick sind da noch weitere Fehler.
PHP:
$dsatz["Benutzername"] (..) $dsatz["Kennwort"]
Das wird es nicht geben. Am besten liest du dir die Dokus nochmal genauer durch, was mysql_fetch_assoc eigentlich macht.
Und ich hoffe, dass deine Felder in der Datenbank nicht "Benutzername" und "Kennwort" heißen. Groß-/kleinschreibung führt schnell zu Fehlern, an denen man stundenlang sitzt. Datenbank(tabellen)namen am besten immer einheitlich klein schreiben.

PHP:
$_POST["pw"] == $dsatz["Kennwort"]
Ich hoffe, dass du die Kennwörter in der Datenbank nicht im Klartext abspeicherst. Was dabei rauskommt haben andere schon vorgemacht ;)
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh