Hoi,

Ik heb een login script gemaakt, en het inloggen gaat prima, maar nu wil ik dat als de gebruiker die ingelogt is de pagina aanmelden.php aanroept, dat hij automatisch geforward word naar zijn home pagina en dat hij niet opnieuw kan inloggen.

aanmelden bevat een post naar login.php.

hier is aanmelden.php:

<?php
if($_SESSION['Login'] == '1')
{
header("location: login.php");
}
else
{
?>
<html>
<head>
<title>CJ-Aanmelden</title>
</head>
<body>
<h1> login </h1><br><br>
<form name='login' action='login.php' method='post'>
Naam:&nbsp<input type='text' name='username' size='20' maxlength='20'><br>
Password: &nbsp<input type='password' name='password' size='20' maxlength='20'><br>
<br>
<input type='submit' name='submit' value='Login'>
</form>
</body>
</html>
<?php
}
?>

eind van aanmelden.php


en hier is login.php:

<?php
session_start();

# checken of er gepost is
if($_POST)
{

# checken of login true is in de sessie
if($_SESSION['Login'] =='1')
{
include ("inc_admin.php");

}
else
{


#mysql gedeelte starten om de gebruikersnaam te controleren.
include ("inc_sql.php");

$sql_connect = mysql_connect($sql_host,$sql_username,$sql_password) or die($sql_error);
$sql_select_db = mysql_select_db($sql_db,$sql_connect) or die($sql_error);
$sql_data = mysql_query($sql_query);
$sql_numrows = mysql_num_rows($sql_data);



# controleren hoeveel rijen er gevonden zijn met die gebruikersnaam en wachtwoord.
if($sql_numrows != '0')
{

$_SESSION['Login'] = '1';
$_SESSION['UserName'] = $username;

include ("inc_admin.php");

}
else
{
echo ("Login fout!");
}

}
}


?>


eind van login.php
----------------------

Het rare is dus als ik ingelogt ben en aanmelden.php aanroep, dan laat hij gewoon login zien en forward hij me niet naar login.php

iemand idee?
@Erik: volgens mij begrijp jij het verkeerd, maar dat kan ook aan mij liggen =p... In ieder geval, zo zou het dus moeten:

<?php
...
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST['naam']) {
...
}
}
else {
if(isset($_REQUEST['naam']) { // of $_GET, wat je zelf wilt...
...
}
}
...
?>

De superglobal array '$_REQUEST' kun je gebruiken als het niet uit maakt of je formulier (ik neem aan dat het daar om gaat) met de method POST of GET wordt verstuurd. De superglobal array bestaat uit $_POST, $_GET en $_COOKIE.
oke thnx Jip

ik zat indd in een iets andere richting te denken
Ja, hoewel ik $_REQUEST eigenlijk nooit gebruik. Je kunt GET en POST door elkaar gebruiken op één pagina en hoewel het niet vaak voor komt vind ik het dan wel handig dat ik dat in de code ook kan zien, dus werk ik met $_POST en $_GET.
Ikzelf ook, alleen zoals Rafael al zei:

Ja, aangezien de submitknop niet altijd geactiveerd wordt als men op enter drukt ipv op de submit knop te klikken....

Reageren