webForumDet fria alternativet

header location

3 svar · 706 visningar · startad av annaco

annacoMedlem sedan apr. 200772 inlägg
#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?

metalboyMedlem sedan jan. 2005870 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.

annacoMedlem 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>

annacoMedlem sedan apr. 200772 inlägg
#4

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

Genererad på 385 ms · cache AV · v20260730165559-full.f96bc7eb