De bedoeling is dat een pagina genaamd xmlhttp.php word geinclude (vanaf /), daarvan word gecontroleerd of de gebruikersnaam en wachtwoord overeenkomen met de databse. Indien ja, dan word hij doorgestuurd naar includes/login.php zelf, word daar een cookie aangemaakt, en word je weer teruggestuurd naar / waar dan te staan moet komen dat er een cookie is.

<?php
// Mysql Connection
$con = mysql_connect("localhost","-","-");
$sel = mysql_select_db("login_system", $con);

if (!$con || !$sel) {
	die("Fout in de database!");
}

// Login

if (isset($_GET['u']) && isset($_GET['p'])) {
	$result = mysql_query("SELECT * FROM user_accounts WHERE username = '" . mysql_real_escape_string($_GET['u']) . "' && password = '" . $_GET['p'] . "'");
	$num_rows = mysql_num_rows($result);
	
	if ($num_rows == '1') {
		setcookie("login", "123", time()-3600);
	} else {
		echo 'Huh!';
	}
	
	if (isset($_COOKIE['login'])) {
		echo 'Cookie Set!';
	}
}
?>


Alvast bedankt!
Je doet fout:
- Geen normale topic titel verzonnen.
- Geen vermelding van wat er fout gaat + foutmeldingen.
- Gebruik van die.
- Verkeerde 'foutmelding' (er is geen fout in de database, er kon gewoon op de een of andere manier geen verbinding worden gemaakt).
- Gebruik van *.
- Foutafhandeling ontbreekt.
- Zie [php]setcookie[/php].
wat doe ik fout: Dat je niet zegt wat er niet werkt!

@Karl: je was me voor
en uiteraard nooit wachtwoorden in cookies zetten.....
Waar zie jij een wachtwoord in een cookie staan dan?
Foutafhandeling bouw ik pas in nadat het script werkt.
Sander de Vos op 27/09/2010 17:35:01

Foutafhandeling bouw ik pas in nadat het script werkt.


Niet erg slim.

Script is lek => SQL-Injection.
Heb het probleem zelf al opgelost.
Doordat ik een cookie aan het maken was in de map includes/javascript werkte de kooie niet in /.

Om de cookie op de hele site te laten gelden, heb ik dit gedaan:
<?php
setcookie('login', $_GET['q'], time()+3600, '/');
?>

Reageren