Gegevens ophalen uit sessie
Ik wil dus: Welkom; 'gebruikersnaam'.
Waarin gebruikersnaam dus variabel is aan de gebruikersnaam van het ingelogde account.
De inlogscript die ik gebruikt hebt kan je hier vinden:
http://www.phphulp.vindme.nl/AKLogin/code/index.php
Weet iemand hoe ik de gebruikersnaam van de ingelogde persoon kan opvragen en van de sessie en daarmee een welkomsttekst kan maken?
Alvast bedankt!
Stef
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
$select = mysql_query("SELECT Gebruikersnaam FROM gebruikers WHERE ID = \"".$_SESSION['USER_ID']."\"");
echo mysql_result($select,0);
?>
$select = mysql_query("SELECT Gebruikersnaam FROM gebruikers WHERE ID = \"".$_SESSION['USER_ID']."\"");
echo mysql_result($select,0);
?>
Niet getest maar moet werken
BTW, volgens mij klopt dat script ook niet helemaal. Die if met die session's daar is als het goed is niet nodig.
@Hierboven, onzinnig, niet nodig.
Je zegt dat ik iets bij login.php moet zetten, bedoel je dan een var die opgeslagen wordt in een sessie zodat ik hem later met $_SESSION['gebruikersnaam']; kan echoën?
Hoe kan ik dat doen dan? (sorry ik snap dat allemaal nog niet helemaal) (A)
(wat bedoel je met dat script klopt niet helemaal, over welke script heb je het dan?)
Groetjes,
Stef
... ook niet helemaal in het begin aan. Je doet eerst een:
Misschien is dit van invloed op je script...
@ niels, misschien zou ik session dan voor de error reporting moeten doen, maar dan nog, heb ik nog steeds geen manier om de gebruikersnaam op te roepen
$_SESSION['USER_LOGGED'] = 'yes';
$_SESSION['USER_IP'] = $_SERVER['REMOTE_ADDR'];
$_SESSION['USER_LEVEL'] = $Sessielevel;
$_SESSION['USER_ID'] = $aRij['ID'];
Maak je nog een sessie aan.
$_SESSION['USER_NAME'] = $aRij['Gebruikersnaam'];
Dan moet je natuurlijk nog wel bij de select query van de login.php de gebruikersnaam selecteren.
Als je dat hebt gedaan kan je de gebruikersnaam gewoon aanvragen met: $_SESSION['USER_NAME']
Ik zal eens kijken, thanks
Alvast bedankt,
Stef
=>
SELECT
ID,
Level
Moet worden
SELECT
ID,
Level,
Gebruikersnaam
Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark
Nu dat ik wat aan het uitbreiden ben, stuit ik op andere problemen die wel nog zo ongeveer bij deze topic horen.
Ik wil dat de speler een 'stad' krijgt (om het makkelijk te zeggen).
Deze stad heeft als standaard naam: 'Beach Camp'
Ik heb in phpmyadmin een extra kolom gemaakt met de naam: 'empirename'.
Hierbij een standaardwaarde ingevuld van 'Beach Camp'.
Ik wilde in een menu de naam van mijn stad hebben zoals:
Jouw stad:
Beach Camp
Ik dacht dus van laat ik het zelfde een uitproberen als dit bovenstaande (met de gebruikersnaam)
Dus bij mijn Query schreef ik 'empirename' erbij:
SELECT
ID,
Level,
Gebruikersnaam,
empirename
En bij het aanmaken van de sessie:
$_SESSION['EMPIRE_NAME'] = $aRij['empirename'];
op mijn profielpagina, waar ik de naam van de stad (empire) dus wilde hebben schreef ik
<p>
Jouw stad: <br>
</p>
Dus nu heb ik staan wat ik wilde hebben staan, MAAR!
Ik wil dat de spelers de mogelijkheid hebben om de naam van hun stad te veranderen naar wat hun willen.
Dus ik maak een pagina aan: changeempirename.php
Ik heb al een form gemaakt:
<form id="form1" name="form1" method="post" action="">
<table width="303" border="0">
<tr>
<td><p>Nieuwe naam:</p></td>
<td><input type="text" name="EmpireName" /></td>
</tr>
<tr>
<td><input name="Go" type="submit" id="Go" value=" Verander " />
<td></td>
</tr>
</table>
</form>
Ik dacht even slim te zijn om de registratieformulier aan te passen om zo iets bij te schijven in mijn database. dus ik had dit zo aangepast:
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
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
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
<?PHP
/* Kijken of er iets gepost wordt. */
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
/* Kijken of er op de knop GO wordt geklikt. */
if(isset($_POST['Go']))
{
/* Kijken of er een gebruikersnaam is ingevuld. */
if(isset($_POST['EmpireName']) && $_POST['EmpireName'] != '')
{
/* Query uitvoeren om te kijken of gebruikersnaam al bestaat. */
$aQuery =
"
SELECT
empirename
FROM
gebruikers
WHERE
empirename = '".mysql_real_escape_string($_POST['EmpireName'])."'
";
/* Resultaat van de query. */
$aResultaat = mysql_query($aQuery);
/* Kijken of de Query is gelukt. */
if(!$aResultaat)
{
/* Er is een fout opgetreden met de aQuery. */
echo 'Er is iets fout gegaan met de Query. aQuery: '.$aQuery.'';
}
else
{
/* Kijken of gebruikersnaam bestaat. */
if(mysql_num_rows($aResultaat) == 1)
{
/* Gebruikersnaam bestaat al. */
echo 'Deze naam is al in gebruik, Kies A.U.B een ander naam, <a href="javascript: history.go(-1)"class="link_orange">Terug</a>.';
exit();
}{
/* Query uitvoeren om de gegevens in de database te plaatsen. */
$cQuery =
"
INSERT INTO
gebruikers
(
empirename,
)
VALUES
(
'".mysql_real_escape_string($_POST['empirename'])."',
)
";
/* Resultaat van de query. */
$cResultaat = mysql_query($cQuery);
/* Kijken of de query is gelukt. */
if(!$cResultaat)
{
/* Fout opgetreden met invoeren van gegevens. */
echo 'Er is een fout opgetreden met het aanmaken van een nieuwe naam, <a href="/profiel.php">Terug</a>.';
exit();
}
else
{
/* Account is succesvol aangemaakt. */
echo 'Uw empire naam is succesvol veranderd ';
}
}
}
}
}
}
?>
/* Kijken of er iets gepost wordt. */
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
/* Kijken of er op de knop GO wordt geklikt. */
if(isset($_POST['Go']))
{
/* Kijken of er een gebruikersnaam is ingevuld. */
if(isset($_POST['EmpireName']) && $_POST['EmpireName'] != '')
{
/* Query uitvoeren om te kijken of gebruikersnaam al bestaat. */
$aQuery =
"
SELECT
empirename
FROM
gebruikers
WHERE
empirename = '".mysql_real_escape_string($_POST['EmpireName'])."'
";
/* Resultaat van de query. */
$aResultaat = mysql_query($aQuery);
/* Kijken of de Query is gelukt. */
if(!$aResultaat)
{
/* Er is een fout opgetreden met de aQuery. */
echo 'Er is iets fout gegaan met de Query. aQuery: '.$aQuery.'';
}
else
{
/* Kijken of gebruikersnaam bestaat. */
if(mysql_num_rows($aResultaat) == 1)
{
/* Gebruikersnaam bestaat al. */
echo 'Deze naam is al in gebruik, Kies A.U.B een ander naam, <a href="javascript: history.go(-1)"class="link_orange">Terug</a>.';
exit();
}{
/* Query uitvoeren om de gegevens in de database te plaatsen. */
$cQuery =
"
INSERT INTO
gebruikers
(
empirename,
)
VALUES
(
'".mysql_real_escape_string($_POST['empirename'])."',
)
";
/* Resultaat van de query. */
$cResultaat = mysql_query($cQuery);
/* Kijken of de query is gelukt. */
if(!$cResultaat)
{
/* Fout opgetreden met invoeren van gegevens. */
echo 'Er is een fout opgetreden met het aanmaken van een nieuwe naam, <a href="/profiel.php">Terug</a>.';
exit();
}
else
{
/* Account is succesvol aangemaakt. */
echo 'Uw empire naam is succesvol veranderd ';
}
}
}
}
}
}
?>
Jammer genoeg was ik niet slim genoeg en wekt dit niet,
hij geeft namelijk een error op :
'".mysql_real_escape_string($_POST['empirename'])."',
Zat ik al een beetje in mijn buurt met het veranderen van je stadsnaam?
Of ben ik nou helemaal de verkeerde richting op aan het gaan...
Hoe ver ik al dacht was:
Er moet een form zijn die de stadsnaam post in de database (en gecontroleerd of het veld niet leeg is, of de naam al niet bezet is enz.)
En de sessies moeten aangepast worden, want ik ga er vanuit dat als je inlogd dat je gegevens die in je sessie worden opgeslagen vast liggen en de gehele duur van de sessie niet aangepast worden aan wat er veranderd in de database. (ik wil namelijk dat de naam van je stad meteen veranderd, en niet dat je eerst opnieuw moet inloggen om je nieuwe naam te bekijken)
Weet iemand hier iets voor? (A)
Alvast bedankt!
Mvg,
Stef