Script werkt niet, ik zie de fout niet

Status
Niet open voor verdere reacties.

DJJochem

Gebruiker
Lid geworden
26 jun 2010
Berichten
725
Hallo Helpmji-ers,

Ik wil een inlogsysteem maken als onderdeel van een intranet dat ik aan het bouwen ben. Mijn kennis van PHP is redelijk dat ik dit met behulp van het internet best ver kom, maar nu loop ik even vast.

Onderstaande code ontvangt vanaf de inlogpagina de inloggegevens en valideert deze in de database. het wachtwoord is met md5 versleuteld. Echter lijkt het script niet uitgevoerd te worden. Ik zie geen foutmeldingen, ik wordt niet doorverwezen naar de doelpagina en zie ook geen andere meldingen. Kortom, het lijkt er op dat het script niet eens wordt uitgevoerd.

Dit is login.php, het script dat de inlogcodes valideert
PHP:
<title>Valideren...</title>
<?php
session_start();
switch (@$_POST['Button'])
{
	case "Log in";
		include("db.inc.php");
		$cxn = mysqli_connect($host,$user,$pass,$db)
			   or die("Fout opgetreden bij het maken van de databaseverbinding");
		$sql = "SELECT username FROM Gebruikers
					WHERE username='$_POST[username]'" ;
		$result = mysqli_query($cxn,$sql)
					or die("Gebruikersnaam niet gevonden");
		$num = mysqli_nuw_rows($result);
		if($num > 0) //gebruikersnaam gevonden
		{
			$sql = "SELECT username from Gebruikers
					WHERE username='$_POST[username]'
					AND password=md5('$_POST[password]')";
			$result2 = mysqli_query($cxn,$sql)
						or die("Password incorrect");
			$num2 = mysqli_num_rows($result2);
			if($num2 > 0) //wachtwoord is correct
			{
				$_SESSION['auth']="yes";
				$_SESSION['logname'] = $_POST['username'];
				$sql = "INSERT INTO Login (loginName,loginTime)
						VALUES ('$_SESSION[logname]',NOW())";
				$result = mysqli_query($cxn,$sql)
							or die("Fout bij aanmaken van de sessie");
				header("Location: hoofdmenu.php");
			}
			else // wachtwoord is onjuist
			{
				$message_1="De gebruiker, '$_POST[username]' bestaat, maar het wachtwoord is onjuist. Probeer opnieuw.";
				$username=strip_tags(trim($_POST['username']));
			}
		}
		else // loginnaam niet gevonden
		{
			$message_1 = "De gebruikersnaam bestaat niet!";
		}
}
?>

Dit script gebruikt db.inc.php (waar de databasegegevens in staan) en verwijdt door naar hoofdmenu.php. Allen in de zelfde map.

Ik hoor graag wat ik hier fout doe.
Bij voorbaat dank!

Jochem

[edit]Kan het zijn dat er aan de serverkant iets mis gaat? Dit stuk code komt namelijk letterlijk uit een tutorial in een PHP-boek.[/edit]
 
Laatst bewerkt:
Er mag geen output voor session_start(); staan
 
Bedankt voor je reactie,

Je bedoelt dus dat er geen title attribuut mag staan voor de PHP code? Als ik dat namelijk weg haal houd ik het zelfde probleem. Geen output in mijn browser als ik inlog. Ook in de database zie ik de sessie niet terug, die wel aangemaakt zou moeten zijn.

Groet, Jochem
 
Onderdruk ook geen functies en variabelen met een @
 
Ja dat is misschien wel een idee hè? :P

Ik zal het script zo eens lokaal proberen te draaien in een xampp-installatie, ik kan php.ini op de webhost namelijk niet bewerken...
Ik laat snel weer iets horen.
 
Heb de fout gevonden (ja, lach maar),
Spelfoutje op regel 14: nuw_rows moet uiteraard num_rows zijn.

Opgelost!
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan