IE en Firefox

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rhynix

Rhynix

02/10/2005 10:02:00
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?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>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?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">&nbsp;</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>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?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>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?= $_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>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
}
?>

</body>
</html>
 
PHP hulp

PHP hulp

27/11/2024 11:24:08
 
Lissy Pixel

Lissy Pixel

02/10/2005 10:36:00
Quote Anchor link
Wat werkt niet?
Wat zijn de foutmeldingen?
Waar gaat het fout?

Groet, lissy
 
Rhynix

Rhynix

02/10/2005 10:54:00
Quote Anchor link
Het aanmelde werkt perfect. Wat niet werkt is het inloggen zelf. Heb er nu enkele error meldingen tussengestoken. De melding luidt als volgt:

"Het opgegeven wachtwoord komt niet overeen met het wachtwoord uit de database. De sessie werd terug afgebroken"

Ik heb me aangemeld via firefox, pass wordt via md5 omgezet in database. Kan deze codering er iets me te maken hebben?

code van aanmeldpagina:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
require("connect.php"); // verbinding met de database maken
?>

<html>
<head>
<title>sessies · aanmelden</title>
</head>

<body>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
// als het formulier nog niet is ingevuld
if(!isset($_POST['submit'])) {
?>

<form action="index.php?inh=aanmeld" method="post">
naam <input type="text" name="naam" size="40" maxlength="20" /><br />
wachtwoord <input type="password" name="wacht1" size="40" maxlength="30" /><br />
wachtwoord opnieuw <input type="password" name="wacht2" size="40" maxlength="30" /><br />
<!--
en wat je verder over deze gebruiker bij wilt houden
bijvoorbeeld leeftijd, woonplaats, email, ...
voor het opvragen van het wachtwoord etc. etc.
hier moet je dan ook velden voor in je tabel 'members' aanmaken.
Op deze extra velden moeten hieronder ook controles uitgevoerd worden of ze ingevuld zijn!
-->
<input type="submit" name="submit" value="submit" />
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// formulier gepost, kijk of alle velden ook daadwerkelijk zijn ingevuld
} elseif(trim($_POST['naam']) <> "" && trim($_POST['wacht1']) <> "") {
  // formulier ingevuld - kijk eerst of de gebruiker al bestaat
  $naam = $_POST['naam'];
  $res = mysql_query("SELECT * FROM users WHERE name='".$naam."'") or die(mysql_error());
  if(mysql_num_rows($res) == 0) {
    // geen resultaten - dit is wat we willen
    // kijk of de opgegeven wachtwoorden overeenkomen

    if(!strcmp($_POST['wacht1'], $_POST['wacht2'])) {
      // wachtwoorden komen overeen - sla alle gegevens op in de database
      // naam is al opgehaald uit het formulier

      $wacht = md5($_POST['wacht1']); // versleuteld wachtwoord
      $level = 1;                     // standaard gebruikersniveau
      mysql_query("INSERT INTO users (name, pass, level) VALUES ('".$naam."','".$wacht."',".$level.")") or die(mysql_error());

      // geef melding weer
?>

Je gegevens zijn opgeslagen.<br />
Je kunt <a href="index.php">hier</a> naartoe om in te loggen.<br />
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
    } else {
      // wachtwoorden komen niet overeen
?>

De twee opgegeven wachtwoorden zijn niet hetzelfde.<br />
Druk op de "back" knop van je browser en voer twee identieke wachtwoorden in.<br />
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
   }
  }
else {
    // er bestaat al een gebruiker met deze naam
?>

Er bestaat al een gebruiker met deze naam.<br />
Druk op de "back" knop van je browser en geef een andere naam op.<br />
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
  }
}
else {
  // sommige velden zijn niet ingevuld
?>

Alle velden dienen ingevuld te worden.<br />
Druk op de "back" toets en vul in alle velden wat in.<br />
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
}
?>

</body>
</html>
 
Roy Bongers

Roy Bongers

02/10/2005 11:38:00
Quote Anchor link
't is allemaal server side (sessions) dus ik snap niet waarom je niet in kan loggen :/ . Misschien dat 't nog iets met je browser settings te maken heeft. Accepteerd IE wel cookies?
 
Thijs X

Thijs X

02/10/2005 12:09:00
Quote Anchor link
Lol ik heb net even getest jou site met
username: test
pass: test
en in IE werkt die bij mij perfect hooor!
 
Lissy Pixel

Lissy Pixel

02/10/2005 12:35:00
Quote Anchor link
Roy:
't is allemaal server side (sessions) dus ik snap niet waarom je niet in kan loggen :/ . Misschien dat 't nog iets met je browser settings te maken heeft. Accepteerd IE wel cookies?


Cookies acceptatie heeft te maken met je eigen IE instellingen (Extra - Internet opties - Privacy o.a.)
Dit voor zover voor wat betreft IE.

Groet, lissy
 
Mitch X

Mitch X

02/10/2005 12:45:00
Quote Anchor link
.tk wil ook weleens de boosdoener zijn ;)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.