login stopt in controle

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Georg Kellersmann

Georg Kellersmann

26/03/2009 09:21:00
Quote Anchor link
Wie helpt?
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)
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
<?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;
    }

 
?>
 
PHP hulp

PHP hulp

08/05/2024 06:07:35
 
Dennis Mertens

Dennis Mertens

26/03/2009 09:27:00
Quote Anchor link
Zet ook error_reporting(E_ALL); bovenaan.
 
Georg Kellersmann

Georg Kellersmann

26/03/2009 11:01:00
Quote Anchor link
Dank Dennis. Heb ik gedaan, maar helaas, geen verschil. Er verschijnt een blank scherm "done". (uiteraard want dat script geeft geen output).
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
 
Willem Jan Z

Willem Jan Z

26/03/2009 11:20:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    ini_set ("display_errors = on");
    // Probeer het eens zo, aangezien je al een error moet krijgen omdat je een argument mist hierboven
    ini_set('display_errors',true);
?>
 
Georg Kellersmann

Georg Kellersmann

27/03/2009 05:39:00
Quote Anchor link
Bedankt WillenJan
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)
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
<?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;
    }

 
?>
 
Willem Jan Z

Willem Jan Z

27/03/2009 07:26:00
Quote Anchor link
Ik heb ook niet gezegd dat je script dan zou werken. Maar je errors zouden zichtbaar moeten worden. Je ini_set zou gewoon niet mogen werken op deze manier :S
Maar je probleem: Wat staat er in functions.inc.php, staat daar een enter/spatie voor of na de
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php ?>


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
 
Georg Kellersmann

Georg Kellersmann

27/03/2009 09:24:00
Quote Anchor link
Bedankt WillemJan
Er stond nog een <html> bovenaan. In xampp was output_buffering aan en dus kon het daar wel.
Opgelost.
ghk
 



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.