login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Naam wordt niet weergegeven

Offline SomaQan - 19/02/2007 13:58
Avatar van SomaQanPHP beginner ik ben bezig met een ledensysteem

mij inloggen.php

  1. <?php
  2.  
  3. include("config.php");
  4.  
  5. if( $_SERVER['REQUEST_METHOD'] == 'POST')
  6. echo "U Bent ingelogd $naam!";
  7.  
  8. $username = addslashes($_POST['username']);
  9. $password = addslashes($_POST['password']);
  10. $naam = addslashes($_POST['naam']);
  11.  
  12. $query = "SELECT ID
  13. FROM lid
  14. WHERE username = '" . mysql_real_escape_string( $_POST['username'] ) . "'
  15. AND password = '". md5( $_POST['password'] )."'
  16. AND naam = '". mysql_real_escape_string( $_POST['naam'] ). "'";
  17.  
  18. $resource = mysql_query( $query ) or die('Fout bij selecteren van username: <pre> '. $query .'</pre> <br /> MySQL error: <br />' . mysql_error());
  19.  
  20. ?>


als ik nu in log met hij met dit echo weergeven + $naam natuurlijk maar naam laat hij niet zien weet iemand waarom :S

  1. echo "U Bent ingelogd $naam!";


25 antwoorden

Gesponsorde links
Offline Thomas - 19/02/2007 14:02
Avatar van Thomas Moderator Je kunt een variabele niet gebruiken (regel 6) voordat je deze declareert (10).
Offline SomaQan - 19/02/2007 14:04
Avatar van SomaQan PHP beginner Hoe kan ik het dan wel laten zien ?
Offline Cozze - 19/02/2007 14:11
Avatar van Cozze HTML interesse Zet echo "U Bent ingelogd $naam!"; na $naam = addslashes($_POST['naam']);.
Offline Ultimatum - 19/02/2007 14:11
Avatar van Ultimatum PHP expert Ervoor zetten? Hoe moeilijk kan het zijn?

  1. <?php
  2. if( $_SERVER['REQUEST_METHOD'] == 'POST')
  3. {
  4. $username = addslashes($_POST['username']);
  5. $password = addslashes($_POST['password']);
  6. $naam = addslashes($_POST['naam']);
  7.  
  8. echo "U Bent ingelogd '".$naam."'!";
  9. }
  10. ?>


En waarom zet je elke $_POST om naar een andere var blijf gewoon de $_POST gebruiken

Offline SomaQan - 19/02/2007 14:28
Avatar van SomaQan PHP beginner ik heb hem nu zo staan zo als je zij Ultimatum

maar kijk maar zelf hij geeft nog steeds geen naam aan als je ingelogd bent :S

http://mootje.medos.be/inloggen.php

Gebruikernaam: test
wachtwoord: test
Offline Godlord - 19/02/2007 14:30 (laatste wijziging 19/02/2007 14:30)
Avatar van Godlord PHP gevorderde "U bent ingelogd, ".$naam oops sorry lette even niet op :S
Offline Ultimatum - 19/02/2007 14:33
Avatar van Ultimatum PHP expert Logisch:
Gebruikersnaam: <input name="username" type="text" size="30" maxlength="40"><br>

en je echoëd $naam en $naam is $_POST['naam']. Maar die staat helemaal niet in je formulier, het is gebruikersnaam
Offline SomaQan - 19/02/2007 14:36 (laatste wijziging 19/02/2007 14:39)
Avatar van SomaQan PHP beginner nee zo doet ie het ook niet

  1. "U bent ingelogd, ".$naam


@Ultimatum nee die hoort zo want als je, je gaat registreren moetje je naam invullen en bij het inloggen moet hij het uit de database halen en echo 
Offline Ultimatum - 19/02/2007 14:43 (laatste wijziging 19/02/2007 14:46)
Avatar van Ultimatum PHP expert Gebruik je nou bovenstaande code dan? Dus ook met die echo en variable als je op submit drukt?
Offline SomaQan - 19/02/2007 14:45
Avatar van SomaQan PHP beginner ik doe het zo

  1. echo "U Bent ingelogd '".$naam."'!";


