login  Naam:   Wachtwoord: 
Registreer je!
 Forum

login script met sessions

Offline brut0r - 16/03/2006 18:16
Avatar van brut0rNieuw lid hoi allemaal,
index.php
  1. <?
  2.  
  3.  
  4. require("classes/login.class.php");
  5.  
  6. $Login = new Login();
  7.  
  8. $pageid = $_GET['pageid'];
  9. $action = $_GET['action'];
  10.  
  11. mysql_connect("localhost", "root", "");
  12. mysql_select_db("competitie");
  13.  
  14. ?>
  15.  
  16. <html>
  17. <head>
  18. <title>PlaceWeb</title>
  19. <link href='style.css' type='text/css' rel='stylesheet'>
  20. </head>
  21.  
  22. <body>
  23.  
  24. <div id='container'>
  25. <div id='content'>
  26. <div id='middle'>
  27. <table width='100%'>
  28. <tr>
  29. <td valign='top'>
  30. <div>
  31. <? include('menu.php');?>
  32. </div>
  33.  
  34. </td>
  35. <td valign='top'>
  36. <div id='news'>
  37. <?
  38. switch ($pageid)
  39. {
  40. case 'login':
  41. if ($action == 'form')
  42. {
  43. $Login -> form();
  44. }
  45. if ($action == 'check')
  46. {
  47. $Login -> check();
  48. }
  49. break;
  50. default:
  51. {
  52. $Login -> form();
  53. }
  54. break;
  55. }
  56. ?>
  57.  
  58.  
  59. </div>
  60.  
  61. </td>
  62. </tr>
  63. </table>
  64. </div>
  65. </div>
  66. © 2006 - C.Jongman versie 1.0 - Alle rechten voorbehouden.
  67. </div>
  68.  
  69. </body>
  70. </html>


En de login.class.php






  1. <?php
  2.  
  3. class Login
  4. {
  5. function form()
  6. {
  7. ?>
  8. <form method='post' action='index.php?pageid=login&action=check'>
  9. <table align='center'>
  10. <tr>
  11. <td>Gebruikersnaam:</td>
  12. <td><input id='input-text' type='text' name='username2'></td>
  13. </tr>
  14. <tr>
  15. <td>Wachtwoord:</td>
  16. <td><input id='input-text' type='password' name='password2'></td>
  17. </tr>
  18. <tr>
  19. <td align='center' colspan='2'><input id='button' type='submit' name='submit' value='Login'></td>
  20. </tr>
  21. </table>
  22. </form>
  23. <?
  24. }
  25.  
  26.  
  27. function check()
  28. {
  29. $postedusername = $_POST['username2'];
  30. $postedpassword = $_POST['password2'];
  31.  
  32. $query = "SELECT * FROM users";
  33. $result = mysql_query($query);
  34. $row = mysql_fetch_array($result);
  35. extract($row);
  36.  
  37. if ($postedusername == '$username')
  38. {
  39. if ($postedpassword != '$password')
  40. {
  41. ?>
  42. <table border='0' align='center' width='95%'>
  43. <tr>
  44. <td align='center'>Fout wachtwoord.</td>
  45. </tr>
  46. <tr>
  47. <td>&nbsp;</td>
  48. </tr>
  49. <tr>
  50. <td align='center'><a href='index.php'>Back</a></td>
  51. </tr>
  52. </table>
  53. <?
  54. }
  55. else
  56. {
  57. $_SESSION['username'] = $postedusername;
  58. ?>
  59.  
  60. <table border='0' align='center' width='95%'>
  61. <tr>
  62. <td align='center'>Gelukt.</td>
  63. </tr>
  64. <tr>
  65. <td>&nbsp;<a href='index.php'>index</a></td>
  66. </tr>
  67. </table>
  68.  
  69. <?
  70. }
  71. }
  72. }
  73. }
  74. ?>


Nu is mijn vraag, ik post mijn gegevens over, maar neemt de var $username niet overal mee naartoe. De sessie blijft dus niet bestaan, lijkt het.

Ik krijg de foutmeldingen:

Notice: Undefined index: pageid in c:\easyphp1-8\www\competitie\index.php on line 10

