login  Naam:   Wachtwoord: 
Registreer je!
 Forum

array meerdere users

Offline fvd - 29/09/2010 22:53 (laatste wijziging 29/09/2010 22:54)
Avatar van fvdNieuw lid Hoi,

Ik ben niet goed in php (gebruik alleen bestaande scripts).
Ik heb volgend stuk code dat ik wil aanpassen naar meerdere users en passwords:

  1. if (!isset($_SESSION['user'])) {
  2. $user = '';
  3. $pass = '';
  4. if (isset($_POST['login'])) {
  5. $user = strtolower(trim($_POST['user']));
  6. $pass = $_POST['pass'];
  7. $errors = array();
  8. if ($user == '' || $user != 'admin') {
  9. $errors['user'] = '';
  10. }
  11. if ($pass == '' || $pass != '123456') {
  12. $errors['pass'] = '';
  13. }
  14. if (empty($errors)) {
  15. $_SESSION['user'] = $user;
  16. } else {
  17. echo '<p class="error">Please fill in your correct ';
  18. if (isset($errors['user']))
  19. echo 'username';
  20. if (count($errors) == 2)
  21. echo ' and ';
  22. if (isset($errors['pass']))
  23. echo 'password';
  24. echo '.</p>', "\n";
  25. }
  26. }


Kan iemand me zeggen hoe ik dit stuk code dan moet aanpassen?
Alvast bedankt hoor!

fvd

2 antwoorden

Gesponsorde links
Offline Joel - 30/09/2010 08:53
Avatar van Joel Eigenaar Je moet gewoon weten hoe je denktaal omzet in code. Als je dat kan, is het niet meer moeilijk. Misschien moet je enkele operators leren, dan kun je al een heel eind ver geraken. En de statements natuurlijk zoals if, else, for, ...

Je hebt nu staan:

  1. if ($user == '' || $user != 'admin') {


en

  1. if ($pass == '' || $pass != '123456') {


Die twee lijnen checken eigenlijk of de username en het password wel goed zijn ingevuld. Als dat niet het geval is, gaat hij een waarde steken in de variabele $errors, en dan wordt er geen sessie gezet met het gevolg dat je niet bent ingelogd.

Als je in die if-statement verschillende usernames en passwords wilt toevoegen, maak je gebruik van het OR statement, in PHP is dit ||.

Bijvoorbeeld:

  1. if ($user == '' || $user != 'admin' || $user != 'joel') {


Nu gebeurt er een controle dat controleer of de ingevulde username gelijk is aan niets of niet gelijk is aan admin of joel. Als dit niet geldt (false) dan krijg je dus een error. Als je admin of joel invult ga je de dus geen error genereren.

  1. if ($pass == '' || $pass != '123456' || $pass != 'sitemasters') {


Hier net hetzelfde. Het password moet gelijk zijn aan '123546' of 'sitemasters' om geen error te krijgen.

Succes :-)
Offline fvd - 30/09/2010 20:03
Avatar van fvd Nieuw lid Beste Joel,

Hartelijk dank voor je uitgebreide uitleg!
Helaas werkt het niet...
Of doe ik toch nog iets mis?

Bedankt,
fvd
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.196s