login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Zoek een soort klein script

Offline AbCkE - 07/02/2005 11:25
Avatar van AbCkEOnbekend ik ben op zoek naar een klein script (of groot)

een login in functions .. 

wat bedoel ik nu ? bv:
ik zou een function willen aanroepen om te zien of iemand is ingelogd
een function voor het inlog formulier te laten versijnen
function voor de login zelf

als iemand zoeen script vind of weet staan lieft een goed ! gelieve dan even te posten of een link te geven want ik vind geen goed werkend... 

7 antwoorden

Gesponsorde links
Offline Rens - 07/02/2005 11:43 (laatste wijziging 07/02/2005 11:43)
Avatar van Rens Gouden medaille

Crew algemeen
Ik heb even een class voor je gemaakt:

De class:
  1. <?PHP
  2. // start de class
  3. class login
  4. {
  5. // functie login check
  6. // checkt of een sessie bestaat
  7. // returned een boolean
  8. function loginCheck($sSessionName)
  9. {
  10. // checken of sessie geset is
  11. if(IsSet($_SESSION[$sSessionName]))
  12. {
  13. // zoja, return true
  14. return true;
  15. } else
  16. {
  17. // zonee, return false
  18. return false;
  19. }
  20. }
  21.  
  22. // login formulier
  23. function loginForm($sAction)
  24. {
  25. // het formulier in een variabele sReturn zetten
  26. $sReturn = "<form method='post' action='".$sAction."'>";
  27. $sReturn .= "Username: <input type='text' name='username'><BR>";
  28. $sReturn .= "Password: <input type='password' name='password'><BR>";
  29. $sReturn .= "<input type='submit' name='submit' value='Inloggen'>";
  30. $sReturn .= "<input type='reset' name='submit' value='Leeg velden'>";
  31. $sReturn .= "</form>";
  32. // formulier returnen
  33. return $sReturn;
  34. }
  35.  
  36. // post functie
  37. function loginPost($sName)
  38. {
  39. // post de waarde uit de variabele sName
  40. return $_POST[$sName];
  41. }
  42.  
  43. // functie login
  44. function login($sSessionName, $sSessionValue)
  45. {
  46. // zet de waarde van sSessionValue in de sessie sSessionName
  47. $_SESSION[$sSessionName] = $sSessionValue;
  48. }
  49. }
  50. ?>


Een voorbeeld:
  1. <?PHP
  2. // include de class
  3. include("class.login.php");
  4.  
  5. // start de class
  6. $cMySQL = new MySQL;
  7.  
  8. // check een sessie met de functie loginCheck
  9. if($cMySQL->loginCheck("username") == TRUE)
  10. {
  11. // ingelogd
  12. echo "Logged in";
  13. } else
  14. {
  15. // niet ingelogd
  16. if($_SERVER['REQUEST_METHOD'] == "POST")
  17. {
  18. // formulier is verstuurd
  19. // waardes ophalen met de functie loginPost
  20. $sUsername = $cMySQL->loginPost("username");
  21. $sPassword = $cMySQL->loginPost("password");
  22. } else
  23. {
  24. // formulier printen
  25. echo $cMySQL->loginForm("dezepagina.php");
  26. }
  27. }
  28. ?>


Uitleg staat bij de code.
Offline AbCkE - 07/02/2005 12:05
Avatar van AbCkE Onbekend Ej, merci !
Offline AbCkE - 07/02/2005 12:19 (laatste wijziging 07/02/2005 12:20)
Avatar van AbCkE Onbekend hmmm klein vraagje bij ee error ...
  1. Fatal error: Cannot instantiate non-existent class: mysql in c:\apache\htdocs\tfc\login.php on line 6

line6:
  1. $cMySQL = new MySQL;



is dat voor mysql connectie enal ?
Offline Fenrir - 07/02/2005 12:21 (laatste wijziging 07/02/2005 12:22)
Avatar van Fenrir PHP expert er moet staan:

$cMySQL = new login();

de naar hiervan is nogal vreemd, mss kun je het beter zo noemen:

$user = new login();


persoonlijk gebruik ik altijd een static class, die je overal kunt gebruiken.

USER::login();

Maar dat werkt mss alleen in php5.
Offline Rens - 07/02/2005 12:22
Avatar van Rens Gouden medaille

Crew algemeen
How, shit, heb het daar verkeerde naam gegeven:s
De juiste code:

  1. <?PHP
  2. // include de class
  3. include("class.login.php");
  4.  
  5. // start de class
  6. $cLogin = new login;
  7.  
  8. // check een sessie met de functie loginCheck
  9. if($cLogin->loginCheck("username") == TRUE)
  10. {
  11. // ingelogd
  12. echo "Logged in";
  13. } else
  14. {
  15. // niet ingelogd
  16. if($_SERVER['REQUEST_METHOD'] == "POST")
  17. {
  18. // formulier is verstuurd
  19. // waardes ophalen met de functie loginPost
  20. $sUsername = $cLogin->loginPost("username");
  21. $sPassword = $cLogin->loginPost("password");
  22. } else
  23. {
  24. // formulier printen
  25. echo $cLogin->loginForm("dezepagina.php");
  26. }
  27. }
  28. ?>


Zo hoort het.
Had p.o. even MySQL ingedachte ipv login.
Vandaar ook dat je die error kreeg.
Offline Fenrir - 07/02/2005 12:26 (laatste wijziging 07/02/2005 12:39)
Avatar van Fenrir PHP expert dit is de class die ik gebruik (nog in beta):
(werkt static alleen in php5?)

  1. <?php
  2. if(!defined('SAFE')) die();
  3.  
  4. class user
  5. {
  6.  
  7. static $userinfo = array();
  8.  
  9. static function construct()
  10. {
  11. if(isset($_SESSION['userinfo']))
  12. {
  13. USER::$userinfo = $_SESSION['userinfo'];
  14. }
  15. }
  16.  
  17. static function isloggedin()
  18. {
  19. if(!empty(USER::$userinfo))
  20. {
  21. return true;
  22. }else
  23. {
  24. return false;
  25. }
  26. }
  27.  
  28. static function login($name, $pass)
  29. {
  30. if($data = Select("SELECT * FROM gebruikers WHERE loginnaam='" . addslashes($name) . "' AND wachtwoord='" . md5($pass) . "'"))
  31. {
  32. USER::$userinfo = $data;
  33. $_SESSION['userinfo'] = USER::$userinfo;
  34. return true;
  35. }else
  36. {
  37. return false;
  38. }
  39. }
  40. }
  41.  
  42. USER::construct();
  43.  
  44. ?>


je gebruikt het zo:
  1. <?php
  2. if(USER::login($naam, $pass))
  3. {
  4. echo 'login gelukt!';
  5. }
  6. ?>


het voordeel hiervan is dat je dit ook vanuit een andere class of functie kunt gebruiken.
Offline AbCkE - 07/02/2005 12:37
Avatar van AbCkE Onbekend ok bedankt mensen ;) nu zal het wel lukken ;)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.235s