Ik heb een simpel php inlog scriptje geschreven, alleen gaat er iets fout, en ik vermoed dat het bij de sessies ligt.
Heeft iemand enig idee wat ik fout doe?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Login form:
<html>
<head>
<title> Admin Login </title>
<link href="loginlayout.css" rel="stylesheet" type="text/css" />
</head>
<body class="banner">
<form name="login" method="post" action="logincheck.php">
<p> </p>
<table border="0" width="225" align="center" bgcolor="#FFFFFF">
<tr>
<td width="219" bgcolor="#333333">
<p align="center"><strong><font color="white">Admin Login</font></strong></p> </td>
</tr>
<tr>
<td width="219">
<table border="0" width="220" align="center" bgcolor="#BFAE80">
<tr>
<td width="71"><span style="font-size:10pt;">Username:</span></td>
<td width="139"><input type="text" name="name"></td>
</tr>
<tr>
<td width="71"><span style="font-size:10pt;">Password:</span></td>
<td width="139"><input type="password" name="password"></td>
</tr>
<tr>
<td width="71"> </td>
<td width="139">
<p align="right"><input type="submit" name="submit" value="Login"></p>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="219" bgcolor="#333333"> </td>
</tr>
</table>
</form>
</body>
</html>
~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
logincheck.php:
<?php
require 'dbconnection.php' ;
$name = $_POST['name'];
$password = $_POST['password'];
$Success=0;
$result=mysql_query("SELECT * FROM admin
WHERE name='$name'
AND password='$password'") or die(mysql_error());
while ($row=mysql_fetch_array($result))
{
$Success=1;
}
if($Success ==1)
{
session_start();
$_SESSION["login"]=$_POST['login'];
header('Location: gelukt.php');
}
else
{
print ("<center><b>The user/password information you provided was incorrect, please try again!</b></center>");
include "login.html";
}
?>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Het gelukt.php is een pagina als test om te weergeven als het gelukt is. Dit staat er in om te checken of je echt ingelogt bent:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<?php
session_start();
if(!isset($_SESSION["login"]))
{
header('Location: login.html');
}
else
{
print ("lalalala gelukt!!1");
}
?>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Verder is er nog een dbconnection.php bestandje. Bij het opgeven van foutieve informatie bij het inloggen krijg ik de foutmelding te zien zoals het hoort. Alleen als ik juiste informatie opgeef, wordt ik terug naar de login gestuurd. Ik denk dat ik iets fout doe met de sessies, maar ik kom er maar niet achter wat. Iemand een idee?
Heeft iemand enig idee wat ik fout doe?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Login form:
<html>
<head>
<title> Admin Login </title>
<link href="loginlayout.css" rel="stylesheet" type="text/css" />
</head>
<body class="banner">
<form name="login" method="post" action="logincheck.php">
<p> </p>
<table border="0" width="225" align="center" bgcolor="#FFFFFF">
<tr>
<td width="219" bgcolor="#333333">
<p align="center"><strong><font color="white">Admin Login</font></strong></p> </td>
</tr>
<tr>
<td width="219">
<table border="0" width="220" align="center" bgcolor="#BFAE80">
<tr>
<td width="71"><span style="font-size:10pt;">Username:</span></td>
<td width="139"><input type="text" name="name"></td>
</tr>
<tr>
<td width="71"><span style="font-size:10pt;">Password:</span></td>
<td width="139"><input type="password" name="password"></td>
</tr>
<tr>
<td width="71"> </td>
<td width="139">
<p align="right"><input type="submit" name="submit" value="Login"></p>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="219" bgcolor="#333333"> </td>
</tr>
</table>
</form>
</body>
</html>
~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
logincheck.php:
<?php
require 'dbconnection.php' ;
$name = $_POST['name'];
$password = $_POST['password'];
$Success=0;
$result=mysql_query("SELECT * FROM admin
WHERE name='$name'
AND password='$password'") or die(mysql_error());
while ($row=mysql_fetch_array($result))
{
$Success=1;
}
if($Success ==1)
{
session_start();
$_SESSION["login"]=$_POST['login'];
header('Location: gelukt.php');
}
else
{
print ("<center><b>The user/password information you provided was incorrect, please try again!</b></center>");
include "login.html";
}
?>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Het gelukt.php is een pagina als test om te weergeven als het gelukt is. Dit staat er in om te checken of je echt ingelogt bent:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<?php
session_start();
if(!isset($_SESSION["login"]))
{
header('Location: login.html');
}
else
{
print ("lalalala gelukt!!1");
}
?>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Verder is er nog een dbconnection.php bestandje. Bij het opgeven van foutieve informatie bij het inloggen krijg ik de foutmelding te zien zoals het hoort. Alleen als ik juiste informatie opgeef, wordt ik terug naar de login gestuurd. Ik denk dat ik iets fout doe met de sessies, maar ik kom er maar niet achter wat. Iemand een idee?