login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Tijd inloggen

Offline Steven - 26/05/2005 21:07 (laatste wijziging 26/05/2005 21:08)
Avatar van StevenHTML interesse Heyz,

in het member systeem wat ik gedownd zit een inlog systeem, daar ben ik nu mee aan het knutselen alleen merk ik dat als je inlogt, en dan na 2 pagina's moet je weer inloggen...? Hoe ik kan ik dit op lossen?

bvd

  1. <?
  2. require("config.php");
  3.  
  4. if($submit){
  5.  
  6. $query = mysql_query("SELECT * FROM members WHERE gebruikersnaam = '$gebruikersnaam' AND wachtwoord = '$wachtwoord' AND geactiveerd = '1'");
  7. $result = mysql_num_rows($query);
  8.  
  9. if(!$result){
  10. $a = "Gebruikersnaam en/of Wachtwoord is/zijn incorrect. Of je bent vergeten om je account te activeren...<br><br><a href=\"?gebruikersnaam=$gebruikersnaam\">Ga terug</a>";
  11. }
  12. else{
  13. while($object = mysql_fetch_object($query)){
  14. $memberid = $object->memberid;
  15. }
  16. $login = 1;
  17. session_register("memberid");
  18. header("Location: index2.php");
  19. }
  20. }
  21. else{
  22. echo "<link rel='stylesheet' content='text/css' href='style.css'>";
  23.  
  24.  
  25. if(!$login){
  26. $a = "<form method='POST' action='index.php?pagina=login'>
  27. <input type='hidden' name='submit' value='1'>
  28. Naam:<br>
  29. <input type='text' name='gebruikersnaam' size='20' value='$gebruikersnaam'><br>
  30. Wachtwoord:<br>
  31. <input type='password' name='wachtwoord' size='20'><br>
  32. <input type='submit' value='Login'> <input type='reset' value='Aanmelden'
  33. onclick='document.location.href=('index.php?pagina=aanmelden')'>
  34. </form>";
  35. }
  36. else{
  37. header("Location: index2.php");
  38. }
  39. }
  40. echo $a;
  41. ?>


Dit is de inlog pagina 

en het komt uit dit script 
http://www.site...amp;id=473

8 antwoorden

Gesponsorde links
Offline Rens - 26/05/2005 21:09
Avatar van Rens Gouden medaille

Crew algemeen
Staat er session_start(); op elke pagina?
Of in config.php?
Offline Steven - 26/05/2005 21:12 (laatste wijziging 26/05/2005 21:17)
Avatar van Steven HTML interesse Dat heb ik eruit moeten halen anders gaf hij 2 errors
of is daar een andere oplossing voor Rens?

[edit]
want toen kon hij ook al geen cookie setten :/

zie hier:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at e:\www\bmxlovers\webwork\index.php:10) in e:\www\bmxlovers\webwork\login.php on line 2

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at e:\www\bmxlovers\webwork\index.php:10) in e:\www\bmxlovers\webwork\login.php on line 2
Offline MechaVore - 26/05/2005 21:14 (laatste wijziging 26/05/2005 21:18)
Avatar van MechaVore Gouden medaille

PHP gevorderde
nee dat moet erin, wat zijn die errors ?

[edit]
Astu
Dus ob_start(); erbij.
Offline Steven - 26/05/2005 21:23 (laatste wijziging 26/05/2005 21:23)
Avatar van Steven HTML interesse Ik heb dat ob_start(); er nu bij

maar het maakt niet uit... probeer maar:

http://www.webwork.nl.tt

user=test
pass=test
Offline MechaVore - 26/05/2005 21:25 (laatste wijziging 26/05/2005 21:26)
Avatar van MechaVore Gouden medaille

PHP gevorderde
Heb je het in je index.php gezet ?
laat je index.php dan is beginnen met
Dus boven je <html> tags en alles..
Offline Fenrir - 26/05/2005 22:00 (laatste wijziging 26/05/2005 22:01)
Avatar van Fenrir PHP expert @lightblade: Als je dat doet kun het het ook omwisselen, of dat ob_start() weglaten.

@all:
Session_start() moet worden aangeroepen voordat er html verstuurd is, dus ook vóór een enter.

Dat moet omdat de server dit doet als hij een pagina naar je browser stuurt:

1. Hij stuurt de headers, hierin staat bijvoorbeeld dat het een html-pagina is, en of er cookies geset moeten worden, en zo ja, welke.
2. Hij stuurt de htmlcode.

De headers moeten ALTIJD voor de htmlcode verstuurd worden. Dus als jij al html verstuurt, en dan session_start() aanroept krijg je een error. Dit is omdat session_start() een cookie verstuurt, en dat kan dus niet als er al html verstuurd is.

Dit is dus fout:

  1. <html>
  2. <body>
  3. <?php
  4. ?>
  5. </body>
  6. </html>


Omdat <html> en <body> voor session_start() komt.

Enters mogen ook niet voor session start:

  1. <?php
  2. ?>
  3. <html>
  4. <head>
  5. ...


Maar dit is goed:

  1. <?php
  2. ?>
  3. <html>
  4. ...


Omdat ob_start() ervoor zorgt dat de htmlcode pas aan het einde wordt verstuurd kun je dit ook gebruiken:

  1. <?php
  2. ?>
  3. <html>
  4. <body>
  5. <?php
  6. ?>
  7. </body>
  8. </html>
  9.  
  10. HIER WORDT DE HTMLCODE PAS VERSTUURD.


Begrijp je het?
Offline BasDV - 27/05/2005 07:02
Avatar van BasDV MySQL interesse Zo geloof ik:
  1. <?
  2. require("config.php");
  3.  
  4. if($submit){
  5.  
  6. $query = mysql_query("SELECT * FROM members WHERE gebruikersnaam = '$gebruikersnaam' AND wachtwoord = '$wachtwoord' AND geactiveerd = '1'");
  7. $result = mysql_num_rows($query);
  8.  
  9. if(!$result){
  10. $a = "Gebruikersnaam en/of Wachtwoord is/zijn incorrect. Of je bent vergeten om je account te activeren...<br><br><a href=\"?gebruikersnaam=$gebruikersnaam\">Ga terug</a>";
  11. }
  12. else{
  13. while($object = mysql_fetch_object($query)){
  14. $memberid = $object->memberid;
  15. }
  16. $login = 1;
  17. session_register("memberid");
  18. header("Location: index2.php");
  19. }
  20. }
  21. else{
  22. echo "<link rel='stylesheet' content='text/css' href='style.css'>";
  23.  
  24.  
  25. if(!$login){
  26. $a = "<form method='POST' action='$PHP_SELF'>
  27. <input type='hidden' name='submit' value='1'>
  28. Naam:<br>
  29. <input type='text' name='gebruikersnaam' size='20' value='$gebruikersnaam'><br>
  30. Wachtwoord:<br>
  31. <input type='password' name='wachtwoord' size='20'><br>
  32. <input type='submit' value='Login'> <input type='reset' value='Aanmelden'
  33. onclick='document.location.href=('index.php?pagina=aanmelden')'>
  34. </form>";
  35. }
  36. else{
  37. header("Location: index2.php");
  38. }
  39. }
  40. echo $a;
  41. ?>
Ik kan niet geweldig scripten maar ik geloof dat dit moet werken. 
Offline Legolas - 27/05/2005 15:03 (laatste wijziging 27/05/2005 15:10)
Avatar van Legolas Onbekend Ik krijg alleen maar header errors.
Zet dus dit helemaal overal boven:
<?
ob_start();
?>
Verder je script:
  1. <?
  2. require("config.php");
  3. if(isset($_post['submit'])){
  4. $query = mysql_query("SELECT * FROM members WHERE gebruikersnaam = '".$_POST['gebruikersnaam']."' AND wachtwoord = '".$_POST['wachtwoord']."' AND geactiveerd = 1");
  5. $result = mysql_num_rows($query);
  6. if(!$result){
  7. $a = "Gebruikersnaam en/of Wachtwoord is/zijn incorrect. Of je bent vergeten om je account te activeren...<br><br><a href='?gebruikersnaam=".$_POST['gebruikersnaam']."'>Ga terug</a>";
  8. }
  9. else{
  10. $object = mysql_fetch_assoc($query);
  11. $memberid = $object['memberid'];
  12. $login = 1;
  13. $_SESSION['login'] = 1;
  14. $_SESSION['memberid'] = $memberid;
  15. header("Location: index2.php");
  16. }
  17. }
  18. else{
  19. echo "<link rel='stylesheet' content='text/css' href='style.css'>";
  20. if(!$login){
  21. $a = "<form method='POST' action='".$PHP_SELF."'>
  22. <input type='hidden' name='submit' value=1>
  23. Naam:<br>
  24. <input type='text' name='gebruikersnaam' size=20 value='".$_GET['gebruikersnaam']."'><br>
  25. Wachtwoord:<br>
  26. <input type='password' name='wachtwoord' size=20><br>
  27. <input type='submit' value='Login'> <input type='reset' value='Aanmelden'
  28. onclick='document.location.href=('index.php?pagina=aanmelden')'>
  29. </form>";
  30. }
  31. else{
  32. header("Location: index2.php");
  33. }
  34. }
  35. echo $a;
  36. ?>

Zo is ie goed!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.275s