maar dan laat hij dit zien "
Offline Ultimatum - 19/02/2007 14:46
Avatar van Ultimatum PHP expert Laat alle code die je hebt eens zien dan..
Offline SomaQan - 19/02/2007 14:56
Avatar van SomaQan PHP beginner Dit is Registreren.php
http://www.plaatscode.be/4268/

En dit is inloggen.php
http://www.plaatscode.be/4267/
Offline Berten - 19/02/2007 15:32
Avatar van Berten PHP beginner
  1. echo "U Bent ingelogd $naam!";
  2.  
  3. $username = addslashes($_POST['username']);
  4. $password = addslashes($_POST['password']);
  5. $naam = addslashes($_POST['naam']);


verander dat naar:
  1. $username = addslashes($_POST['username']);
  2. $password = addslashes($_POST['password']);
  3. $naam = addslashes($_POST['naam']);
  4.  
  5. echo "U Bent ingelogd $naam!";


je hebt denk ik $naam nog geen waarde gegeven.
Offline Ultimatum - 19/02/2007 15:34 (laatste wijziging 19/02/2007 15:35)
Avatar van Ultimatum PHP expert @Berten, kijk eerst eens naar mijn reactie op de vorige pagina en naar die link die somaqan heeft gepost, want dit had ik al gezegt..

Zoals ik al zei:

Je gaat nu de variale $naam echoën. $naam komt van $_POST['naam'], maar waar zie jij $_POST['naam'] in je script staan?
Offline SomaQan - 19/02/2007 15:43
Avatar van SomaQan PHP beginner @ultimatum hier staat $naam

  1. <?php
  2.  
  3.  
  4. include("config.php");
  5.  
  6. if( $_SERVER['REQUEST_METHOD'] == 'POST')
  7. echo "U bent succesvol geregistreerd!";
  8.  
  9. $username = addslashes($_POST['username']);
  10. $password = addslashes($_POST['password']);
  11. $naam = addslashes($_POST['naam']);
  12. $email = mysql_real_escape_string($_POST['email']);
  13. $leeftijd = addslashes($_POST['leeftijd']);
  14. $woonplaats = addslashes($_POST['woonplaats']);
  15. mysql_query("INSERT INTO lid (username,password,naam,email,leeftijd,woonplaats) VALUES ('$username','$password','$naam','$email','$leeftijd','$woonplaats')") or die(mysql_error());
  16.  
  17. ?>


en hier haalt hij hem uit de database

  1. $query = "SELECT ID FROM lid WHERE username = '". mysql_real_escape_string( $_POST['username'] ). "' AND password = '". md5( $_POST['password'] )."' AND naam = '". mysql_real_escape_string( $_POST['naam'] ). "'";
Offline Ultimatum - 19/02/2007 15:52
Avatar van Ultimatum PHP expert Een $_POST komt uit een input veld en niet uit de database dus $naam kan niet uit de database komen en je wilt dat $naam iets uit een input word maar je hebt geen input veld met de naam naam. Volgens mij begrijp je het zelf niet want het is zo simpel..
Offline SomaQan - 19/02/2007 15:59
Avatar van SomaQan PHP beginner oh hoe moet het dan wel ?

kun je het aub doen voor mij ben al 2 uur bezig 
Offline Ultimatum - 19/02/2007 16:15
Avatar van Ultimatum PHP expert ipv $naam echoën doe je $gebruikersnaam, dat probeer ik al de hele tijd te zeggen maar je wilt iets met die $naam doen oid
Offline kickasgamer - 19/02/2007 16:23
Avatar van kickasgamer PHP ver gevorderde en waarom haal je de naam gewoon niet uit de DB, maar als je dna eerst een session aan maakt met de naam in dan kan je die naam gewoon echoën ;)
Offline SomaQan - 19/02/2007 16:30 (laatste wijziging 19/02/2007 16:31)
Avatar van SomaQan PHP beginner @Ultimatum bedankt hij doet het !

