login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Login ? ob_start(); ?

Offline delta_004 - 18/01/2005 17:11
Avatar van delta_004Onbekend Hoi,
Dit is gewoon effe simpel login systeem.
Alleen de cookie kan die niet verzenden, ob_start(); lever geen een resultaat op.

Willen jullie me helpen aub:?:
Alvast bedankt

  1. <?
  2. if($password != "pepinster") {
  3. die("<br>&nbsp;Restricted page, please fill in your password.<form action='statistieken.php' method='post'>
  4. &nbsp;<input style=\"border: 1px solid #000000\" type='password' name='password'> <input style=\"border: 1px solid #000000\" value=\"Confirm\" type='submit'></form>");
  5. setcookie("inloggen", "inloggen",time()+60*60*24*365);
  6. }
  7. ?>

12 antwoorden

Gesponsorde links
Offline numlockrond - 18/01/2005 17:18
Avatar van numlockrond Onbekend stap 1: haal ob_start(); weg
stap 2: zet setcookie() voor die()

ervan uitgaande dat er geen andere output boven staat zou het nu moeten werken.

nog 1 opmerking: moet $password niet $_POST['password'] zijn??
Offline delta_004 - 18/01/2005 17:22 (laatste wijziging 18/01/2005 17:27)
Avatar van delta_004 Onbekend maar jij zegt zo
  1. <?
  2.  
  3. if($_POST['password'] != "pepinster") {
  4. setcookie("inloggen", "inloggen",time()+60*60*24*365);
  5.  
  6. die("<br>&nbsp;Restricted page, please fill in your password.<form action='statistieken.php' method='post'>
  7. &nbsp;<input style=\"border: 1px solid #000000\" type='password' name='password'> <input style=\"border: 1px solid #000000\" value=\"Confirm\" type='submit'></form>");
  8. }
  9. ?>

Maar dan word de cookie al gezet voor het inlogge.
Offline Bart - 18/01/2005 17:28
Avatar van Bart PHP expert Nee dat is nogal logisch, want je 'set die cookie' als je gegevens niet kloppen, je moet die cookie setten als je gegevens kloppen.
Offline delta_004 - 18/01/2005 17:31 (laatste wijziging 18/01/2005 17:31)
Avatar van delta_004 Onbekend Bart wil je wat duidelijker zijn.
En nederlands praten AUB
En ik wil dat pas de cookie word gezet als het wachtwoord klopt!
Bart jij bent toch een goede scripter, zoja wil je me dan aub helpen?
Offline Maarten - 18/01/2005 17:33
Avatar van Maarten Erelid Mss kan hij er een tekeningetje bijmaken?
  1. if($_POST['password'] != "pepinster") {
Wat stelt dat voor? Lees dat nu eens: ALS het wachtwoord NIET GELIJK IS aan pepinster moet je inloggen. Dus maak van die != gewoon == ...
Offline VonDutch - 18/01/2005 17:34
Avatar van VonDutch PHP interesse je kan alleen $password gebruiken als je register_globals aan hebt staan. Je kan beter altijd de volledige globale arrays gebruiken, als je bijvoorbeeld dit doet in een bestand, bijv. index.php:
  1. <?php
  2. // als het wachtwoord goed is wordt $_SESSION['loggedin'] 1
  3. if ($_POST['password'] == "w8woord")
  4. {
  5. $_SESSION['loggedin'] = 1;
  6. }
  7. else
  8. {
  9. $_SESSION['loggedin'] = 0;
  10. }
  11. // als register_globals aanstaat, kan je dit doen:
  12. if ($loggedin == 1)
  13. {
  14. print "Very very classified info";
  15. }
  16. else
  17. {
  18. print "Not verified!";
  19. }
  20. ?>


Als iemand nu gewoon naar index.php?loggedin=1 gaat, wordt de variabele $loggedin gewoon 1. Dit voorbeeld is niet helemaal perfect omdat er ook nog overschreven wordt in die globals en er wordt in het bestand zelf ook nog overschreven, maar je begrijpt wel ongeveer wat ik bedoel toch ;)
Offline delta_004 - 18/01/2005 17:34
Avatar van delta_004 Onbekend had ik al veranderd
Offline numlockrond - 18/01/2005 17:36 (laatste wijziging 18/01/2005 17:38)
Avatar van numlockrond Onbekend
Citaat:
En ik wil dat pas de cookie word gezet als het wachtwoord klopt!
Lijkt me logisch, ik had alleen eerst niet zo goed gekeken naar het doel van je script.

De code in die if wordt alleen uitgevoerd als het wachtwoord niet klopt. Maar als het wachtwoord niet klopt wil je geen cookie setten. Je bent dus heel onlogisch bezig.

De setcookie moet je onder de if zetten (na } dus), eventueel in een else, zodat het cookie wordt geset als $_POST['password'] != 'blabla' FALSE opgelevert...
Offline Button - 18/01/2005 19:44
Avatar van Button PHP ver gevorderde
  1. <?
  2. if($password != "pepinster") {
  3. die("<br>&nbsp;Restricted page, please fill in your password.<form action='statistieken.php' method='post'>
  4. &nbsp;<input style=\"border: 1px solid #000000\" type='password' name='password'> <input style=\"border: 1px solid #000000\" value=\"Confirm\" type='submit'></form>");
  5.  
  6. } else{
  7. setcookie("inloggen", "inloggen",time()+60*60*24*365);
  8. }
  9. ?>


probeer dat eens
Offline delta_004 - 18/01/2005 19:48 (laatste wijziging 18/01/2005 19:52)
Avatar van delta_004 Onbekend Dankjewel voor jullie hulp!
Maar nu een cookie fout!
Kijk deze melding krijg ik:
  1. Warning: Cannot modify header information - headers already sent by (output started at /home/virtual/site55/fst/var/www/html/beginpage/statistieken.php:4) in /home/virtual/site55/fst/var/www/html/beginpage/statistieken.php on line 314
En tog heb ik er bij staan
  1. <?
  2. ?>
Offline numlockrond - 18/01/2005 19:57
Avatar van numlockrond Onbekend er staat dat de output begint in statistieken.php. Dat include je dus blijkbaar nog ergens (of heet dit bestand zo??).

ob_start() moet dan wel helemaal bovenaan staan (dus ook voor die include).
Offline delta_004 - 18/01/2005 19:58
Avatar van delta_004 Onbekend Sorry ik die geen include
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2026 Sitemasters.be - Regels - Laadtijd: 0.228s