Log-in formulier verwijst niet door zodra je ben ingelogd

  • Onderwerp starter Onderwerp starter phmlr
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

phmlr

Gebruiker
Lid geworden
1 mrt 2011
Berichten
8
Goedenavond,
Eerst wou ik even een mededeling kwijt want ik ben net begonnen PHP en MySQL dus ik weet nog weinig!

Voor een van mijn vrienden ben ik een voorraad beheers site aan het maken zodat hij kan zien hoeveel er op voorraad is enz.

Bij deze site zit ook een log-in pagina alles werkt naar behoren.Behalve als ik inlog want dan word ik niet doorverwezen naar bijv. het"voorraad admin panel". Willen jullie mij misschien helpen voor een oplossing. Ik zal de login script bij dit bericht plaatsen.

Let op!: Heb nog weinig verstand van PHP dus alle codes heb ik online gevonden maar ieder geval wel na gelopen zoals de connectie voor de database.

alvast dank voor uw hulp!

login.php
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Voorraad</title>
</head>

<body>
 <?php 

 // Connects to your Database 

 mysql_connect("localhost", "prive", "prive") or die(mysql_error()); 

 mysql_select_db("prive") or die(mysql_error()); 


 //Checks if there is a login cookie

 if(isset($_COOKIE['ID_my_site']))


 //if there is, it logs you in and directes you to the members page

 { 
 	$username = $_COOKIE['ID_my_site']; 

 	$pass = $_COOKIE['Key_my_site'];

 	 	$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());

 	while($info = mysql_fetch_array( $check )) 	

 		{

 		if ($pass != $info['password']) 

 			{

 			 			}

 		else

 			{

 			header("Location: members.php");



 			}

 		}

 }


 //if the login form is submitted 

 if (isset($_POST['submit'])) { // if form has been submitted



 // makes sure they filled it in

 	if(!$_POST['username'] | !$_POST['pass']) {

 		die('Je hebt niet alles ingevuld!');

 	}

 	// checks it against the database



 	if (!get_magic_quotes_gpc()) {

 		$_POST['email'] = addslashes($_POST['email']);

 	}

 	$check = mysql_query("SELECT * FROM users WHERE username = '".$_POST['username']."'")or die(mysql_error());



 //Gives error if user dosen't exist

 $check2 = mysql_num_rows($check);

 if ($check2 == 0) {

 		die('Gebruiker bestaat niet! probeer het <a href=login.php>opnieuw</a>.');

 				}

 while($info = mysql_fetch_array( $check )) 	

 {

 $_POST['pass'] = stripslashes($_POST['pass']);

 	$info['password'] = stripslashes($info['password']);

 	$_POST['pass'] = md5($_POST['pass']);



 //gives error if the password is wrong

 	if ($_POST['pass'] != $info['password']) {

 		die('Verkeerde wachtwoord ! Probeer het<a href="login.php">opnieuw</a>)');

 	}
	 else 

 { 

 
 // if login is ok then we add a cookie 

 	 $_POST['username'] = stripslashes($_POST['username']); 

 	 $hour = time() + 3600; 

 setcookie(ID_my_site, $_POST['username'], $hour); 

 setcookie(Key_my_site, $_POST['pass'], $hour);	 

 

 //then redirect them to the members area 

 header("Location: members.php"); 

 } 

 } 

 } 

 else 

{	 

 

 // if they are not logged in 

 ?> 

 <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> 

 <table border="0"> 

 <tr><td colspan=2><h1>Login</h1></td></tr> 

 <tr><td>Username:</td><td> 

 <input type="text" name="username" maxlength="40"> 

 </td></tr> 

 <tr><td>Password:</td><td> 

 <input type="password" name="pass" maxlength="50"> 

 </td></tr> 

 <tr><td colspan="2" align="right"> 

 <input type="submit" name="submit" value="Login"> 

 </td></tr> 

 </table> 

</form> 

 <?php 

 } 

 

 ?> 
</body>
</html>

members.php
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Voorraad</title>
</head>

<body>
<?php 

 // Connects to your Database 

 mysql_connect("localhost", "prive", "prive") or die(mysql_error()); 

 mysql_select_db("prive") or die(mysql_error()); 

 
 //checks cookies to make sure they are logged in 

 if(isset($_COOKIE['ID_my_site'])) 

 { 

 	$username = $_COOKIE['ID_my_site']; 

 	$pass = $_COOKIE['Key_my_site']; 

 	 	$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error()); 

 	while($info = mysql_fetch_array( $check )) 	 

 		{ 

 

 //if the cookie has the wrong password, they are taken to the login page 

 		if ($pass != $info['password']) 

 			{ 			header("Location: login.php"); 

 			} 

 

 //otherwise they are shown the admin area	 

 	else 

 			{ 

 			 echo "Admin Area<p>"; 

 echo "Admin Area<p>"; 

 echo "<a href=logout.php>Logout</a>"; 

 			} 

 		} 

 		} 

 else 

 

 //if the cookie does not exist, they are taken to the login screen 

 {			 

 header("Location: login.php"); 

 } 

 ?> 
 </body>
</html>
 
{
echo "Admin Area<p>";
echo "Admin Area<p>";
echo "<a href=logout.php>Logout</a>";
}

Wat tussen de accolades staat is de code wat uitgevoerd wordt als je ingelogd bent.
Nu ligt het er maar net aan hoe je site is opgezet of je je admin panel kunt includen.
 
{
echo "Admin Area<p>";
echo "Admin Area<p>";
echo "<a href=logout.php>Logout</a>";
}

Wat tussen de accolades staat is de code wat uitgevoerd wordt als je ingelogd bent.
Nu ligt het er maar net aan hoe je site is opgezet of je je admin panel kunt includen.


Bedankt voor je reactie !
Ik ben er zelf niet uitgekomen met dit probleem. Maar ik op op het internet een nieuw script gevonden die wel werkt.

Maar ieder geval bedankt voor je medewerking.:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan