PHP select * from accounts WHERE
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
include('mysql.php');
$query = "SELECT Username, Name, Surname, Email, Gender FROM accounts WHERE Username = $_SESSION['Username']";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result))
{
echo "<li><label> Username </label>{$row['Username']}</li>" .
"<li><label> Name </label>{$row['Name']}</li>" .
"<li><label> Subject </label>{$row['Surname']}</li>" .
"<li><label> Email </label>{$row['Email']}</li>" .
"<li><label> Gender </label>{$row['Gender']}</li>";
}
?>
include('mysql.php');
$query = "SELECT Username, Name, Surname, Email, Gender FROM accounts WHERE Username = $_SESSION['Username']";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result))
{
echo "<li><label> Username </label>{$row['Username']}</li>" .
"<li><label> Name </label>{$row['Name']}</li>" .
"<li><label> Subject </label>{$row['Surname']}</li>" .
"<li><label> Email </label>{$row['Email']}</li>" .
"<li><label> Gender </label>{$row['Gender']}</li>";
}
?>
ik wil er voor zorgen dat als je ingelogd bent (dan heb je automatisch een sessie gestart) deze sessie is hetzelfde als je username. nu wil ik dus dat als je ingelogd bent hij alleen de informatie van de ingelogde selecteerd en laat zien.(dit is voor de profile page). hij laat nu alles zien van iedereen die ooit is ingelogd. dat is dus niet de bedoeling. weet iemand hoe je dit oplost?
Dus niet zo:
Code (php)
1
2
3
2
3
<?php
$query = "SELECT Username, Name, Surname, Email, Gender FROM accounts WHERE Username = $_SESSION['Username']";
?>
$query = "SELECT Username, Name, Surname, Email, Gender FROM accounts WHERE Username = $_SESSION['Username']";
?>
maar
Code (php)
1
2
3
2
3
<?php
$query = "SELECT Username, Name, Surname, Email, Gender FROM accounts WHERE Username = '$_SESSION[Username]'";
?>
$query = "SELECT Username, Name, Surname, Email, Gender FROM accounts WHERE Username = '$_SESSION[Username]'";
?>
Nog wat meer proper:
Code (php)
1
2
3
2
3
<?php
$query = "SELECT Username, Name, Surname, Email, Gender FROM accounts WHERE Username = '" . $_SESSION['Username'] . "'";
?>
$query = "SELECT Username, Name, Surname, Email, Gender FROM accounts WHERE Username = '" . $_SESSION['Username'] . "'";
?>
En waarschijnlijk kan je dit best nog beveiligen met
Code (php)
1
2
3
2
3
<?php
$query = "SELECT Username, Name, Surname, Email, Gender FROM accounts WHERE Username = '" . mysql_real_escape_string($_SESSION['Username']) . "'";
?>
$query = "SELECT Username, Name, Surname, Email, Gender FROM accounts WHERE Username = '" . mysql_real_escape_string($_SESSION['Username']) . "'";
?>
Maar dat kan eventueel al geregeld zijn bij het setten van $_SESSION['Username']. Dit weet ik niet.
Dan nog die while ...
Aangezien je maar 1 record nodig hebt, heb je geen lus nodig.
Vervang
door
Gewijzigd op 13/09/2012 13:45:04 door Kris Peeters
Notice: Use of undefined constant Username - assumed 'Username' in C:\xampp\htdocs\project space\pages\profile.inc.php on line 17
dat is deze lijn :
Code (php)
1
2
3
2
3
<?php
$query = "SELECT Username, Name, Surname, Email, Gender FROM accounts WHERE Username = '" . $_SESSION[Username] . "'";
?>
$query = "SELECT Username, Name, Surname, Email, Gender FROM accounts WHERE Username = '" . $_SESSION[Username] . "'";
?>
Gewijzigd op 13/09/2012 13:42:38 door Niels Peeren
Ik had dit ondertussen al aangepast; je was me voor. Zie nog eens mijn aangepaste post.
Thanks alot! , hij doet het nu. dat ik dit niet eerder gezien had :D. nu kan ik eindelijk verder.