loginscript - uitloggen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Jac E

Jac E

05/11/2014 08:13:56
Quote Anchor link
Ik heb een php loginscript met sessions. Ik heb alleen een probleem. Er zit ook een uitlog functie op. Ik merk dat wanneer ik uitlog ik hierna niet meer kan inloggen.
Wanneer ik IE helemaal afsluit en weer opstart dan werkt het weer, ik kan weer inloggen. Het bijzondere is dat ik met Google Chrome minder problemen heb. Komt iemand dit probleem bekend voor?
 
PHP hulp

PHP hulp

28/04/2024 21:56:32
 
Bart V B

Bart V B

05/11/2014 08:22:50
Quote Anchor link
Misschien dat je wat relevante code kunt laten zien? Ander word het wat lastig gissen.
 
Jac E

Jac E

05/11/2014 12:22: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
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
require 'core/init.php';
$general->logged_in_protect();

if (empty($_POST) === false) {

    $username = trim($_POST['username']);
    $password = trim($_POST['password']);

    if (empty($username) === true || empty($password) === true) {
        $errors[] = 'error';
    }
else if ($users->user_exists($username) === false) {
        $errors[] = 'error';
    }
else if ($users->email_confirmed($username) === false) {
        $errors[] = 'error ';
    }
else {
        if (strlen($password) > 18) {
        $errors[] = 'error';
        }

        $login = $users->login($username, $password);
        if ($login === false) {
        $errors[] = 'error';
        }

        
        if($administratie="Admin")
        {

        session_regenerate_id(true);// destroying the old session id and creating a new one
        $_SESSION['id'] =  $login;            
        $_SESSION['username'] = $username;

        // Variabelen in session
        $_SESSION['administratie'] = $administratie;

        header("Location: http://www.website.nl/dashboard.php");
        exit();
        }

                            
        else {
        session_regenerate_id(true);// destroying the old session id and creating a new one
        $_SESSION['id'] =  $login;            
        $_SESSION['username'] = $username;                        
        
        // Variabelen in session         
        // $_SESSION['administratie'] = $administratie;

            
        header('Location: menu_ingelogd.php');
        exit();
        }
    }
}

?>

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="css/style.css" >
    <title>Login</title>
</head>
<body>    
    <div id="content_inlog">
        <h2>Login</h2><p>

        <?php
        if(empty($errors) === false){
            echo '<p>' . implode('</p><p>', $errors) . '</p>';    
        }

        ?>


        <form method="post" action="">
            <h1>Gerbruikersnaam:</h1>
            <input type="text" name="username" value="<?php if(isset($_POST['username'])) echo htmlentities($_POST['username']); ?>" />
            <h1>Wachtwoord:</h1>
            <input type="password" name="password" />
            <br>
            <br>
            <br>
            <input type="submit" name="submit" value="verzenden" />
        </form>
        <br>
        <a href="confirm-recover.php">Uw gebruikersnaam of wachtwoord vergeten?</a>

    </div>
</body>
</html>




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();

require 'check_time_login.php';
require 'connect/database.php';
require 'classes/users.php';
require 'classes/general.php';
require 'classes/bcrypt.php';

// error_reporting(0);

$users         = new Users($db);
$general     = new General();
$bcrypt     = new Bcrypt(12);

$errors = array();

if ($general->logged_in() === true)  {
    $user_id     = $_SESSION['id'];
    $username     = $_SESSION['user'];    
    $administratie    = $_SESSION['administratie'];
    
    $user         = $users->userdata($user_id);
}


ob_start(); // Added to avoid a common error of 'header already sent'
[/code]
 
- SanThe -

- SanThe -

05/11/2014 13:04:25
Quote Anchor link
Dit is geen vergelijking:
if($administratie="Admin")

Gebruik == of ===
 
Jac E

Jac E

05/11/2014 20:07:43
Quote Anchor link
Ik heb er == van gemaakt. Dank je voor de tip. Maar helaas. Bij IE kan ik nog steeds na verloop van tijd niet meer inloggen en het lijkt of de website niet meer te bereiken is. Ik krijg de melding "Deze pagina kan niet worden weergegeven". Op mijn mobiel en via Google Chrome is de website wel bereikbaar. Het inloggen lukt dan ook. Ik begrijp het niet. Wat is aan IE anders, of wat doe ik fout...

Toevoeging op 05/11/2014 20:26:36:

Heb zitten experimenteren net. Als ik niet meer kan inloggen en bestand logout.php handmatig oproep via het adresbalk kan ik hierna weer wel inloggen. Dat is vreemd. Als ik "uitloggen" doe dan wordt logout.php al aangeroepen. Dat maakt het helemaal bijzonder.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12

<?php
session_start();
session_unset();
unset($_SESSION);
session_destroy();
session_regenerate_id();
unset ($array);  
ob_end_clean();
header('Location:index.php');
mysqli_close($con);
?>
Gewijzigd op 05/11/2014 20:28:36 door Jac E
 
- SanThe -

- SanThe -

05/11/2014 20:29:35
Quote Anchor link
Twee keer session_start() zal een error geven.
 
Jac E

Jac E

07/11/2014 08:06:09
Quote Anchor link
Mooi. Doet het nu. Bedankt.
 



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.