[HELP ME] PHP Session's

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lorenzo Sipkema

Lorenzo Sipkema

09/06/2015 14:47:13
Quote Anchor link
Hi,

Ik moet een klein scriptje maken wat beveiligt is met een wachtwoord maar ik krijg bepaalde errors die ik niet opgelost krijg

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
<?php
session_start();

$password = "kaas";

if (empty($_POST["password"])) {
    $_SESSION["password"] == false;
    echo "
    <form method='POST'>
    <input type='password' placeholder='Wachtwoord' name='password' />
    <input type='submit' value='Login' />
    </form>
    "
;
    die();
}


if (!empty($_POST["password"]) && $_SESSION["password"] == false) {
    if ($password == $_POST["password"]) {
        $_SESSION["password"] == true;
    }
else {
        echo "Foutief wachtwoord. Probeer het opnieuw";
    }
}


if ($_SESSION["password"] == true) {
    echo "123";
}

?>


Errors =>
Notice: Undefined index: password in C:\xampp\htdocs\test123.php on line 17

Notice: Undefined index: password in C:\xampp\htdocs\test123.php on line 19

Notice: Undefined index: password in C:\xampp\htdocs\test123.php on line 25

Kan iemand mij helpen?
 
PHP hulp

PHP hulp

19/01/2020 10:42:42
 
Ivo P

Ivo P

09/06/2015 14:59:45
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
session_start();

$password = "kaas";

if($_SERVER['REQUEST_METHOD'] == 'POST') {
  if (!empty($_POST["password"]) && $_SESSION["password"] == false) {
      if ($password == $_POST["password"]) {
          $_SESSION["password"] == true;
      }
else {
          echo "Foutief wachtwoord. Probeer het opnieuw";
      }
  }


}

else {

    $_SESSION["password"] == false;
    echo "
    <form method='POST'>
    <input type='password' placeholder='Wachtwoord' name='password' />
    <input type='submit' value='Login' />
    </form>
    "
;
    die();
}



if ($_SESSION["password"] == true) {
    echo "123";
}

?>
 
Henk de Vriep

Henk de Vriep

09/06/2015 15:01:48
Quote Anchor link
Zo moet die beter werken. Om een variabele te setten gebruik je = en om 2 variabelen te vergelijken gebruik je ==

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
<?php

session_start();

$password = "kaas";

if (!isset($_POST["password"]) && !isset($_SESSION['password'])) {
    echo "
    <form method='POST'>
    <input type='password' placeholder='Wachtwoord' name='password' />
    <input type='submit' value='Login' />
    </form>
    "
;
}


if (isset($_POST["password"]) && !isset($_SESSION["password"])) {
    if ($password == $_POST["password"]) {
        $_SESSION["password"] = true;
    }
else {
        echo "Foutief wachtwoord. Probeer het opnieuw";
    }
}


if ($_SESSION["password"] == true) {
    echo "123";
}

?>
Gewijzigd op 09/06/2015 15:03:01 door Henk de Vriep
 
Lorenzo Sipkema

Lorenzo Sipkema

09/06/2015 15:09:54
Quote Anchor link
Oh haha, ik zie het nu pas! bedankt @Henk de Vriep

In je eigen code kan je je eigen fouten niet zien >.<
 
Henk de Vriep

Henk de Vriep

09/06/2015 15:16:32
Quote Anchor link
Lorenzo Sipkema op 09/06/2015 15:09:54:
Oh haha, ik zie het nu pas! bedankt @Henk de Vriep

In je eigen code kan je je eigen fouten niet zien >.<


klopt je leest er vaak overheen, als je regelmatig bezig bent dan gaat dat vanzelf opvallen.

Als je empty gebruikt dat kijkt het script overigens of een variabele empty is. isset gebruiken is beter omdat je dan de notices niet krijgt. Empty kun je beter gebruiken met bijvoorbeeld arrays om te kijken of deze leeg zijn. Vaak zie je dat mensen het volgende doen:

$result is een array met resultaten uit een db query bijvoorbeeld waarvan je in de code niet kunt zien of die gevuld is of niet.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$array = array();

foreach($result as $key => $value){
    $array[$key] = $value;
}


Nu kun je met empty kijken of de array leeg is of niet. Als je hier isset gebruikt dan krijg je altijd een true terug omdat de variabele wel geset is namelijk.
 
Thomas van den Heuvel

Thomas van den Heuvel

09/06/2015 20:36:49
Quote Anchor link
Please, scheid de volgende twee zaken:
- het inloggen zelf
- het controleren of iemand ingelogd is

Dit zijn echt twee verschillende acties.
 
Obelix Idefix

Obelix Idefix

10/06/2015 08:39:53
Quote Anchor link
In je topictitel staat "[HELP ME] PHP Session's".
Ten eerste is dat help me wat overdreven; daar is een forum voor.
En ik mis de vraag / het probleem t.a.v. sessions; je foutmeldingen gaan over Notice: Undefined index
 
Jacco Engel

Jacco Engel

10/06/2015 11:30:37
Quote Anchor link
Hij heeft een session met een key "password" waar hij een undefined index op krijgt.Voila, 1 relatie tussen probleem en sessions
 



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.