Beste, ik ben een inlogformuliertje aan het maken dat werkt met sessies. Geen cookies omdat je deze kan blokkeren en dan moet je dit weer gaan uitleggen aan mensen die er niets van kennen dus werk ik met sessies.
Nu heb ik een formulier op een pagina staan met 2 velden een gebruikersnaam en wachtwoord. Bij het klikken op de knop wordt de controle gedaan af alles klopt en dit werkt allemaal fijn. Echter bij het aanmaken en/of controleren van de sessie gebeurt er iets waardoor hij geen sessie vindt.
pagina login.php: hier gebeurdt de controle op wachtwoord en gebruikersnaam (werkt allemaal) en wordt de sessie aangemaakt (probleem??)
pagina loginHome.php: deze pagina is de homepagina van het inloggedeelte maar hier gaat er iets mis bij het controleren of de sessie al bestaat
De kans dat er iets héél stoms mis is, is redelijk groot. Ik ben een beginner met php en experimenteer redelijk veel en zie wel waar ik ergens raak maar deze krijg ik echt niet opgelost.
MvG Kevin
Nu heb ik een formulier op een pagina staan met 2 velden een gebruikersnaam en wachtwoord. Bij het klikken op de knop wordt de controle gedaan af alles klopt en dit werkt allemaal fijn. Echter bij het aanmaken en/of controleren van de sessie gebeurt er iets waardoor hij geen sessie vindt.
pagina login.php: hier gebeurdt de controle op wachtwoord en gebruikersnaam (werkt allemaal) en wordt de sessie aangemaakt (probleem??)
PHP:
<?php
$gebruikersnaam = $_POST['login'];
$wachtwoord = $_POST['paswoord'];
$server = "localhost"; //server
$login = "dibadbe_KevinWe"; //login
$password = "3650dibad"; //paswoord
$database = "dibadbe_dibadCompetitie"; //database
$conn=mysql_connect($server,$login, $password) or die(mysql_error());
mysql_select_db($database,$conn) or die(mysql_error());
if (isset($_POST['Inloggen'])) {
if (empty($gebruikersnaam) || empty($wachtwoord)) {
header("Location: http://www.dibad.be/index.php");
}
else {
// Al ingelogd?
if(isset($_SESSION['gebruikersnaam'])) {
header("Location: http://www.dibad.be/inloggen/loginHome.php");
}
else {
$sql = 'SELECT Login, Paswoord FROM Gebruikers
WHERE Login="'. $gebruikersnaam .'"';
$qry = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($qry);
// bij fout het wachtwoord terug proberen
if ($row['Paswoord'] != $wachtwoord) {
header("Location: http://www.dibad.be/index.php");
}
//ingelogd
else {
// Sessie starten.
session_start();
// Sessie aanmaken
$_SESSION['Login'] = $row['Login'];
header("Location: http://www.dibad.be/inloggen/loginHome.php");
}
}
}
}
?>
pagina loginHome.php: deze pagina is de homepagina van het inloggedeelte maar hier gaat er iets mis bij het controleren of de sessie al bestaat
PHP:
<?php
if(isset($_SESSION['Login'])) {
echo "hier ingelogd";
//code die ingelogde mensen te zien krijgen
}
else {
//Degenen die niet zijn ingelogd worden doorgestuurd naar de loginpagina
echo "er is iets fout";
exit;
}
De kans dat er iets héél stoms mis is, is redelijk groot. Ik ben een beginner met php en experimenteer redelijk veel en zie wel waar ik ergens raak maar deze krijg ik echt niet opgelost.
MvG Kevin