sessio en cookie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Reza

reza

15/12/2006 09:31:00
Quote Anchor link
Ik heb een beveilig pagina met session en cookie en werkt prima
Maar als ik browser opnieuw openen ik moet weer inloggen .
Waar zit ik fout ? any help welkom en hier is de code .

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
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
session_start(); // sessie beginnen
// controleren of pagina correct is aangeroepen.

 
if (!empty($_POST)){
    include("inc_connect.php");
    if (isset($_REQUEST['email'])) {

    // Gebruikersnaam lezen uit een formulier of cookie:
    if (isset($_POST['email'])) {
        $gebruikersnaam = $_POST['email'];
    }
elseif (isset($_COOKIE['email'])) {
        $gebruikersnaam = $_COOKIE['email'];
    }
else {
        inloggen();
    }

    $gebruikersnaam = trim(strip_tags($gebruikersnaam));

    // Wachtwoord lezen uit een formulier of cookie:
    if (isset($_POST['wachtwoord'])) {
        $wachtwoord = $_POST['wachtwoord'];
    }
elseif (isset($_COOKIE['wachtwoord'])) {
        $wachtwoord = $_COOKIE['wachtwoord'];
    }
else {
        inloggen($gebruikersnaam);
    }

    $wachtwoord = trim(strip_tags($wachtwoord));
     $verloopt_op = time() + 7776000;
                // Gebruikersnaam opslaan in een cookie:
                setcookie("email", $gebruikersnaam, $verloopt_op);
                // Wachtwoord naar keuze opslaan in een cookie:
                if (isset($_POST['wo'])) {
                    if ($_POST['wo'] == 1) {
                        setcookie("wachtwoord", $wachtwoord, $verloopt_op);
                    }
                }
  
                
     // Gebruikersnaam lezen uit een formulier of cookie:
  
    $query = "SELECT * FROM users
                WHERE email='"
. $_POST["email"] ."'
                AND wachtwoord='"
. $_POST["wachtwoord"]. "'";
    $result = mysql_query($query) or die("FOUT : " . mysql_error());
    if (mysql_num_rows($result) > 0){
        // e-mailadres gevonden, registreer gegevens in session
                $username = $_POST["email"];
                $wachtwoord = $_POST["wachtwoord"];
                session_register("username");
                session_register("wachtwoord");

        
        header("Location: beveiligd.php");
        exit();
    }
else{
            // geen e-mail adres gevonden, of ongeldig wachtwoord.
          $tekst = "U hebt geen geldige combinatie van e-mailadres en
                wachtwoord opgegeven. Maak een keuze: <br>
                <a href=\"login.php\">Opnieuw inloggen</a><br>
                <a href=\"register.php\">Hier registreren</a><br>"
;
            die($tekst);
        }
}
else{
    // pagina was incorrect aangeroepen, direct doorsturen naar login.php
    header("Location: login.php");
}

?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
exit;
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Reza
 
PHP hulp

PHP hulp

26/04/2024 00:53:28
 
Jurgen assaasas

Jurgen assaasas

15/12/2006 09:36:00
Quote Anchor link
Ik zie nergens waar jij controlleert op een cookie. Je cookie wordt wel gemaakt. Maar je controlleert er nergens op.
 
Reza

reza

15/12/2006 09:40:00
Quote Anchor link
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
<?
if (isset($_POST['email'])) {
        $gebruikersnaam = $_POST['email'];
    }
elseif (isset($_COOKIE['email'])) {
        $gebruikersnaam = $_COOKIE['email'];
    }
else {
        inloggen();
    }

    $gebruikersnaam = trim(strip_tags($gebruikersnaam));

    // Wachtwoord lezen uit een formulier of cookie:
    if (isset($_POST['wachtwoord'])) {
        $wachtwoord = $_POST['wachtwoord'];
    }
elseif (isset($_COOKIE['wachtwoord'])) {
        $wachtwoord = $_COOKIE['wachtwoord'];
    }
else {
        inloggen($gebruikersnaam);
?>

hier controlleert
Gewijzigd op 01/01/1970 01:00:00 door reza
 
Reza

reza

15/12/2006 10:05:00
Quote Anchor link
Waar zijn jullie allemaal
Edit:

NIET BUMPEN, of ik sluit je topic
Gewijzigd op 01/01/1970 01:00:00 door reza
 
Jurgen assaasas

Jurgen assaasas

15/12/2006 10:08:00
Quote Anchor link
Misschien moet je wat specifieker zijn niemand heeft zin om zo'n lap code te controleren. Naar aanleiding van je probleem denk ik dat het ligt bij de cookies. Sessie's worden nl. beeindigd als de browser sluit dus dat stukje werkt.

Brengt duidelijk naar voren wat er wel gebeurd en wat niet. Ook raad ik aan Nederlandse zinnen te gebruiken. "Hier controlleert" is geen zin.
 
Jan geen

Jan geen

15/12/2006 10:17:00
Quote Anchor link
sessies verlopen idd wanneer je de browser sluit, verder in je query gebruik je weer $_POST misschien dat daar de fout zit?

verder doe je dit: session_register("username"); volgens mij is dit oude methode, je gebruikt wel $_COOKIE dat kan ook voor sessies, $_SESSION['username'] = $username.
 
Robert Deiman

Robert Deiman

15/12/2006 10:24:00
Quote Anchor link
Begin je scriptje eens met:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
 
Reza

reza

15/12/2006 10:38:00
Quote Anchor link
Geeft waring en in bevlieg pagina begon ik onder staande code misschien hier zit ik fout?
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php session_start(); ?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if (!isset($_SESSION["username"])){
    $tekst = "<h2>U bent nog niet aangemeld.</h2>
        U kunt <a href=\"login.php\">hier inloggen</a> of<br>
        U kunt zich <a href=\"register.php\">hier registreren</a>"
;
    echo($tekst);
}
else{
?>
 
Robert Deiman

Robert Deiman

15/12/2006 13:29:00
Quote Anchor link
En zet die 2 regels eens meteen onder de regel met session_start();
 
Reza

reza

15/12/2006 13:33:00
Quote Anchor link
ja .
 
Robert Deiman

Robert Deiman

15/12/2006 13:40:00
Quote Anchor link
Geeft die dan nog dezelfde melding? Dan staat de session_start(); niet bovenaan in de php pagina.

zie ook:

http://www.phphulp.nl/php/faq/#2
 
Reza

reza

15/12/2006 13:45:00
Quote Anchor link
Ik snap niet wat bedoel je ?
 



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.