ik heb nu dit

  1. <?php
  2.  
  3. include("config.php");
  4.  
  5. if( $_SERVER['REQUEST_METHOD'] == 'POST')
  6.  
  7. {
  8. $username = addslashes($_POST['username']);
  9. $password = addslashes($_POST['password']);
  10. $naam = addslashes($_POST['naam']);
  11.  
  12. echo "U Bent ingelogd '".$username."'!";
  13.  
  14. }
  15.  
  16. $query = "SELECT ID FROM lid WHERE username = '". mysql_real_escape_string( $_POST['username'] ). "' AND password = '". md5( $_POST['password'] )."' AND naam = '". mysql_real_escape_string( $_POST['naam'] ). "'";
  17.  
  18.  
  19. $resource = mysql_query( $query ) or die('Fout bij selecteren van username: <pre> '. $query .'</pre> <br /> MySQL error: <br />' . mysql_error());
  20.  
  21. ?>


maar hoe kan bijvoorbeeld doen als iemand een verkeerd gebruikersnaam/wachtwoord invoerd een echo krijg waar in dat vermeld word dat het fout is ?

en nog een probleem als ik gewoon een naam invul bij
het forumulier zegt hij dat ik ingelogd bent terwijl dat account niet eens bestaat in de database 



Offline Thomas - 19/02/2007 16:40
Avatar van Thomas Moderator Ik zou je dringend aanraden je enigszins in de materie te verdiepen, voordat je aan ledensystemen begint.

"U bent ingelogd <whatever>!" wordt afgedrukt op het moment dat je een formulier submit (verstuurt).

De gegevens die je verstuurt hoeven niet overeen te stemmen met die van een bestaande gebruiker.

Als je query resultaten oplevert kun je pas met zekerheid zeggen dat het om een bestaande gebruiker gaat.
Offline Ibrahim - 19/02/2007 16:48
Avatar van Ibrahim PHP expert
  1. <?php
  2. if( formulier is gepost )
  3. {
  4. $selecteer_gebruiker = query;
  5. $result = mysql_num_rows($selecteer_gebruiker);
  6. if($result == 0)
  7. {
  8. // gebruiker bestaat, dus inloggen, en weergeven van data
  9. }
  10. else
  11. {
  12. // er is geen gebruiker gevonden, fout weergeven
  13. }
  14. }

Je zou inderdaad eerst PHP kunnen leren daarna pas scripts maken.
Offline kickasgamer - 19/02/2007 16:56
Avatar van kickasgamer PHP ver gevorderde ja je controlleerd niet als het ingevuld wel overeen komt met wat er in de db zit ;)
Offline SomaQan - 20/02/2007 00:43
Avatar van SomaQan PHP beginner oke ik ga grondig php en mysql leren maar kan iemanden alvast

dit script
  1. <?php
  2.  
  3. include("config.php");
  4.  
  5. if( $_SERVER['REQUEST_METHOD'] == 'POST')
  6.  
  7. {
  8. $username = addslashes($_POST['username']);
  9. $password = addslashes($_POST['password']);
  10. $naam = addslashes($_POST['naam']);
  11.  
  12. echo "U Bent ingelogd '".$username."'!";
  13.  
  14. }
  15.  
  16. $query = "SELECT ID FROM lid WHERE username = '". mysql_real_escape_string( $_POST['username'] ). "' AND password = '". md5( $_POST['password'] )."' AND naam = '". mysql_real_escape_string( $_POST['naam'] ). "'";
  17.  
  18.  
  19. $resource = mysql_query( $query ) or die('Fout bij selecteren van username: <pre> '. $query .'</pre> <br /> MySQL error: <br />' . mysql_error());
  20.  
  21. ?>


een werkende loginsysteem van maken ik ben je dan harstikke dankbaar 
Offline Damage - 20/02/2007 07:43
Avatar van Damage PHP interesse Download bestaande scripts en kijk hoe hun het gemaakt hebben en leer daar van.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.287s