login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[Php] Login (Opgelost)

Offline Simax - 30/08/2007 14:23
Avatar van SimaxOnbekend Wanneer men niet correct inlogd,
komt er een foutmelding op het scherm.
Alleen word het loginform dan niet opniew getoond,
zodat ze het nogmaals kunnen proberen.

Iemand een idee hoe dit komt?

Alvast bedankt!

10 antwoorden

Gesponsorde links
Offline GTW - 30/08/2007 14:25
Avatar van GTW Gouden medaille

PHP gevorderde
zonder code kunnen we niets,

ik heb alleen het gevoel dat je kijtk of een POST of GET variabele geset is en het formulier in de else hebt gezet
Offline Simax - 30/08/2007 14:29
Avatar van Simax Onbekend
  1. <?php
  2. if(isset($_POST["login"]))
  3. {
  4. if(!empty($_POST["username"]) && !empty($_POST["password"]))
  5. {
  6. $username = mysql_escape_string($_POST["username"]);
  7. $password = mysql_escape_string(md5($_POST["password"]));
  8.  
  9. $query = mysql_query("SELECT * FROM users WHERE us_username = '".$username."' AND us_password = '".$password."'")
  10.  
  11. $result = mysql_fetch_assoc($query);
  12. if($result == true)
  13. {
  14. $_SESSION["login"] = 1;
  15. $_SESSION["id"] = $result["us_id"];
  16. $_SESSION["username"] = $result["us_username"];
  17.  
  18. include("logout.php");
  19. }
  20. else
  21. {
  22. echo("<p class='error'>Deze combinatie is niet correct.</p>");
  23. }
  24.  
  25. }
  26. else
  27. {
  28. echo("<p class='error'>Niet alle velden zijn ingevuld.</p>");
  29. }
  30. }
  31. elseif(!isset($_POST["login"]))
  32. {
  33. ?>
  34. <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" class="login">
  35. <label for="username">Username:</label>
  36. <input id="username" name="username" type="text">
  37. <label for="password">Password:</label>
  38. <input id="password" name="password" type="password">
  39. <input name="login" type="submit" value="Login" class="button">
  40. </form>
  41. <?php
  42. }
  43. ?>
Offline GTW - 30/08/2007 14:31
Avatar van GTW Gouden medaille

PHP gevorderde
  1. elseif(!isset($_POST["login"]))
  2. {
  3. ?>
  4. <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" class="login">
  5. <label for="username">Username:</label>
  6. <input id="username" name="username" type="text">
  7. <label for="password">Password:</label>
  8. <input id="password" name="password" type="password">
  9. <input name="login" type="submit" value="Login" class="button">
  10. </form>
  11. <?php
  12. }
  13. ?>

dit stuk bedoelde ik, hier moet je van maken:
  1. <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" class="login">
  2. <label for="username">Username:</label>
  3. <input id="username" name="username" type="text">
  4. <label for="password">Password:</label>
  5. <input id="password" name="password" type="password">
  6. <input name="login" type="submit" value="Login" class="button">
  7. </form>
Offline Simax - 30/08/2007 14:32
Avatar van Simax Onbekend
  1. elseif(!isset($_POST["login"]))
  2. {
  3.  
  4. }


Is niet nodig?
Offline GTW - 30/08/2007 14:33
Avatar van GTW Gouden medaille

PHP gevorderde
precies
Offline Simax - 30/08/2007 14:34
Avatar van Simax Onbekend
GTW schreef:
precies


Niet helemaal, want wanneer je wel succevol inlogt,
blijft het loginform actief, dus kun je nogmaals inloggen en
dat willen we voorkomen .
Offline DMM - 30/08/2007 14:37
Avatar van DMM PHP beginner
rimex schreef:
Wanneer men niet correct inlogd,
komt er een foutmelding op het scherm.
Alleen word het loginform dan niet opniew getoond,
zodat ze het nogmaals kunnen proberen.

Iemand een idee hoe dit komt?

Waarschijnlijk heb je zoiets als:
  1. if(isset($_POST['naam']) && isset($_POST['ww'])) {
  2. if(!empty($_POST['naam']) && !empty($_POST['ww'])) {
  3. // Rest van de code
  4. } else {
  5. echo "Alles invullen";
  6. }
  7. } else { // Deze else moet weggelaten worden
  8. // Geef formulier weer
  9. }


Om jouw probleem te verhelpen, moet je die laatste else weglaten.
Offline Simax - 30/08/2007 14:40
Avatar van Simax Onbekend
DMM schreef:
[..quote..]
Waarschijnlijk heb je zoiets als:
[..code..]

Om jouw probleem te verhelpen, moet je die laatste else weglaten.


Kijk hierboven!
Offline GTW - 30/08/2007 14:43
Avatar van GTW Gouden medaille

PHP gevorderde
dan moet je dus als het een succesvolle login is, de pagina forwarden naar een ander?

  1. <?php
  2. //login succes!
  3. header("location:home.php");
  4. exit();//niet vergeten!!
Offline Simax - 30/08/2007 14:45
Avatar van Simax Onbekend
GTW schreef:
dan moet je dus als het een succesvolle login is, de pagina forwarden naar een ander?

[..code..]

Helemaal niet, want dan werkt het nog steeds niet.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2026 Sitemasters.be - Regels - Laadtijd: 0.217s