ik heb zopas een (bijna) volledige site gemaakt, inclusief een login. De site heb ik tot nu toe altijd getest met FireFox. Hiermee werkte mijn login perfect. Maar nu heb ik deze getest in Internet Explorer, en kom tot de conclusie dat mijn login hiermee totaal NIET werkt!
Is er iemand die hiervoor een verklaring heeft, en een eventuele oplossing?
Mijn site: www.furiousfightersclan.tk
De login-pagina ziet er als volgt uit:
<?php
require("connect.php"); // connectie met database maken en database selecteren
session_start(); // start een sessie of zet een sessie voort
// controleer hier of iemand inlogt - dit moet _voor_ de <HTML>-tag gebeuren gebeuren
if(isset($_POST['login'])) {
if(trim($_POST['naam']) <> "" && trim($_POST['wacht']) <> "") {
// naam en wachtwoord zijn ingevuld. Haal het (versleutelde) wachtwoord en
// het gebruikersniveau dat bij deze gebruikersnaam hoort uit de database op
// en vergelijk dit wachtwoord met het in het formulier opgegeven wachtwoord.
$naam = $_POST['naam'];
$wacht = md5($_POST['wacht']);
$res = mysql_query("SELECT id, pass, level FROM users where name='".$naam."'") or die(mysql_error());
// Als er een resultaat is, oftewel er bestaat een gebruiker met de naam $naam
if(mysql_num_rows($res) > 0) {
$row = mysql_fetch_assoc($res);
// aanname: het wachtwoord in de database is eenmalig gehashed mbv de functie md5()
// vergelijk het opgehaalde wachtwoord met een versleutelde versie van het in het
// formulier opgegeven wachtwoord
if(!strcmp($wacht, $row['pass'])) {
// alle gegevens kloppen
// v1.2 extra functionaliteit, onthouden login
// wil de gebruiker zijn gegevens onthouden ?
if(isset($_POST['memory'])) {
// set cookie (voor 2 maanden) en onthoud het IP
// gebruik hierbij het id van de gebruiker
setcookie("login_cookie", $row['id'].";".$row['pass'], time()+3600*24*31*2, "/");
$ip = $_SERVER['REMOTE_ADDR'];
mysql_query("UPDATE users SET last_ip='".$ip."' WHERE id=".$row['id']) or die(mysql_error());
}
// vul sessievariabelen
$_SESSION['suser'] = $naam; // gebruikersnaam van ingelogd persoon
$_SESSION['slevel'] = $row['level']; // bijbehorende gebruikersniveau
$_SESSION['stime'] = time(); // de huidige tijd
$_SESSION['smaxidle'] = 60 * 60; // het aantal seconden inactiviteit
} else {
// wachtwoorden komen niet overeen, breek de sessie weer af
$_SESSION = array();
session_destroy();
}
// geef de resultaten van deze query weer vrij
unset($row);
mysql_free_result($res);
}
// ververs, of de gebruikersnaam/wachtwoord combinatie nou klopt of niet, de pagina
header("Location: index.php");
}
}
?>
<html>
<head>
<title>sessies · login</title>
</head>
<body>
<?php
// als de (een willekeurige) sessievariabele suser in het sessie-array nog geen waarde heeft
// (dus als iemand nog niet is ingelogd)
if(!isset($_SESSION['suser'])) {
?>
<TABLE width="95%" border="1" align="center" cellPadding="0" cellSpacing="0" borderColor="#61717a" bgColor="#647984">
<TR vAlign=top>
<TD style="FONT-SIZE: 13px; COLOR: #ffffff" borderColor="#7b8e98" align="center"><TABLE height="100%" cellSpacing="0" cellPadding="0" width="95%" border="0">
<TR>
<TD style="FONT-SIZE: 12px; COLOR: #ffffff"><B>Inloggen</B></TD>
<TD align="right" width="63" height="20"><IMG src="../images/Furious_Fighterslogo.gif" width="100" height="20"> </TD>
</TR>
</TABLE></TD>
</TR>
<TR>
<TD style="BORDER-TOP: 0px; FONT-SIZE: 12px; COLOR: #ffffff; BORDER-BOTTOM: 0px" borderColor="#7b8e98" align="center" bgColor="#52646d"><BR>
<TABLE height="100%" cellSpacing="0" cellPadding="0" width="95%" border="0">
<TR>
<TD align="center" style="FONT-SIZE: 12px; COLOR: #ffffff"><form action="index.php?inh=login" method="post">
<table width="30%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%" style="FONT-SIZE: 12px; COLOR: #ffffff"><div align="right">gebruikersnaam : </div></td>
<td width="50%" style="FONT-SIZE: 12px; COLOR: #ffffff">
<div align="left">
<input type="text" name="naam" size="15">
</div></td>
</tr>
<tr>
<td style="FONT-SIZE: 12px; COLOR: #ffffff"><div align="right">wachtwoord : </div></td>
<td style="FONT-SIZE: 12px; COLOR: #ffffff">
<div align="left">
<input type="password" name="wacht" size="15">
</div></td>
</tr>
<tr>
<td style="FONT-SIZE: 12px; COLOR: #ffffff" colspan="2"><div align="center">
<input type="checkbox" name="memory" value="1">
onthoud mijn login (gebruikt cookie)</div></td>
</tr>
<tr>
<td style="FONT-SIZE: 12px; COLOR: #ffffff" colspan="2"> </td>
</tr>
<tr>
<td style="FONT-SIZE: 12px; COLOR: #ffffff" colspan="2"><div align="center">
<input type="submit" name="login" value="log in">
</div></td>
</tr>
</table>
<br />
<br>
</form> </TD>
</TR>
</TABLE></TD>
</TR>
<TR vAlign="top">
<TD style="FONT-SIZE: 10px; COLOR: #ffffff" borderColor="#7b8e98" align="center"><TABLE height="100%" cellSpacing="0" cellPadding="0" width="95%" border="0">
<TR>
<TD style="FONT-SIZE: 10px; COLOR: #ffffff">Written by Rhynix</TD>
</TR>
</TABLE></TD>
</TR>
</TABLE>
<?php
} else {
// de gebruiker is ingelogd - geef een welkomstboodschap oid
// hier kun je tevens kijken of alle sessievariabelen de goede
// waarden hebben (debugging)
?>
<TABLE width="95%" border="1" align="center" cellPadding="0" cellSpacing="0" borderColor="#61717a" bgColor="#647984">
<TR vAlign=top>
<TD style="FONT-SIZE: 13px; COLOR: #ffffff" borderColor="#7b8e98" align="center">
<TABLE height="100%" cellSpacing="0" cellPadding="0" width="95%" border="0">
<TR>
<TD style="FONT-SIZE: 12px; COLOR: #ffffff"><B>Voorlopige status </B></TD>
<TD align="right" width="63" height="20">
<IMG src="../images/Furious_Fighterslogo.gif" width="100" height="20">
</TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD style="BORDER-TOP: 0px; FONT-SIZE: 12px; COLOR: #ffffff; BORDER-BOTTOM: 0px" borderColor="#7b8e98" align="center" bgColor="#52646d">
<BR>
<TABLE height="100%" cellSpacing="0" cellPadding="0" width="95%" border="0">
<TR>
<TD style="FONT-SIZE: 12px; COLOR: #ffffff"><p>Welcome <b><?= $_SESSION['suser'] ?></b>,</p>
<p>Je bent nu ingelogt,<br>
hou er rekening mee dat<br>
je automatisch uitgelogt wordt na 60 minuten.</p>
<p>Tenzij je gekozen hebt om je login gegevens te onthouden.</p>
<p>Je wordt automatisch doorverwezen na 15 seconden, of<br>
<a href="index.php">Klik hier om het zelf te doen.</a></p>
<p><br>
<META HTTP-EQUIV='refresh' CONTENT='15; URL=index.php'>
<br>
</p></TD>
</TR>
</TABLE>
</TD>
</TR>
<TR vAlign="top">
<TD style="FONT-SIZE: 10px; COLOR: #ffffff" borderColor="#7b8e98" align="center">
<TABLE height="100%" cellSpacing="0" cellPadding="0" width="95%" border="0">
<TR>
<TD style="FONT-SIZE: 10px; COLOR: #ffffff">Written by Rhynix</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
<?php
}
?>
</body>
</html>
629 views