webForumDet fria alternativet

header location

PHP

3 svar · 708 visningar · startad av annaco

Medlem sedan apr. 200772 inlägg
Frågan#1

Hej!

Jag håller nu på att skapa ett inloggningsformulär där användaren ska komma till en egen user-sida om inloggningen fungerade och annars skickas tillbaka till loginsidan.

Så här ser index-filen ut:

 if(isset($_POST['login'])){
    header('Location:login.php');
  }

Och så här login-filen

function Login(){
	if(isset($_POST['username']))
			{
						$mysqli = DB::getInstance();
						$username = $mysqli->real_escape_string($_POST['username']);
						$password = $mysqli->real_escape_string($_POST['password']);

						$query = "SELECT username WHERE username = '$username'AND password='$password' ";
						
						
							
				if($result = $mysqli->query($query))
				{
					header("location : user.php");
				}			
				else
				{
					header("location:index.php");
				}	
			}	
	}

Det ända som händer när jag klickar på logga in knappen är att url:en ändras till följande index.php?login=Logga+in

Vad gör jag för fel?

Medlem sedan jan. 2005953 inlägg
#2

Hur ser ditt formulär ut? Det ser ut som att du skickar det med GET istället för POST.

Halvt off topic:
Du bör alltid anropa exit efter att du kör header("location") för att förhindra att scriptet fortsätter att köras.

Medlem sedan apr. 200772 inlägg
#3
function loginForm(){

		echo '
		<form action="" method="post">
			<input type="text" name="username">
			<input type="password" name="password">
			<input type="submit" value="submit">
		</form>	

		';
	}

<form action="" maethod="post">
<input type="submit" name="login" value="Logga in" />

<input type="submit" name="NewUser" value="Registrera ny användare" />
</form>

Medlem sedan apr. 200772 inlägg
#4

Det löste sig jag hittade ett stav fel på ett annat ställe.

264 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)