• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP Login - einfaches Problem ?

lufon

Neues Mitglied
Guten Abend
Ich habe ein kleines Problem in meinem Script.Ich bin grade ein Login am basteln, das hab ich zwar schon einmal gemacht, allerdings mach ich das jetzt mit mysqli, ist effizienter(weniger Code) und schneller.Mein Ziel ist es, es ohne Javascript und Ajax hinzukriegen, was ich bis jetzt immer gebraucht habe.
Beim Absenden des Formulars (die gleiche Seite wird abgesendet) wird überprüft, ob der Username und das Passwort stimmt. Das eigentliche Problem ist, dass wenn z.B die Logindaten falsch sind, dass das Script auf der gleichen Seite bleiben muss, wenn sie aber richtig sind, muss die neue Seite angezeigt werden und dabei auch noch Variablen mit dem Post Request übergeben werden. Logischerweise muss das dann von PHP gemacht werden.
Wie soll das umgesetzt werden ?

Hier noch der Code von der index.php:

php:
Code:
if('POST' == $_SERVER['REQUEST_METHOD']){	if(!isset($_POST['username'],$_POST['password'])){
		echo'<p>Please fill every field!</p>';
	}else{
		$connection = @new mysqli("127.0.0.1","","","school");
		if(mysqli_connect_errno() != 0){
			//wenn fehler
			echo'Es ist ein Fehler beim Verbinden mit der Datenbank geschehen! Fehler:'.mysqli_connect_errno().":".mysqli_connect_error();
		}else{
			$sql = "SELECT `ID` FROM `user` WHERE `Username` = '".$_POST['username']."' AND `password` = '".$_POST['password']."' ";
			$ergebnis = $connection->prepare($sql);
			$ergebnis->execute();
			$ergebnis->bind_result($id);
			
			if(!$ergebnis->fetch()){
				echo'Es ist ein Fehler aufgetreten. Hast du die richtigen Daten zum einloggen gebraucht ?';
			}else{
				$ergebnis->execute();
				$ergebnis->bind_result($id);
				
				while($ergebnis->fetch()){
				echo''.$id.'<br />';
				}
			}		
			
			}
		$connection->close();	
	}
}

formular:
Code:
<form action="index.php" method="post"><input type="text" name="username"/>
<input type="password" name="password" />
<input type="submit" value="Login" name="login_submit" />
</form>
Für jeden Hinweis/Lösungsansatz bin ich sehr dankbar! :)
Gruss

edit: der code ist sehr komisch dargestellt hier, ich probiere es mal mit einem anderen browser.
 
Zuletzt bearbeitet:
Werbung:
Ich bin immer wieder erstaunt, dass so ziemlich alle, die ein Problem mit einem Login-Script haben, glauben, dass sie die ersten mit so einem Problem sind. In so ziemlich jedem Forum mit PHP-Rubrik wurden Logins schon endlos oft besprochen.

Ein Tipp: beschäftige dich mit dem EVA-Prinzip und dem "Affenformular"
 
Zurück
Oben