login  Naam:   Wachtwoord: 
Registreer je!
 Forum

enkel eerste lid kan inloggen

Offline W0etah - 04/11/2006 21:58
Avatar van W0etahPHP beginner ik heb hier dus mijn php login die ik gebruik met flash, maar het probleem is dat enkel het eerste lid in de database kan inloggen, verwijder ik het eerste lid, dan kan enkel het lid daarna inloggen.
Ik zie toch geen fout in het script.
Ziet iemand van jullie misschien wat ik fout doen?

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <?php
  3. include('connectie.php'); //connectie met de database
  4.  
  5. $gebruikersnaam = $_POST['gebruikersnaam'];
  6. $wachtwoord = sha1(md5($_POST['wachtwoord']));
  7.  
  8. $dbnaam = mysql_query("SELECT `gebruikersnaam`, `wachtwoord` FROM `Players` WHERE `date` >= '0'") or die(mysql_error());
  9. $result = mysql_fetch_assoc($dbnaam);
  10.  
  11. if($result['gebruikersnaam'] != $gebruikersnaam || $result['wachtwoord'] != $wachtwoord) {
  12. $error = 1;
  13. } else { //alles is goed, je word ingelogd
  14. $error = 2;
  15. }
  16. echo "&FlashError=" .$error;
  17. ?>

4 antwoorden

Gesponsorde links
Offline Ultimatum - 04/11/2006 22:09
Avatar van Ultimatum PHP expert je controleerd alleen of de datum groter is dan 0, misschien en je selecteerd geen persoon.

Je moet dus een WHERE hebben waarin je de gegevens van de persoon ophaalt die inlogt en dan moet je gaan vergelijken, hij pakt nu alleen 1 record omdat je niet aangeeft van welke persoon hij de gegevens uit de database moet selecteren
Offline riekele - 04/11/2006 22:09
Avatar van riekele PHP beginner omdat je je fetch_assoc niet in een while loop stopt pakt hij enkel het 1e lid dat hij tegenkomt.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  1. <?php
  2. include('connectie.php'); //connectie met de database
  3.  
  4. $gebruikersnaam = $_POST['gebruikersnaam'];
  5. $wachtwoord = sha1(md5($_POST['wachtwoord']));
  6.  
  7. $dbnaam = mysql_query("SELECT `gebruikersnaam`, `wachtwoord` FROM `Players` WHERE `date` >= '0'") or die(mysql_error());
  8. while($result = mysql_fetch_assoc($dbnaam))
  9. {
  10.  
  11. if($result['gebruikersnaam'] != $gebruikersnaam || $result['wachtwoord'] != $wachtwoord) {
  12. $error = 1;
  13. } else { //alles is goed, je word ingelogd
  14. $error = 2;
  15. }
  16. echo "&FlashError=" .$error;
  17. }
  18. ?>


zoiets zal wel werken
Offline Ultimatum - 04/11/2006 22:11
Avatar van Ultimatum PHP expert @riekele, nee dat werkt ook niet want $result is het laatste record uit de database waarbij date groter is dan 0, hij moet dus ook WHERE gebruikersnaam = '".$_POST['gebruikersnaam']."' doen, verder is volgens mij de datum altijd groter dan 0 dus kan dat wel uit de WHERE weg 
Offline W0etah - 04/11/2006 22:26 (laatste wijziging 04/11/2006 22:53)
Avatar van W0etah PHP beginner bedankt ultimatum, nu werkt het wel

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <?php
  3. include('connectie.php'); //connectie met de database
  4.  
  5. $gebruikersnaam = $_POST['gebruikersnaam'];
  6. $wachtwoord = sha1(md5($_POST['wachtwoord']));
  7.  
  8. $dbnaam = mysql_query("SELECT `gebruikersnaam`, `wachtwoord` FROM `Players` WHERE `gebruikersnaam` = '$gebruikersnaam'") or die(mysql_error());
  9. $result = mysql_fetch_assoc($dbnaam);
  10.  
  11. if($result['gebruikersnaam'] != $gebruikersnaam || $result['wachtwoord'] != $wachtwoord) {
  12. $error = 1;
  13. } else { //alles is goed, je word ingelogd
  14. $error = 2;
  15. }
  16. echo "&FlashError=" .$error;
  17. ?>



Edit: Hoe kan ik nu het best werken?
Ik heb al geprobeert met sessies te werken, maar ik denk eerder dat het makkelijker is en ook veilig om in flash de gebruikersnaam te onthouden en daarmee verder te werken
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.186s