Inlognaam in sessie meenemen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Theo Huitema

Theo Huitema

30/09/2017 10:40:08
Quote Anchor link
Ben bezig mijn website met PHP en Mysql te herschrijven, min of meer omdat provider de update maakt van versie 5.6 naar versie 7.
Heb inmiddels een eenvoudig inlogscript (als jullie nog gratis uitgebreider script weten...)
Maar lukt me niet om inlognaam mee te nemen naar andere pagina.

Het loginscript gebruikt S_Session
session_start();
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
<?php
require_once('connect.php');

if(isset($_POST) & !empty($_POST)){
    $username = mysqli_real_escape_string($connection, $_POST['username']);
    $password = md5($_POST['password']);

    $sql = "SELECT * FROM `login` WHERE username='$username' AND password='$password'";
    $result = mysqli_query($connection, $sql);
    $count = mysqli_num_rows($result);
    if($count == 1){
        [
b]$_SESSION['username'] = $username;[/b]
    }
else{
        $fmsg = "Invalid Username/Password";
    }
}

?>


Op de pagina na inlog wil ik de inlognaam meenemen en gebruiken
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$username
=$_SESSION['username'];
echo "user  : $username <br>"   ;
?>

Maar de gebruiksnaam gaat niet mee????
Wat doe ik fout??
- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.

Tevens heb ik de topic-titel aangepast naar iets duidelijkers. Gelieve hier voortaan op te letten.
Alvast bedankt!
Gewijzigd op 30/09/2017 11:54:08 door - Ariën -
 
PHP hulp

PHP hulp

18/12/2024 14:55:12
 
- SanThe -

- SanThe -

30/09/2017 11:08:33
Quote Anchor link
Op de tweede pagina mist session_start();
 
Frank Nietbelangrijk

Frank Nietbelangrijk

30/09/2017 11:08:51
Quote Anchor link
Ben je op de pagina waar je de gebruikersnaam wil tonen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
session_start();
?>

vergeten?
 
- Ariën  -
Beheerder

- Ariën -

30/09/2017 11:33:30
Quote Anchor link
Het is wel leuk om een inlognaam op te slaan in een sessie. Maar je kan deze ook uit de database zelf halen, aan de hand van het ID-nummer die een gebruiker (hopelijk) heeft. Mocht iemand zijn naam willen veranderen, dan is het direct zichtbaar.

Verder raad ik af om md5() te gebruiken voor het hashen van wachtwoorden. Dit is inmiddels vanwege zijn zwakte zeer achterhaald. De beste oplossingen zijn password_hash en password_verify
 
Theo Huitema

Theo Huitema

30/09/2017 12:47:25
Quote Anchor link
Bedankt, jullie hadden gelijk de session_start(); miste op 2e blz.

Arjen, het is een tijdje geleden dat ik in php programmeerde, staat hier ook een inlog script met Password_has en Password_verify (geschikt voor versie 7) als voorbeeld?
 
- Ariën  -
Beheerder

- Ariën -

30/09/2017 12:51:28
Quote Anchor link
het zijn gewoon twee functies die je juist moet toepassen. Je kan op de linkjes klikken voor uitleg, zodat je het zelf kan integreren. Het is echt geen rocket-science verder ;-)
 
Frank Nietbelangrijk

Frank Nietbelangrijk

30/09/2017 13:18:17
Quote Anchor link
Let wel even op als je van md5 wilt overschakelen naar een andere encryptie methode dat je bestaande gebruikers dan ineens niet meer kunnen inloggen. Je zult voor hen een overgangsprocedure moeten toepassen. Je zou een extra kolom in je database kunnen toevoegen die bijhoudt of de hash nog md5 is of niet. Vervolgens zou je als een gebruiker succesvol inlogt het niet-versleutelde wachtwoord opnieuw kunnen versleutelen naar de nieuwe hash en deze vervangen in de database voor de oude md5 hash waarbij je de waarde in die nieuwe kolom ook aanpast.
 



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.