login  Naam:   Wachtwoord: 
Registreer je!
 Forum

login

Offline thajunk - 18/03/2005 22:45
Avatar van thajunkOnbekend Wie weet waarom mijn login niet werkt?:
  1. <?PHP
  2. include('config.php');
  3. ?>
  4. <LINK REL="stylesheet" HREF="style.css" TYPE="text/css">
  5. <?
  6. # Als er gepost is ga dan verder met de gegevens te bewerken
  7. if ($_SERVER['REQUEST_METHOD'] == 'POST')
  8. {
  9. $naam=$_REQUEST['gebruikersnaam'];
  10. $naam=strtolower($naam);
  11. $naam=trim($naam);
  12. $wacht=$_REQUEST['wachtwoord'];
  13. $wacht=strtolower($wacht);
  14. $wacht=trim($wacht);
  15. $wacht=md5($wacht);
  16.  
  17. if ($naam=="") # als er geen naam is ingevuld
  18. {
  19. include ("form.php");
  20. echo "<BR>U heeft geen gebruikersnaam ingevuld";
  21. }
  22. elseif ($wacht=="") # als er geen wachtwoord is ingevuld
  23. {
  24. include ("form.php");
  25. echo "<BR>U heeft geen wachtwoord ingevuld";
  26. }
  27.  
  28.  
  29. else
  30. {
  31.  
  32. $select = mysql_query("SELECT id,level,ban, emailadres, gebruikersnaam FROM members WHERE gebruikersnaam='$naam' && wachtwoord='$wacht'") or die(mysql_error());
  33. if (mysql_num_rows($select)==1) # als de gegevens kloppen en er is maar één rij gevonden maak dan de sessies
  34. {
  35.  
  36.  
  37. if (mysql_result($select, 0, "ban")==1)
  38. {
  39. echo "<font color=red>Je bent gebanned, neem contact op met de admin die je eventueel un-banned (als hij dat nodig vindt).</font>";
  40. }
  41.  
  42. $_SESSION['login'] = true;
  43. $_SESSION['level'] = mysql_result($select, 0, "level");
  44. $_SESSION['gebruikersid'] = mysql_result($select, 0, "id");
  45. echo "U bent ingelogd";
  46. echo '<meta http-equiv="refresh" content="0;url=index.php?p=home">';
  47. }
  48. else # als de gegevens niet kloppen en er dus geen resultaten zijn gevonden
  49. {
  50. include ("form.php");
  51. echo "De gegevens kloppen niet helemaal";
  52. }
  53. }
  54. }
  55.  
  56.  
  57. # Als er niet gepost is laat dan het formulier zien
  58. elseif ($_SERVER['REQUEST_METHOD'] != 'POST')
  59. {
  60. include ("form.php");
  61. }
  62. ?>

11 antwoorden

Gesponsorde links
Offline NCube - 18/03/2005 22:48
Avatar van NCube HTML beginner $naam=$_REQUEST['gebruikersnaam'];
$wacht=$_REQUEST['wachtwoord'];
Moeten $_POST['gebruikersnaam']; en $_POST['wachtwoord']; zijn
Offline thajunk - 18/03/2005 23:01
Avatar van thajunk Onbekend dan doet ie het nog niet
Offline Xzero - 18/03/2005 23:49
Avatar van Xzero PHP beginner Hoe werkt hij niet, geeft hij bijvoorbeeld een foutmelding of een blanco pagina... moet je er wel ff bijzetten, anders kunnen we (ik iig) niks mee...
Offline thajunk - 18/03/2005 23:56
Avatar van thajunk Onbekend als ik op submit druk ga ik in 1x door naar de index.php
Offline Xzero - 19/03/2005 00:04 (laatste wijziging 19/03/2005 00:07)
Avatar van Xzero PHP beginner ik denk dat het hier aan ligt:
  1. <?php
  2. echo "U bent ingelogd";
  3. echo '<meta http-equiv="refresh" content="0;url=index.php?p=home">';
  4. ?>


nu refresht hij de pagina met 0 seconden (altans, ik denk dat dat seconden zijn)... en dus gaat hij direct naar index.php?p=home, maar dan ben je wel ingelogd...

probeer dit eens, ff kijken of het ook zo is:
  1. <?php
  2. echo "U bent ingelogd";
  3. echo '<meta http-equiv="refresh" content="2;url=index.php?p=home">';
  4. ?>

