login stopt in controle
Heb een loginprocedure:
In submap www.domein.com/lgnmp staan:
om in te loggen: login.php
controlebestand: ctrlogin.php
drie beveiligde bestanden:
conf_nl.php
conf_en.php
conf_id.php
Die drie versturen na invullen van enkele gegevens een confirmatiemail in 3 verschillende talen.
Het werkt perfect met localhost (xampp)
Het werkt niet op www.domein.com. maar blijft hangen in ctrlogin.php. Blijkbaar werkt header niet.
display_errors staat aan. Er wordt geen error gemeld.
Vraag: wat is fout of ontbreekt?
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();
include "functions.inc.php";
ini_set ("display_errors = on");
// controle op invoer
if (isset($_POST["tombollogin"]) && controle($_POST["gbrnaam"], md5($_POST["wwrd"]))==true)
{
$_SESSION["login"] = "ingelogd";
$_SESSION["gbrnaam"]="gbrnaam";
$taal=$_POST["taal"];
switch($taal) {
case "nl";
header("location: http://www.domein.com/lgnmp/conf_nl.php");
exit;
case "en";
header("location: http://www.domein.com/lgnmp/conf_en.php");
exit;
case "id";
header("location: http://www.domein.com/lgnmp/conf_id.php");
exit;
}
}
else
if(isset($_POST["wwrd"]) && controle($_POST["gebrnaam"], md5($_POST["wwrd"]))==false)
{
session_unregister("login");
session_unregister("gbrnaam");
header("location: http://www.domein.com/lgnmp/login.php");
exit;
}
?>
session_start();
include "functions.inc.php";
ini_set ("display_errors = on");
// controle op invoer
if (isset($_POST["tombollogin"]) && controle($_POST["gbrnaam"], md5($_POST["wwrd"]))==true)
{
$_SESSION["login"] = "ingelogd";
$_SESSION["gbrnaam"]="gbrnaam";
$taal=$_POST["taal"];
switch($taal) {
case "nl";
header("location: http://www.domein.com/lgnmp/conf_nl.php");
exit;
case "en";
header("location: http://www.domein.com/lgnmp/conf_en.php");
exit;
case "id";
header("location: http://www.domein.com/lgnmp/conf_id.php");
exit;
}
}
else
if(isset($_POST["wwrd"]) && controle($_POST["gebrnaam"], md5($_POST["wwrd"]))==false)
{
session_unregister("login");
session_unregister("gbrnaam");
header("location: http://www.domein.com/lgnmp/login.php");
exit;
}
?>
Zet ook error_reporting(E_ALL); bovenaan.
Trouwens met localhost komen er ook geen errormeldingen (meer) hoewel het altijd aan staat.
Omdat ik vermoedde dat de header het niet doet heb ik de provider gevraagd. Die geven een gelijke php code aan als er in staat en zeggen dat de eader het gewoon moet doen. Zo niet, dan zit er een fout in de php code.
Maar wat is er fout?
ghk
Helaas, ook dat helpt niet.
Heb de headers uitgeschakeld om te testen.
Methode POST werkt en in controlebestand is alles bekend.
SESSION werkt ook.
Het stopt bij header(“location: ...”);
Om te proberen de header vervangen door :
header("Refresh: 5; url=http://www.domein.com/lgnmp/conf_nl.php");
zie code.
Gaat perfect in xampp met localhost maar niet online.
Het probleem zit kennelijk in de header functie. Maar provider zegt “werk wel” en geeft de syntax aan (zelfde).
Er worden absoluut geen errors gemeld, ook niet in de errorlog.
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
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
<?php
session_start();
include "functions.inc.php";
error_reporting(E_ALL);
ini_set ("display_errors, true");
// controle op invoer
if (isset($_POST["tombollogin"]) && controle($_POST["gbrnaam"], md5($_POST["wwrd"]))==true)
{
$_SESSION["login"] = "logged on";
$_SESSION["gbrnaam"]="gbrnaam";
$taal=$_POST["taal"];
//naar beveiligde bestanden
switch($taal) {
case "nl";
echo $_SESSION["login"];
header("Refresh: 5; url=http://www.domein.com/lgnmp/conf_nl.php");
echo $_SESSION["login"];
exit;
case "en";
header("Refresh: 5; url=http://www.domein.com/lgnmp/conf_en.php");
echo $_SESSION["login"];
exit;
case "id";
header("Refresh: 5; url=http://www.domein.com/lgnmp/conf_id.php");
echo $_SESSION["login"];
exit;
}
}
else
if(isset($_POST["wwrd"]) && controle($_POST["gbrnaam"], md5($_POST["wwrd"]))==false)
{
session_unregister("login");
session_unregister("gbrnaam");
header("location: http://www.domein.com/lgnmp/login.php");
exit;
}
?>
session_start();
include "functions.inc.php";
error_reporting(E_ALL);
ini_set ("display_errors, true");
// controle op invoer
if (isset($_POST["tombollogin"]) && controle($_POST["gbrnaam"], md5($_POST["wwrd"]))==true)
{
$_SESSION["login"] = "logged on";
$_SESSION["gbrnaam"]="gbrnaam";
$taal=$_POST["taal"];
//naar beveiligde bestanden
switch($taal) {
case "nl";
echo $_SESSION["login"];
header("Refresh: 5; url=http://www.domein.com/lgnmp/conf_nl.php");
echo $_SESSION["login"];
exit;
case "en";
header("Refresh: 5; url=http://www.domein.com/lgnmp/conf_en.php");
echo $_SESSION["login"];
exit;
case "id";
header("Refresh: 5; url=http://www.domein.com/lgnmp/conf_id.php");
echo $_SESSION["login"];
exit;
}
}
else
if(isset($_POST["wwrd"]) && controle($_POST["gbrnaam"], md5($_POST["wwrd"]))==false)
{
session_unregister("login");
session_unregister("gbrnaam");
header("location: http://www.domein.com/lgnmp/login.php");
exit;
}
?>
Maar je probleem: Wat staat er in functions.inc.php, staat daar een enter/spatie voor of na de
Of staat er misschien gewoon HTML in?
edit: Misschien ook even proberen: creeër gewoon een error. Zet gewoon wat tekens neer, als die er ook geen error opleveren, klopt er dus nog steeds iets niet met je errors.
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
Er stond nog een <html> bovenaan. In xampp was output_buffering aan en dus kon het daar wel.
Opgelost.
ghk