login  Naam:   Wachtwoord: 
Registreer je!
 Forum

login functie

Offline leendert - 24/09/2005 12:16 (laatste wijziging 24/09/2005 12:18)
Avatar van leendertHTML beginner Ik heb deze functie gemaakt: (zit in een class )
  1. <?php
  2. function loginControle()
  3. {
  4. if ( $_POST['username'] == "" ) {
  5. $this->message[] = "Naam niet ingevuld";
  6. }
  7. if ( $_POST['password'] == "" ) {
  8. $this->message[] = "Wachtwoord niet ingevuld";
  9. }
  10.  
  11. if (!$this->message)
  12. {
  13. $db = $this->db;
  14.  
  15. $rQuery=$db->GetAll('SELECT
  16. id,
  17. username
  18. FROM
  19. users
  20. WHERE
  21. username="'.$_POST['username'].'"
  22. AND
  23. password="'.md5($_POST['password']).'"
  24. ');
  25.  
  26. if ($rQuery)
  27. {
  28. foreach ( $rQuery as $value )
  29. {
  30. $iUserId = $value['id'];
  31. }
  32.  
  33. setcookie('user_id',$iUserId,time()+60*60*3*1,'/','www.website.nl');
  34.  
  35. $sQuery = mysql_query ("REPLACE INTO
  36. logins
  37. (
  38. tijdstip,
  39. validate,
  40. user_id,
  41. client_ip
  42. )
  43. VALUES (
  44. NOW(),
  45. '".$sValidate."',
  46. '$iUserId',
  47. '".$_SERVER['REMOTE_ADDR']."'
  48. )
  49. ");
  50. if(!$sQuery){
  51. echo "Error performing query: ".$db->ErrorMsg();
  52. } else {
  53. $_SESSION['time'] = time();
  54. $_SESSION['ingelogd'] = TRUE;
  55. $_SESSION['ipadres'] = $_SERVER['REMOTE_ADDR'];
  56. }
  57. $this->ingelogd = true;
  58.  
  59. } else {
  60. $this->message[] = "Ingevoerde gegevens kloppen niet";
  61. $this->ingelogd = false;
  62. }
  63. }
  64. return $this->ingelogd;
  65. }
  66. ?>


Nu geef ik dus alleen maar true of false terug ($ingelogd staat standaard als false gedefinieerd).
Mijn vraag:
Op welke (beste) manier kan ik nu die $message terug krijgen?

edit:
Commentaar/suggesties zijn welkom ;)

2 antwoorden

Gesponsorde links
Offline Rens - 24/09/2005 12:23
Avatar van Rens Gouden medaille

Crew algemeen
Je zou het kunnen doen d.m.v. het returnen van een array.
Dus je maakt $this->ret aan (is een array).
$this->ingelogd word dan $this->ret['ingelogd'].
$this->message word dan $this->ret['message'].

  1. $this->ret['ingelogd'] = false;
  2. $this->ret['message'] = $this->message;
  3.  
  4. return $this->ret;


  1. $class = class;
  2. $aReturn = $class->login();
  3. if($aReturn['ingelogd'] == false)
  4. {
  5. for($i = 0; $i < count ($aReturn['message']); $i++)
  6. {
  7. echo $aReturn['message'][$i]."<br />";
  8. }
  9. } else
  10. {
  11. // ingelogd
  12. }
Offline leendert - 24/09/2005 15:17
Avatar van leendert HTML beginner he het al opgelost door er een functie bij te maken die de messages returnt.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2026 Sitemasters.be - Regels - Laadtijd: 0.2s