login  Naam:   Wachtwoord: 
Registreer je!
 Nota's op tutorial:

Tutorials > PHP > Maak een login-script.
Pagina:

Reacties op de tutorial Maak een login-script.


Offline  Zitz
Gepost op: 29 september 2004 - 19:14
Nieuw lid

Hoe moet ik dit script nu gebruiken? Gewoon alles onder elkaar zetten?

Offline  bosgroen
Gepost op: 02 oktober 2004 - 18:28
Gouden medaille

PHP interesse


ja, en aanpassen aan de eigen situatie, doch dit is geen script het is een tutorial! Het is vooral een werkwijze om een loginscript te maken. Het illusteert dat met een klasse werken in dit geval heel handig is.

Offline  ParaCdo
Gepost op: 30 januari 2005 - 11:35
Lid

Hoi ik had jou tutorial als basis voor een loginscript gebruikt, alles werkt perfect maar wanneer ik ingelogd ben geeft hij volgende fout weer, Hoe kan ik dit het best oplossen?

foutmelding:

  1. <br />
  2. <b>Warning</b>: Cannot modify header information - headers already sent by (output started at /home/account/public_html/class.php:83) in <b>/home/account/public_html/class.php</b> on line <b>25</b><br />
  3. <br />
  4. <b>Warning</b>: Cannot modify header information - headers already sent by (output started at /home/account/public_html/class.php:83) in <b>/home/account/public_html/class.php</b> on line <b>26</b><br />


verdere info,
class.php is de pagina met de loginclasse die ik steeds include.
regel 83 is het einde van m'n klasse & pagina.
regel 25 & 26 zijn de regels waar de cookie wordt geplaatst:

  1. setcookie ("member_id",$_SESSION['member_id'],time() + 3600*24*5,'/','webadres.be');
  2. setcookie ("pass_hash",md5($_POST['pass']),time() + 3600*24*5,'/','webadres.be');



Offline  bosgroen
Gepost op: 02 februari 2005 - 18:09
Gouden medaille

PHP interesse


cookies moeten altijd aangemaakt worden voordat de headers worden verzonden. Dit is waar het probleem ligt.
Citaat:
Ik quote de tutorial:
Cookies moeten namelijk aangemaakt worden voor we de headers versturen (dus voordat we enige echo doen) We zullen dus op twee tijdstippen werken, bij het begin van het parsen van een pagina (cookies verzenden/ontvangen) en later voor het echoën van de login-informatie.

bovenaan het script, voordat je maar iets geëchoëd hebt, (dus html hebt aangemaakt in enige vorm) moet de include van de klasse gedaan worden en de klasse worden geconstructed met bv $bezoeker = new login;

dan op de goeie plaats in het script echo je de getoutput.

met cookies moet je altijd in twee tijden werken. Cookies altijd aanmaken voordat de headers worden verstuurd. Werkelijke ouput, zoals de inloggevolgen, worden dan later bij het outputten afgehandeld. Met behulp van klasses is dit, in twee tijden werken makkelijker en overzichtelijker te realiseren. Dit was een van de voornaamste elementen die ik wilde meegeven met deze tutorial -niet script-

Offline  ParaCdo
Gepost op: 03 februari 2005 - 12:36
Lid

Mja die heb ik ook voor alle html geinclude. :

  1. <?
  2. require('class.php');
  3. $bezoeker = new login;
  4. ?>
  5. <html>
  6. <head>
  7. <title>Index</title>
  8. </head>
  9. <body>
  10. <div id='algemeen'>
  11. <div id='menu'>
  12. <?php include "menu.php"; ?>
  13. </div>
  14. <div id='inhoud'>
  15. <?php include "inhoud.php"; ?>
  16. </div>
  17. </div>
  18. </body>
  19. </html>


in de pagina 'menu.php' heb ik de echo getoutput; gezet. dus die opent in de index.php tussen < div > tags

verder zijn menu.php & inhoud.php gewone html pagina's met hier en daar wat php om te kijken of hij ingelogd is.

Toch geeft hij nog steeds die fout.....

Offline  bosgroen
Gepost op: 04 februari 2005 - 16:24
Gouden medaille

PHP interesse


raar, misschien is het iets banaals als:
  1. <?
  2. require('class.php');
het foute
en
  1. <?
  2. require('class.php');
het goeie, want een enter of spacie is wel degelijk een output, en dus worden de headers verzonden. Kijk gewoons eens alles goed na, je moet volgens mij al iets geoutput hebben, voordat je de klasse aanroept.

Offline  Ibrahim
Gepost op: 25 augustus 2005 - 21:16
PHP expert

