login  Naam:   Wachtwoord: 
Registreer je!
 Forum

foreach array en error (Opgelost)

Offline BaddyZ - 20/04/2007 11:24
Avatar van BaddyZNieuw lid Dit is wat ik atm heb:

  1. <?php
  2.  
  3.  
  4. function checkLogIn(){
  5. $users = array();
  6. $users[0] = array('id'=>'1268', 'naam'=>'Baddy', 'wachtwoord'=>'ichigo');
  7. $users[1] = array('id'=>'2304', 'naam'=>'Chris', 'wachtwoord'=>'bleach');
  8.  
  9. $naam = $_POST['inlog'];
  10. $wachtwoord = $_POST['wachtwoord'];
  11.  
  12.  
  13. $logIn = false;
  14.  
  15. foreach($users as $user){
  16. list($id, $naam, $wachtwoord) = $user;
  17. $userNaam = $user[$naam];
  18. $userWachtwoord = $user[$wachtwoord];
  19.  
  20. if($userNaam == $naam){
  21. $logIn = true;
  22. if($userWachtwoord != $wachtwoord){
  23. $logIn = false;
  24. }
  25. }
  26.  
  27.  
  28. }
  29.  
  30. return $logIn;
  31. }
  32. ?>


$naam = $_POST['inlog'];
$wachtwoord = $_POST['wachtwoord'];
deze twee worden verkregen via een input..

Er moet worden gecontroleerd of de ingevoerde combinatie naam/password voorkomt in de aangemaakte array.

Maar nu krijg ik deze errors:
Notice: Undefined offset: 2 in c:\program files\easyphp1-8\www\moduleopdrachten\forum\login.php on line 72

Notice: Undefined offset: 1 in c:\program files\easyphp1-8\www\moduleopdrachten\forum\login.php on line 72

Notice: Undefined offset: 0 in c:\program files\easyphp1-8\www\moduleopdrachten\forum\login.php on line 72

Notice: Undefined index: in c:\program files\easyphp1-8\www\moduleopdrachten\forum\login.php on line 73

Notice: Undefined index: in c:\program files\easyphp1-8\www\moduleopdrachten\forum\login.php on line 74

Notice: Undefined offset: 2 in c:\program files\easyphp1-8\www\moduleopdrachten\forum\login.php on line 72

Notice: Undefined offset: 1 in c:\program files\easyphp1-8\www\moduleopdrachten\forum\login.php on line 72

Notice: Undefined offset: 0 in c:\program files\easyphp1-8\www\moduleopdrachten\forum\login.php on line 72

Notice: Undefined index: in c:\program files\easyphp1-8\www\moduleopdrachten\forum\login.php on line 73

Notice: Undefined index: in c:\program files\easyphp1-8\www\moduleopdrachten\forum\login.php on line 74


Zou iemand weten hoe ik dit kan oplossen, moet ik misschien een implode functie gebruiken ?

4 antwoorden

Gesponsorde links
Offline Ibrahim - 20/04/2007 11:55 (laatste wijziging 20/04/2007 12:17)
Avatar van Ibrahim PHP expert ten eerste zijn het notices en geen errors 
ten tweede: de notices zeggen je dat de array keys die je gebruikt niet bestaan
Offline BaddyZ - 20/04/2007 12:19
Avatar van BaddyZ Nieuw lid ja maar dat komt denk ik doorr de foreach($users as $user){

moet ik misschien iets doen met de key=>value van de associatieve array?
Offline Ibrahim - 20/04/2007 12:49 (laatste wijziging 20/04/2007 12:56)
Avatar van Ibrahim PHP expert probeer het eens zo:

  1. <?php
  2. function checkLogIn( $naam, $wachtwoord )
  3. {
  4. $users = array();
  5.  
  6. $users[0] = array('id'=>'1268', 'naam'=>'Baddy', 'wachtwoord'=>'ichigo');
  7. $users[1] = array('id'=>'2304', 'naam'=>'Chris', 'wachtwoord'=>'bleach');
  8.  
  9. $logIn = false;
  10.  
  11. foreach($users as $user)
  12. {
  13. if( $user['naam'] == $naam )
  14. {
  15. $logIn = true;
  16.  
  17. if( $user['wachtwoord'] != $wachtwoord )
  18. {
  19. $logIn = false;
  20. }
  21. }
  22. }
  23.  
  24. return $logIn;
  25. }
  26. // en het inloggen gaat zo:
  27. if( checkLogIn( $_POST['username'], $_POST['wachtwoord'] ) )
  28. {
  29. echo 'logged in';
  30. }
  31. else
  32. {
  33. echo 'not logged in';
  34. }
Offline Mad_Mike - 20/04/2007 13:04
Avatar van Mad_Mike PHP beginner
  1. foreach($users as $user)
  2. {
  3. if( $user['naam'] == $naam && $user['wachtwoord'] == $wachtwoord)
  4. {
  5. $logIn = true;
  6. break;
  7. }
  8. }
Kan korter he 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.221s