Notice: Undefined index: action in c:\easyphp1-8\www\competitie\index.php on line 11

En de var $username fout:

Notice: Undefined variable: susername in c:\easyphp1-8\www\competitie\menu.php on line 15

Ik zal wel weer zon lullig foutje hebben gemaakt. Ik hoop dat iemand mij kane helpen.
alvast bedankt

9 antwoorden

Gesponsorde links
Offline Rens - 16/03/2006 18:19
Avatar van Rens Gouden medaille

Crew algemeen
Voor de eerste 2, gebruik IsSet.
En in menu.php op lijn 15 gebruik je susername ipv username.
Offline brut0r - 16/03/2006 18:24
Avatar van brut0r Nieuw lid Ja ok maar als ik dit doe:

if (isset($_GET['pageid'])) {
$pageid = $_GET['pageid'];
}

Dan krijgt hij de foutmelding dat hij bij switch($pageid) niks ziet..
Offline Rens - 16/03/2006 18:26
Avatar van Rens Gouden medaille

Crew algemeen
Dan moet je het zo doen:
  1. if (isset($_GET['pageid'])) {
  2. $pageid = $_GET['pageid'];
  3. } else
  4. {
  5. $pageid = 1;
  6. }

oid.
Anders krijgt $pageid alleen een waarde als $_GET['pageid'] geset is.
Offline brut0r - 16/03/2006 18:29
Avatar van brut0r Nieuw lid Ok dat werkt, dank je wel.

Je zegt hier dus als pageid gezet is reken $pageid als 1 dus pakt hij een pageid?



Nu dat andere nog met session.
Offline Rens - 16/03/2006 18:32 (laatste wijziging 16/03/2006 18:32)
Avatar van Rens Gouden medaille

Crew algemeen
  1. if (isset($_GET['pageid'])) // is pageid=<id> in de url geset?
  2. {
  3. // ja
  4. // we zetten de waarde daarvan in de var. $pageid
  5. $pageid = $_GET['pageid'];
  6. } else
  7. {
  8. // nee
  9. // we maken $pageid aan, met de standaard pagina
  10. $pageid = 1;
  11. }


Met die sessie zou ik zo niet weten...
Offline brut0r - 19/03/2006 20:13
Avatar van brut0r Nieuw lid Hey maar nu krijg ik nog 1 fout..

  1. $right = $Rights -> getright();


Is de code , als die gezet is alles goed, maar zo niet dan krijg ik de foutmeldingen hieronder


Notice: Undefined index: username in c:\easyphp1-8\www\stage\www\classes\rights.class.php on line 7

Warning: mysql_query(): Toegang geweigerd voor gebruiker: 'ODBC'@'localhost' (Wachtwoord gebruikt: NEE) in c:\easyphp1-8\www\stage\www\classes\rights.class.php on line 10

Warning: mysql_query(): A link to the server could not be established in c:\easyphp1-8\www\stage\www\classes\rights.class.php on line 10

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\easyphp1-8\www\stage\www\classes\rights.class.php on line 12

Notice: Undefined variable: rights in c:\easyphp1-8\www\stage\www\classes\rights.class.php on line 16

Notice: Undefined index: username in c:\easyphp1-8\www\stage\www\includes\menu.php on line 19

Notice: Undefined index: username in c:\easyphp1-8\www\stage\www\classes\rights.class.php on line 7

Notice: Undefined variable: rights in c:\easyphp1-8\www\stage\www\classes\rights.class.php on line 16


Zijn er wel veel, maar tis maar 1 foutje..

alvast bedankt.
Offline DKmetal - 19/03/2006 20:21
Avatar van DKmetal Onbekend offtopic:
@ rensjuh de link van Isset werkt niet
Offline Rens - 19/03/2006 20:33
Avatar van Rens Gouden medaille

Crew algemeen
Bij mij wel?
http://www.php.net/isset
Offline brut0r - 19/03/2006 20:38
Avatar van brut0r Nieuw lid Ik heb het al 

kmoest isset op de rights.class ook gebruiken.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2026 Sitemasters.be - Regels - Laadtijd: 0.213s