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 (11. April 2014 um 11:38) 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
    <?php include("head.php"); ?><div id="maincontent"><?php include("menu.php");?>
    <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>	";
    	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

    4 Mal editiert, zuletzt von Natsu (11. April 2014 um 17:12)

  • 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.

  • Was den falsch formatierten Quellcode angeht, das liegt am Forum Hilfe WYSIWYG. Wennn man da nicht auf dem "Standerd-Editor" ist geht gerne mal die Formatierung bei copy/paste verloren.