Include, cookies, login > member side
HejNu er jeg kørt død i det her!
Er started på at lære lidt om PHP, så fandt en guide til et login script. Og har så ændret i det så det passer til min side.
Min side er bygget op af div, hvor der er include i. og det virker fint. Men når jeg logger ind via login form, skal den på content siden (i midten) komme hen på members siden, men det synes den ikke og så kommer Firefox med dettet:
Denne side viderefører ikke forespørgslen korrekt
Firefox har opdaget at webstedet viderestiller forespørgslen til sig selv på en måde, der forhindrer den i nogensinde at blive færdig.
* Dette problem kan nogle gange skyldes, at cookies er slået fra, eller modtagelse af cookies er blevet nægtet.
Scripted virker fint hvis det går til en side for sig selv eller åbner i den samme div. Det virker fx heller ikke hvis jeg har login i content. da når man så trykker login så kommer home bare frem....
Hjælp mig med at løse og forstår det
kode
-------------
min index.php hvor alt kommer ind.
her er det php, som har med det at gøre
<div id="content">
<?php
if(!isset($_GET['page']))
{
include ('build/pages/home.php');
}
else
{
include $_GET['page'];
}
?>
</div>
<div id="rightmenu">
if(!isset($_GET['login']))
{
include_once ('build/loginscript/login.php');
}
else
{
include $_GET['login'];
}
?>
</div
-------------------
login.php
<?php
// Connects to your Database
mysql_connect("80.166.252.106", "XXxXxxx", "XXXXxxX") or die(mysql_error());
mysql_select_db("login_test") 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: index.php?page=build/loginscript/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('You did not fill in a required field.');
}
// 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('That user does not exist in our database. <a href=add.php>Click Here to Register</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('Incorrect password, please try again.');
}
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: index.php?page=build/loginscript/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
}
?>
------
members.php
<?php
// Connects to your Database
mysql_connect("80.166.252.106", "xxxxxx", "xxxxx") or die(mysql_error());
mysql_select_db("login_test") 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: index.php?login=build/loginscript/login.php");
}
//otherwise they are shown the admin area
else
{
echo "Admin Area<p>";
echo "Your Content<p>";
echo "<a href=index.php?login=build/loginscript/logout.php>Logout</a>";
}
}
}
else
//if the cookie does not exist, they are taken to the login screen
{
header("Location: index.php?login=build/loginscript/login.php");
}
?>