Citaat:
[I][B]ParaCdo[/B] schreef op 30 Januari 2005 - 11:35[/I]

Hoi ik had jou tutorial als basis voor een loginscript gebruikt, alles werkt perfect maar wanneer ik ingelogd ben geeft hij volgende fout weer, Hoe kan ik dit het best oplossen?

foutmelding:

[..code..]

verdere info,
class.php is de pagina met de loginclasse die ik steeds include.
regel 83 is het einde van m'n klasse & pagina.
regel 25 & 26 zijn de regels waar de cookie wordt geplaatst:

[..code..]


zet ob_start(); bovenaan je pagina

Offline  Taboen
Gepost op: 22 januari 2006 - 20:44
Nieuw lid

Citaat:
Nu de klasse af is kunnen we het implementeren in onze website.
We moeten dus op alle pagina's van onze website deze klasse includen. Temeer moeten we de klasse aanroepen, met $bezoeker = new login;
Dan kunnen we gelijk waar in onze scripts de functie $bezoeker->is_ingelogd() gebruiken. Of de forms echoën door $bezoeker->get_output(); aan te roepen.
Bovendien, als de functie $bezoeker->is_ingelogd() een true retourneerde, dan kunnen we de sessie variabelen $_SESSION['member_id'], $_SESSION['member_name'] en $_SESSION['count'] raadplegen. We kunnen eveneens overal nieuwe sessie variablen aanmaken om gegevens op te slaan.

Wat moet ik nou precies op elke pagina zetten? Ik snap dit niet helemaal.

Offline  bosgroen
Gepost op: 07 mei 2006 - 17:46
Gouden medaille

PHP interesse


--
We moeten dus op alle pagina's van onze website deze klasse includen. Temeer moeten we de klasse aanroepen, met $bezoeker = new login;
--
Bovenstaande dus op iedere pagina

Offline  jeanke2
Gepost op: 20 november 2006 - 19:11
Nieuw lid

Dus ik plaats op elke pagina:
include "login.php"; // het login script dus met de klasse
$bezoeker = new login();
en dan zou het moeten werken?
(Ik krijg slechts de pagina die eigenlijk zou moeten beschermd worden)

Offline  maestrochico
Gepost op: 23 november 2006 - 10:49
Nieuw lid

moet dit: if($this->is_ingelogd)
niet dit zijn: if($this->is_ingelogd())
??
volgens mij wel  

Offline  bosgroen
Gepost op: 27 november 2006 - 00:52
Gouden medaille

PHP interesse


ja, idd maestrochico, een overtypfoutje

Offline  urqbz
Gepost op: 27 november 2006 - 17:08
PHP interesse

dit werkt niet bij me    

Offline  leiny
Gepost op: 04 mei 2007 - 07:11
Nieuw lid

Om toch noch even de puntjes op de ï te zetten...

Moet, onder kopje 6 (get_output), bij het 2e kader met code:

  1. if($this->is_ingelogd) return 'string met login informatie en een button om [b]in[/b] te loggen';


niet button om uit te loggen zijn?
aangezien je al ingelogd bent (zie code).

Ik wil niks afkraken, maar ik dacht laat ik het toch maar even zeggen, was voor mij ietwat verwarrend...


Offline  adoo
Gepost op: 26 november 2007 - 22:30
Nieuw lid

Bij mij werkt het, tof 

Offline  Squid
Gepost op: 01 augustus 2008 - 08:20
Nieuw lid

Ik snap veel van login scripts en ik heb er al een aantal geschreven, maar ik vind dit wel ovendreven moeilijk hoe jij met al die functies werkt...
Wel moet ik je een compliment geven met het gebruiken van hash IPV 32 bit codering. die zijn namelijk ez om te hacken. 

Offline  heymeemij
Gepost op: 04 september 2009 - 10:49
Nieuw lid

Slecht login systeem do not use this.
De schrijver dient mij prive te contacteren om enkele essentiele fouten er uit te halen.

Vooral als je OO gebruikt moet je het volledig doorvoeren en het User object op de sessie zetten. Dat maakt dat je bij elke verandering van je object (toevoegingen) geen essentiele code hoeft te veranderen en dat u alle info over de user onmiddelijk hebt zonder de database te ondervragen.
Dit om te maken dat je veel users aankan en dit is al zeker niet het geval.

Offline  Chilion
Gepost op: 24 februari 2011 - 09:42
MySQL interesse

Ik snap niet waar je alle code onder gooit. In welke functie komt nu welke code?

Pagina:

Enkel aanvullende informatie is welkom. Geen prijzende of afkeurende reacties.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.09s