Submit Button führt die Login Funktion nicht aus!

  • Hallo Liebe Leute,
    ich habe ein Problem an dem ich schon seit nen Paar Stunden sitze.


    Sobald ich auf "Submit" gehe, passiert einfach nichts und die Seite lädt sich neu.
    In der Url steht dann :"login.php?email=&passwort=&loginsubmit=Anmelden"


    Ich verzweifel langsam... ich hoffe, jemand von euch kann mir helfen!
    Hier ist mein Code:


    Ich will eigentlich nur, dass er sich mit Sessions einloggt.
    Vielen Dank für eure Hilfe!

    4 Mal editiert, zuletzt von Bandit () aus folgendem Grund: Quellcode korrigiert

  • methode='post' ist falsch! Das hätte dir auffallen müssen, denn du bekommst die Daten in die URL, wo sie aber nicht hingehören.


    Und anscheinend ist bei dir die Ausgabe von Fehlern blockiert, den bei error_reporting(E_ALL); müsste es einige Warnings geben. deshalb bau mal ein:
    ini_set("display_errors", true);

  • Danke für deine Antwort!
    Leider ist es egal, ob ich die POST Methode oder GET verwende.
    In meinem Register Script, klappt es auch super mit der POST Methode :/
    Hier mal beide Scripts.
    Fehlermeldungen gibt er leider keine aus.

    Register.php


    Login2.php

    PHP
    1. <?php include("head.php"); ?><div id="maincontent"><?php include("menu.php");?>
    2. <td valign="top" width="100%" id="contenttb"> <table width="100%" border="0" cellspacing="0" cellpadding="0"><div align=center> <h1>Login</h1></div><?php $form2=" <form action='login2.php' methode='POST'> <table cellspacing='10'> <tr> <td>Email</td> <td><input type='text' name='emailadresse'></td> </tr> <tr> <td>Passwort</td> <td><input type='password' name='upasswort'></td> </tr> <tr> <td></td> <td><input type='submit' name='login' value='Anmelden'></td> </tr> </table> </form> ";
    3. include("config.php");if($_POST['login']){ $emailad=$_POST['emailadresse']; $passwort=$_POST['upasswort']; if($passwort != "" && $emailadd != "") { $abfrage = mysql_query("SELECT * FROM spieler WHERE email ='$emailad'"); if(mysql_num_rows($abfrage) > 0) { $db = mysql_fetch_assoc($abfrage); if($db['passwort'] == $pass) { $benuterid=$db['id']; $benutzeremail=$db['email']; $charakter=$db['charaktername']; $passwort2=$db['passowort']; $_SESSION['id']=$benuterid; $_SESSION['email']=$benutzeremail; $_SESSION['charaktername']=$charakter; $_SESSION['passwort']=$passwort2; echo "Erfolgreich eingeloggt $charaktername!"; } else { echo "Sie haben ein falsches Passwort eingegeben!"; } } else { echo "Der Benutzer:$emailadd ist nicht vorhanden!"; } } else { echo "Bitte alle Felder ausfüllen!"; }}else{ if(isset($_SESSION['email'])) { echo "<a href='logout.php>Abmelden</a>"; } else{ echo $form2; }}?><?php include("bottom.php"); ?>


    Ich habe mein XAMPP schon geupdated, da ich dachte, es kommt daher aber kam es leider nicht...
    Hast du sonst noch Ideen? :/


    MFG

  • Benutze bitte erst mal einen Editor, der den Quellcode nicht zerdrischt, wenn man den mit Copy/Paste woanders hinkopiert. Einmal habe ich den Quellcode bereinigt, aber nochmal ohne mich. Ich empfehle dir Notepad++


    Ansonsten gilt:


    Richtig debuggen


    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
    3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.