Offline thajunk - 19/03/2005 00:09 (laatste wijziging 19/03/2005 10:02)
Avatar van thajunk Onbekend nope het werkt dan nog niet ik heb hem nu zo:
  1. <?PHP
  2. include('config.php');
  3. # Als er gepost is ga dan verder met de gegevens te bewerken
  4. if ($_SERVER['REQUEST_METHOD'] == 'POST')
  5. {
  6. $naam=$_REQUEST['gebruikersnaam'];
  7. $naam=strtolower($naam);
  8. $naam=trim($naam);
  9. $wacht=$_REQUEST['wachtwoord'];
  10. $wacht=strtolower($wacht);
  11. $wacht=trim($wacht);
  12. $wacht=md5($wacht);
  13.  
  14. if ($naam=="") # als er geen naam is ingevuld
  15. {
  16. include ("form.php");
  17. echo "<BR>U heeft geen gebruikersnaam ingevuld";
  18. }
  19. elseif ($wacht=="") # als er geen wachtwoord is ingevuld
  20. {
  21. include ("form.php");
  22. echo "<BR>U heeft geen wachtwoord ingevuld";
  23. }
  24.  
  25.  
  26. else
  27. {
  28.  
  29. $select = mysql_query("SELECT id,level,ban, emailadres, gebruikersnaam FROM members WHERE gebruikersnaam='$naam' && wachtwoord='$wacht'") or die(mysql_error());
  30. if (mysql_num_rows($select)==1) # als de gegevens kloppen en er is maar één rij gevonden maak dan de sessies
  31. {
  32.  
  33.  
  34. if (mysql_result($select, 0, "ban")==1)
  35. {
  36. echo "<font color=red>Je bent gebanned, neem contact op met de admin die je eventueel un-banned (als hij dat nodig vindt).</font>";
  37. }
  38.  
  39. $_SESSION['login'] = true;
  40. $_SESSION['level'] = mysql_result($select, 0, "level");
  41. $_SESSION['gebruikersid'] = mysql_result($select, 0, "id");
  42. echo "U bent ingelogd";
  43. echo '<meta http-equiv="refresh" content="0;url=index.php?p=home">';
  44. }
  45. else # als de gegevens niet kloppen en er dus geen resultaten zijn gevonden
  46. {
  47. include ("form.php");
  48. echo "De gegevens kloppen niet helemaal";
  49. }
  50. }
  51. }
  52.  
  53.  
  54. # Als er niet gepost is laat dan het formulier zien
  55. elseif ($_SERVER['REQUEST_METHOD'] != 'POST')
  56. {
  57. include ("form.php");
  58. }
  59. ?>
Offline prorsoft - 19/03/2005 10:11 (laatste wijziging 19/03/2005 10:15)
Avatar van prorsoft PHP gevorderde de sessie is nog niet gestart
het moet dit zijn:
  1. <?PHP
  2. include('config.php');
  3. $ptmp=false;
  4. # Als er gepost is ga dan verder met de gegevens te bewerken
  5. if ($_SERVER['REQUEST_METHOD'] == 'POST')
  6. {
  7. $ptmp=true;
  8. $naam=$_REQUEST['gebruikersnaam'];
  9. $naam=strtolower($naam);
  10. $naam=trim($naam);
  11. $wacht=$_REQUEST['wachtwoord'];
  12. $wacht=strtolower($wacht);
  13. $wacht=trim($wacht);
  14. $wacht=md5($wacht);
  15.  
  16. if ($naam=="") # als er geen naam is ingevuld
  17. {
  18. include ("form.php");
  19. echo "<BR>U heeft geen gebruikersnaam ingevuld";
  20. }
  21. elseif ($wacht=="") # als er geen wachtwoord is ingevuld
  22. {
  23. include ("form.php");
  24. echo "<BR>U heeft geen wachtwoord ingevuld";
  25. }
  26.  
  27.  
  28. else
  29. {
  30.  
  31. $select = mysql_query("SELECT id,level,ban, emailadres, gebruikersnaam FROM members WHERE gebruikersnaam='$naam' && wachtwoord='$wacht'") or die(mysql_error());
  32. if (mysql_num_rows($select)==1) # als de gegevens kloppen en er is maar één rij gevonden maak dan de sessies
  33. {
  34.  
  35.  
  36. if (mysql_result($select, 0, "ban")==1)
  37. {
  38. echo "<font color=red>Je bent gebanned, neem contact op met de admin die je eventueel un-banned (als hij dat nodig vindt).</font>";
  39. }
  40.  
  41. $_SESSION['login'] = true;
  42. $_SESSION['level'] = mysql_result($select, 0, "level");
  43. $_SESSION['gebruikersid'] = mysql_result($select, 0, "id");
  44. echo "U bent ingelogd";
  45. echo '<meta http-equiv="refresh" content="0;url=index.php?p=home">';
  46. }
  47. else # als de gegevens niet kloppen en er dus geen resultaten zijn gevonden
  48. {
  49. include ("form.php");
  50. echo "De gegevens kloppen niet helemaal";
  51. }
  52. }
  53. }
  54. # Als er niet gepost is laat dan het formulier zien
  55. if($ptmp==false)
  56. {
  57. include ("form.php");
  58. }
  59. ?>

en dat elseif op het laatst hoeft niet, je kan gewoon else gebruiken.

EDIT: er klopt nog meer niet, dat heb ik dus even veranderd.
Offline thajunk - 19/03/2005 10:44
Avatar van thajunk Onbekend ja, bedankt het werkt nu maar je had 1 foutje gemaakt:
session_start();
hoeft niet in dit script maar ik heb hem nu op de index.php
Offline prorsoft - 19/03/2005 11:08 (laatste wijziging 19/03/2005 11:09)
Avatar van prorsoft PHP gevorderde
Citaat:
session_start();
hoeft niet in dit script

Hoe bedoel je???
dat moet altijd als je in die pagina van sessies gebruikmaakt.
anders werken de sessies niet.

en als ik jou was zou ik keurig inspringen, dan zie je fouten makkelijker.
Offline thajunk - 19/03/2005 11:18
Avatar van thajunk Onbekend weet iemand hier trouwens iets beters voor?
Ik dacht dat het iets van if($_session($login)){
  1. <?
  2. if ($login)
  3. {
  4. ?>
Offline prorsoft - 19/03/2005 11:24
Avatar van prorsoft PHP gevorderde huh????
wat bedoel je???
het is trouwens $_SESSION['login'] hoor
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.239s