Session niet geaccepteerd door IE??
Ik ben bezig met een site voor een guild van GuildWars maar nu stuit ik op een probleem. Ikzelf werk met FireFox en daar werkt m'n inloggen wel, maar de eigenaar van de guild gebruikt Internet Explorer en als hij dan in wilt loggen dan komt hij gewoon weer terug bij de beginpagina omdat de sessions niet op worden geslagen denk ik.
Dit is mijn script miss wel handig:
Code (php)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
include_once 'config.php';
if(isset($_POST['login']))
{
if(empty($_POST['naam']) || empty($_POST['wachtwoord']))
{
echo'<b class="gold">Error</b><br><span class="smallivory">De gegevens zijn niet volledig ingevuld!<br> Controleer je gegevens om door te kunnen gaan.<br><br></span>';
}else{
$sql = mysql_query("SELECT gebruikersnaam,wachtwoord FROM leden WHERE gebruikersnaam='{$_POST['naam']}'") or die (mysql_error());
$count = mysql_num_rows($sql);
if($count == '0') {
echo'<b class="gold">Error</b><br><span class="smallivory">De gegevens kloppen niet!<br> Controleer je gegevens om door te kunnen gaan.<br><br></span>';
}else{
if(($data = mysql_fetch_object($sql))) {
$wachtwoord = md5($_POST['wachtwoord']);
if($data->wachtwoord != $wachtwoord)
{
echo'<b class="gold">Error</b><br><span class="smallivory">De gegevens kloppen niet!<br> Controleer je gegevens om door te kunnen gaan.<br><br></span>';
}else{
$_SESSION['otdl'] = 1;
$_SESSION['id'] = $data->gebruikersnaam;
echo'<b class="gold">Gelukt</b><br><span class="smallivory">Je bent ingelogd!<br> Je wordt doorgestuurd naar de hoofdpagina.<br><br></span>';
}
}
}
}
}else{
echo'
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0"><form method="post">
<tbody>
<tr>
<td><b class="gold">Inloggen</b></td>
</tr>
<tr>
<td><br></td>
</tr>
<tr>
<td><span class="smallivory">Account Name:</span></td>
</tr>
<tr>
<td colspan="2"><span class="smallivory"><input name="naam"></span></td>
</tr>
<tr>
<td><span class="smallivory">Password:</span></td>
</tr>
<tr>
<td colspan="2"><span class="smallivory"><input name="wachtwoord" type="password"></span></td>
</tr>
<tr><td> </td></tr>
<tr>
<td colspan="2"><span class="smallivory"><input name="login" type="submit" value="Log In"></span></td>
</tr>
<tr><td> </td></tr>
</tbody></form></table>
</td>
<td width="100%">
<table border="0" cellpadding="0" cellspacing="0" align="right"><form method="post">
<tbody>
<tr>
<td><span class="smallivory"><a href="index.php?message=aanmelden">Registreren</a></span></td>
</tr>
<tr>
<td><span class="smallivory"><a href="index.php?message=aanmelden">Nieuw wachtwoord sturen</a></span></td>
</tr>
<tr><td> </td></tr>
</tbody></form></table>
</td>
</tr>
</table>
';
}
?>
include_once 'config.php';
if(isset($_POST['login']))
{
if(empty($_POST['naam']) || empty($_POST['wachtwoord']))
{
echo'<b class="gold">Error</b><br><span class="smallivory">De gegevens zijn niet volledig ingevuld!<br> Controleer je gegevens om door te kunnen gaan.<br><br></span>';
}else{
$sql = mysql_query("SELECT gebruikersnaam,wachtwoord FROM leden WHERE gebruikersnaam='{$_POST['naam']}'") or die (mysql_error());
$count = mysql_num_rows($sql);
if($count == '0') {
echo'<b class="gold">Error</b><br><span class="smallivory">De gegevens kloppen niet!<br> Controleer je gegevens om door te kunnen gaan.<br><br></span>';
}else{
if(($data = mysql_fetch_object($sql))) {
$wachtwoord = md5($_POST['wachtwoord']);
if($data->wachtwoord != $wachtwoord)
{
echo'<b class="gold">Error</b><br><span class="smallivory">De gegevens kloppen niet!<br> Controleer je gegevens om door te kunnen gaan.<br><br></span>';
}else{
$_SESSION['otdl'] = 1;
$_SESSION['id'] = $data->gebruikersnaam;
echo'<b class="gold">Gelukt</b><br><span class="smallivory">Je bent ingelogd!<br> Je wordt doorgestuurd naar de hoofdpagina.<br><br></span>';
}
}
}
}
}else{
echo'
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td>
<table border="0" cellpadding="0" cellspacing="0"><form method="post">
<tbody>
<tr>
<td><b class="gold">Inloggen</b></td>
</tr>
<tr>
<td><br></td>
</tr>
<tr>
<td><span class="smallivory">Account Name:</span></td>
</tr>
<tr>
<td colspan="2"><span class="smallivory"><input name="naam"></span></td>
</tr>
<tr>
<td><span class="smallivory">Password:</span></td>
</tr>
<tr>
<td colspan="2"><span class="smallivory"><input name="wachtwoord" type="password"></span></td>
</tr>
<tr><td> </td></tr>
<tr>
<td colspan="2"><span class="smallivory"><input name="login" type="submit" value="Log In"></span></td>
</tr>
<tr><td> </td></tr>
</tbody></form></table>
</td>
<td width="100%">
<table border="0" cellpadding="0" cellspacing="0" align="right"><form method="post">
<tbody>
<tr>
<td><span class="smallivory"><a href="index.php?message=aanmelden">Registreren</a></span></td>
</tr>
<tr>
<td><span class="smallivory"><a href="index.php?message=aanmelden">Nieuw wachtwoord sturen</a></span></td>
</tr>
<tr><td> </td></tr>
</tbody></form></table>
</td>
</tr>
</table>
';
}
?>
Mvg Mboshoven
Ik zie geen session_start() boven aan je script staan?
Wat staat er in je config.php?
Staan zijn cookies mischien uit?
en cookies werk ik helemaal niet mee..
Code (php)
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
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
<?php
session_start();
@mysql_connect("localhost", "root")or die(mysql_error());
@mysql_select_db("gw")or die(mysql_error());
$dbres = mysql_query("SELECT * FROM `leden` WHERE `gebruikersnaam`='{$_SESSION['id']}'");
$list = mysql_fetch_object($dbres);
$sql = mysql_query("SELECT status FROM leden");
while($rij = mysql_fetch_assoc($sql))
{
if($rij['status'] == '1')
{
$rank = 'Member';
}elseif($rij['status'] == '2')
{
$rank = 'Officier';
}elseif($rij['status'] == '3')
{
$rank = 'Guild Leader';
}elseif($rij['status'] == '4')
{
$rank = 'Hulp Leader';
}elseif($rij['status'] == '5')
{
$rank = 'Webmaster';
}
}
?>
session_start();
@mysql_connect("localhost", "root")or die(mysql_error());
@mysql_select_db("gw")or die(mysql_error());
$dbres = mysql_query("SELECT * FROM `leden` WHERE `gebruikersnaam`='{$_SESSION['id']}'");
$list = mysql_fetch_object($dbres);
$sql = mysql_query("SELECT status FROM leden");
while($rij = mysql_fetch_assoc($sql))
{
if($rij['status'] == '1')
{
$rank = 'Member';
}elseif($rij['status'] == '2')
{
$rank = 'Officier';
}elseif($rij['status'] == '3')
{
$rank = 'Guild Leader';
}elseif($rij['status'] == '4')
{
$rank = 'Hulp Leader';
}elseif($rij['status'] == '5')
{
$rank = 'Webmaster';
}
}
?>
Maar vraag eerst maar eens na of hij zijn 'beveiliging' op 'overdreven hoog' heeft staan, waardoor hij totaal geen cookies accepteert.
Jelmer schreef op 01.11.2006 15:47:
session_id wordt opgeslagen in een cookie meestal, dus waneer cookies niet worden geaccepteerd, zullen je sessies het ook niet doen. Tenzij je session_id() meegeeft met iedere url.
Maar vraag eerst maar eens na of hij zijn 'beveiliging' op 'overdreven hoog' heeft staan, waardoor hij totaal geen cookies accepteert.
Maar vraag eerst maar eens na of hij zijn 'beveiliging' op 'overdreven hoog' heeft staan, waardoor hij totaal geen cookies accepteert.
Daarom vroeg ik het
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
ligt dan aan het script lijkt me
Kan niet aan het script liggen. PHp is SERVERSIDE stuurt alleen maar HTML terug
waarom doet hij het dan in firefox wel????????????
Zet de beveiliging maar eens helemaal uit, dan doet die het waarschijnlijk wel
Ik heb hem net op zeer laag gezet en tog doet hij het niet..
mischien wordt het alleen voor jouw site niet toegestaan.. (dat je het prongelijk in een lijst met geen cookies van deze site toestaan hebt gezet.. of er een woord in de url zit waardoor hij er automatisch is ingezet..)
srry hoor maar is dat niet een beetje onzin..
Met IE weet je het nooit...
http://bugs.php.net/bug.php?id=16263
Zitten ook oplossingen bij (schijnt een bug te zijn in geupdate IE)
Only IE 5 and IE 5.5 After login, any link on the page to a file with
session_start() sets new (empty) session, and therefore am returned to
login page.
IE 6, Opera and Firefox all work correctly.
Ik zit met hetzelfde probleem, heb dit gevonden op Zitten ook oplossingen bij (schijnt een bug te zijn in geupdate IE)
Only IE 5 and IE 5.5 After login, any link on the page to a file with
session_start() sets new (empty) session, and therefore am returned to
login page.
IE 6, Opera and Firefox all work correctly.
Johan schreef op 12.02.2007 12:56:
... schijnt een bug te zijn in geupdate IE .....
IE IS een bug. ;-)