sessie probleem
Ik heb het ook geprobeerd met een functie maar dit gaf ook geen gewenst resultaat.
Dus ik heb het script gekopieerd:
Code (php)
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
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
<?php
include("includes/con.php");
if($_SESSION['Ingelogd'] == TRUE){
echo "Hoi " .$_POST['Gebruikersnaam']. ", Je bent ingelogd";
}else {
echo "<form name=\"inloggen\" action=\"".$_SERVER['PHP_SELF']."?actie=inloggen\" method=\"post\">
<br /><br /><p class=\"ft3\">Gebruikersnaam</p>
<input type=\"text\" name=\"Gebruikersnaam\" id=\"Gebruikersnaam\" class=\"veldOpmaak\" />
<p class=\"ft3\">Wachtwoord</p>
<input type=\"password\" name=\"Wachtwoord\" id=\"Wachtwoord\" class=\"veldOpmaak\" />
<input type=\"image\" src=\"images\btn.gif\" action=\"inloggen\" /> <p class=\"ft4\"><a href=\"ww_vergeten.php?actie=ww_verloren\">Vergeten?</a></p>
</form>";
}
if ($_GET['actie'] == 'inloggen') {
$sql2 = "SELECT * FROM gebruikers WHERE Gebruikersnaam='".$_POST['Gebruikersnaam']."'";
$resultaat = mysql_query($sql2) OR die ("Maak maar eerst verbinding dan zien we wel verder :p");
$records = mysql_num_rows($resultaat);
if (empty($_POST['Gebruikersnaam'])){
echo "<p class=\"errormessage\">*gebruikersnaam invullen!</p>";
}else if (empty($_POST['Wachtwoord'])){
echo "<p class=\"errormessage\">Wachtwoord invullen!</p>";
}else{
if ($records == '0') {
echo "<p class=\"errormessage\">Inloggegevens bestaan niet.</p>";
}else if
($_POST['Wachtwoord'] == $login->Wachtwoord) {
echo "Je bent nu ingelogd als" .$_POST['Gebruikersnaam'];
$Ingelogd = $_POST['Gebruikersnaam'];
$_SESSION['Ingelogd'] = TRUE;
}
}
}
?>
include("includes/con.php");
if($_SESSION['Ingelogd'] == TRUE){
echo "Hoi " .$_POST['Gebruikersnaam']. ", Je bent ingelogd";
}else {
echo "<form name=\"inloggen\" action=\"".$_SERVER['PHP_SELF']."?actie=inloggen\" method=\"post\">
<br /><br /><p class=\"ft3\">Gebruikersnaam</p>
<input type=\"text\" name=\"Gebruikersnaam\" id=\"Gebruikersnaam\" class=\"veldOpmaak\" />
<p class=\"ft3\">Wachtwoord</p>
<input type=\"password\" name=\"Wachtwoord\" id=\"Wachtwoord\" class=\"veldOpmaak\" />
<input type=\"image\" src=\"images\btn.gif\" action=\"inloggen\" /> <p class=\"ft4\"><a href=\"ww_vergeten.php?actie=ww_verloren\">Vergeten?</a></p>
</form>";
}
if ($_GET['actie'] == 'inloggen') {
$sql2 = "SELECT * FROM gebruikers WHERE Gebruikersnaam='".$_POST['Gebruikersnaam']."'";
$resultaat = mysql_query($sql2) OR die ("Maak maar eerst verbinding dan zien we wel verder :p");
$records = mysql_num_rows($resultaat);
if (empty($_POST['Gebruikersnaam'])){
echo "<p class=\"errormessage\">*gebruikersnaam invullen!</p>";
}else if (empty($_POST['Wachtwoord'])){
echo "<p class=\"errormessage\">Wachtwoord invullen!</p>";
}else{
if ($records == '0') {
echo "<p class=\"errormessage\">Inloggegevens bestaan niet.</p>";
}else if
($_POST['Wachtwoord'] == $login->Wachtwoord) {
echo "Je bent nu ingelogd als" .$_POST['Gebruikersnaam'];
$Ingelogd = $_POST['Gebruikersnaam'];
$_SESSION['Ingelogd'] = TRUE;
}
}
}
?>
Hoe kan ik het beste aanpakken om mezelf ingelogd te krijgen en wat klopt niet of staat verkeerd geplaatst?
Gewijzigd op 01/01/1970 01:00:00 door Ronald van e
zoals het nu gaat geeft hij een bericht: Je bent nu ingelogd als Naam.
dat doet hij wel goed, maar als je dan refreshed heb je niet nog een keer de gebruikersnaam gepost. dus moet je de gebruikersnaam toevoegen aan de session.
heb dit al geprobeerd:
als de gegevens kloppen zie je dus op regel 33(regel 32 verwijderd)
$_SESSION['Gebruikersnaam'] = $_POST['Gebruikersnaam'];
hij zou dus zo de gebruikersnaam moeten opslaan?want hij weergeeft nu wel weer de naam nadat je dus bent ingelogd maar als ik op een andere pagina klik springt ie weer terug op het inlogscherm vanaf regel 7..
if (isset($_SESSION['Gebruikersnaam']) == TRUE) {
en dit geeft toch een TRUE terug van de waarde die ik van regel 33 heb opgegeven?
heb al zoveel geprobeerd maar ben echt ff de weg kwijt nu
Gewijzigd op 01/01/1970 01:00:00 door ronald van e
$_SESSION['Gebruikersnaam'] = $_POST['Gebruikersnaam'];
gebruikt, is de waarde niet TRUE, maar heeft het de waarde van die $_POST.
Dan moet je gebruiken:
if (!empty($_SESSION['Gebruikersnaam'])) {
Die controleert of de sessie bestaat, ÈN of die een waarde bevat.
ik heb het nu zo op gezet:
if lege sessie gebruikersnaam{
inlogformulier
}else{
Je bent ingelogd Naam
en dan nog
if ($_GET['actie'] == 'inloggen') {
code als je inloggen uitvoert met onderaan op regel 33
$_SESSION['Gebruikersnaam'] = $_POST['Gebruikersnaam'];
}
MAAR nu geeft hij altijd weeeer het bericht: Je bent nu ingelogd als(zonder naam)
en komt het inlogscherm helemaal niet meer..
ik weet niet wat het nou is, maar hij bewaard de sessie maar hij slaat niet de gebruikersnaam op terwijl je die de eerste keer wel ziet.. en als ik uitlog dan krijg ik gewoon t normale inlogscherm weer...
en over dat weergeven van de gebruikersnaam, in het script hierboven gebruik je $_POST['gebruikersnaa'] maak hiervan eens $_SESSION['gebruikersnaam']
en van het uitloggen bedoelde ik dat t wel goed was, ook al kwam t over alsof t negatief was, had ik eigenlijk anders moeten formuleren :)
Gewijzigd op 01/01/1970 01:00:00 door ronald van e
Gewijzigd op 01/01/1970 01:00:00 door ronald van e