Ik heb een login scriptje dat ik al een poosje online gebruik, en wat goed werkt.
Het werkt alsvolgt:
========
functions.php
========
========
login.php
========
Formpje weergeven, daarna de functie login($nickname, $password) aanroepen.
========
index.php, eigenlijk alle andere .php files
========
Eerst logincheck() aanroepen, daarna de pagina zelf weergeven.
Online werkt dit. Offline op mijn testserver ook.
Zodra ik echter de login.php en index.php kopieer naar een andere map en er een andere database aan hang, krijg ik in Firefox dit bericht zodra ik inlog:
Firefox heeft ontdekt dat deze pagina door wordt gelinkt op een manier die niet eindigd.
Dit kan komen door het uitschakelen van cookies.
IE doet dan helemaal niks meer, daar is het IE voor natuurlijk
Ik weet niet hoe dit nu komt, ben er al een paar uur op aan het debuggen, maar wat ik ook doe, ik krijg m niet goed aan de praat...
Het werkt alsvolgt:
========
functions.php
========
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
| function logincheck() { session_start(); if(!isset($_SESSION['userid'])) { if(isset($_COOKIE['nickname']) && isset($_COOKIE['password'])) { $nickname = addslashes($_COOKIE['nickname']); $password = addslashes($_COOKIE['password']); login($nickname, $password); } else { header('Location: login.php'); } } } function login($nickname, $password) { session_start(); global $db; if ($row = $db->query_first("SELECT * FROM `users` WHERE `nickname` = '{$nickname}' AND `password` = '{$password}' LIMIT 1")) { setcookie('nickname', $nickname, time() + 31536000); setcookie('password', $password, time() + 31536000); $_SESSION['userid'] = $row['id_user']; $_SESSION['template'] = $row['template_user']; header('Location: index.php'); } else { setcookie('nickname', $nickname, time() - 3600); setcookie('password', $password, time() - 3600); header('Location: login.php'); } } function logout(){ session_start(); setcookie('nickname', '', time()-3600); setcookie('password', '', time()-3600); $_SESSION['userid'] = false; $_SESSION['template'] = false; session_destroy(); } |
========
login.php
========
Formpje weergeven, daarna de functie login($nickname, $password) aanroepen.
========
index.php, eigenlijk alle andere .php files
========
Eerst logincheck() aanroepen, daarna de pagina zelf weergeven.
Online werkt dit. Offline op mijn testserver ook.
Zodra ik echter de login.php en index.php kopieer naar een andere map en er een andere database aan hang, krijg ik in Firefox dit bericht zodra ik inlog:
Firefox heeft ontdekt dat deze pagina door wordt gelinkt op een manier die niet eindigd.
Dit kan komen door het uitschakelen van cookies.
IE doet dan helemaal niks meer, daar is het IE voor natuurlijk
Ik weet niet hoe dit nu komt, ben er al een paar uur op aan het debuggen, maar wat ik ook doe, ik krijg m niet goed aan de praat...
[ Voor 19% gewijzigd door _eXistenZ_ op 21-06-2006 13:29 ]
There is no replacement for displacement!