Doorgestuurd worden naar de volgende pagina na inloggen

Status
Niet open voor verdere reacties.

jorenman

Gebruiker
Lid geworden
27 jul 2013
Berichten
222
HTML:
<!doctype html>
<html>
<head>
<title>Log in</title>
</head>
<body>
<form action="login.php" method="post">
     Name: <input type="text" name="name" /><br>
     E-mail: <input type="email" name="email" /><br>
	 <input type="submit" name="submit" value="Log In">
</form>

<?php

$host = "localhost";
$user = "root";
$pass = "password";
$db = "mysqltutorials";

mysql_connect($host, $user, $pass);
mysql_select_db($db);

if(isset($_POST['submit'])){
$name = $_POST['name'];
$email = $_POST['email'];
$sql = "SELECT * FROM randomtable WHERE Name='".$name."' AND Email='".$email."' LIMIT 1";
$res = mysql_query($sql);

if(mysql_num_rows($res) == 1) {
      echo 'Je bent ingelogd';
	  exit();
} else {
      echo 'Je bent niet ingelogd';
	  exit();
}



}
?>

Ik heb zelf dit Log In script gemaakt en het werkt helemaal goed.
Alleen ik wil (nadat ik ben ingelogd) dat ik wordt doorgestuurd naar een volgende pagina, weet iemand hoe ik dat doe?
 
Een ander form nemen om op te submitten, of op deze pagina eerst controleren of iemand al is ingelogd en vervolgens een redirect doen bovenaan (voordat je bij de HTML komt)

Overigens NOOIT en ik bedoel echt NOOIT dit soort code toegankelijk maken van buitenaf. Het direct toelaten van informatie uit je form in een SQL query is vragen om binnen 10 seconden gehacked te worden. Het voorbeeld is niet veilig voor gebruik buiten even wat testen voor jezelf op een interne server.
 
Wat is dan volgens jou wel een veilige manier om een login form te maken?
 
Alleen een "stored procedure" gebruiken of in ieder geval de input door "real_escape_string" halen voor gebruik. Eerste regel voor bouwen veilige applicaties: vertrouw nooit iets dat van een gebruiker komt, direct of indirect.

Overigens gebruik je ook nog de oude mysql extensie en niet de nieuwe PDO / mysqli modules. Over een paar jaar wordt de oude mysql library niet meer ondersteund door PHP.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan