PHP select * from accounts WHERE

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Niels Peeren

Niels Peeren

13/09/2012 13:29:03
Quote Anchor link
Waar ik momenteel een probleempje mee heb is dit :

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
    
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?
 
PHP hulp

PHP hulp

27/04/2024 05:55:52
 
Kris Peeters

Kris Peeters

13/09/2012 13:38:58
Quote Anchor link
Om te beginnen, moet die username sowieso tussen aanhalingstekens gezet worden
Dus niet zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$query
  = "SELECT Username, Name, Surname, Email, Gender FROM accounts WHERE Username = $_SESSION['Username']";
?>

maar
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$query
  = "SELECT Username, Name, Surname, Email, Gender FROM accounts WHERE Username = '$_SESSION[Username]'";
?>


Nog wat meer proper:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$query
  = "SELECT Username, Name, Surname, Email, Gender FROM accounts WHERE Username = '" . $_SESSION['Username'] . "'";
?>


En waarschijnlijk kan je dit best nog beveiligen met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
while($row = mysql_fetch_assoc($result))
?>

door
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if($row = mysql_fetch_assoc($result))
?>
Gewijzigd op 13/09/2012 13:45:04 door Kris Peeters
 
Niels Peeren

Niels Peeren

13/09/2012 13:42:17
Quote Anchor link
heel erg bedankt ik zie al wat ik fout heb gedaan ja , het enige wat hij nu geeft is wel :

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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$query
  = "SELECT Username, Name, Surname, Email, Gender FROM accounts WHERE Username = '" . $_SESSION[Username] . "'";
?>
Gewijzigd op 13/09/2012 13:42:38 door Niels Peeren
 
Kris Peeters

Kris Peeters

13/09/2012 13:46:21
Quote Anchor link
Ik had dit ondertussen al aangepast; je was me voor. Zie nog eens mijn aangepaste post.
 
Niels Peeren

Niels Peeren

13/09/2012 13:48:29
Quote Anchor link
Thanks alot! , hij doet het nu. dat ik dit niet eerder gezien had :D. nu kan ik eindelijk verder.
 



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.