Ik heb nu een beveiligde pagina. Daarvoor gebruik ik dit script:

<?php
if (!isset($_POST['submit'])) {
   echo '<fieldset><legend>Login</legend>';
   echo '<form name="login" action="' . $_SERVER['PHP_SELF'] . '" method="post">';
   echo '<input type="text" class="text" size="12"  name="user" />&nbsp;';
   echo '<input type="password" class="text"  size="12" name="pass" />&nbsp;';
   echo '<input type="submit" name="submit" value="Log in!" class="text" />';
   echo '</form>';
   echo '</fieldset>';
} else {
   include("connect.php");
   $sql = "SELECT * FROM users WHERE user='" . $_POST['user'] . "' AND pass = '" . md5($_POST['pass']) . "'";
   $result = mysql_query($sql);
   if (mysql_num_rows($result) == 1) {
      echo 'user gevonden en wachtwoord is correct';
      $_SESSION['user'] = $_POST['user'];
      $_SESSION['pass'] = $_POST['pass'];
  echo '<a href="check2.php">droog</a>';

   } else { 
      echo '<h1>Verkeerde gebruikersnaam of verkeerd wachtwoord!</h1> <a href="index.php">Probeer opnieuw</a>'; 
   }
}
?>


Maar als ik nu naar 'check2.php' ga, die ook deze code bevat, dan moet ik weer opnieuw inloggen. Hoe kan ik dat verhelpen?

[edit]&lt;?php en ?&gt; toegevoegd[/edit]
Ja dat heeft gewerkt:-) danku


Dit is nu mijn script:

<?php
session_start();
if (!isset($_SESSION['sessienaam'])) {
   echo '<fieldset><legend>Login</legend>';
   echo '<form name="login" action="' . $_SERVER['PHP_SELF'] . '" method="post">';
   echo '<input type="text" class="text" size="12"  name="user" />&nbsp;';
   echo '<input type="password" class="text"  size="12" name="pass" />&nbsp;';
   echo '<input type="submit" name="submit" value="Log in!" class="text" />';
   echo '</form>';
   echo '</fieldset>';
   if (isset($_POST['submit'])) {
      include("connect.php");
      $sql = "SELECT * FROM users WHERE user='" . $_POST['user'] . "' AND pass = '" . md5($_POST['pass']) . "'";
      $result = mysql_query($sql);
      if (mysql_num_rows($result) == 1) {
         $_SESSION['user'] = $_POST['user'];
         echo 'Je bent succesvol ingelogd! <br />';
         echo '<a href="index.php">Klik hier om door te gaan</a>';
      } else { 
         die('<h1>Verkeerde gebruikersnaam of verkeerd wachtwoord!</h1> <a href="index.php">Probeer opnieuw</a>'); 
      }
   }
} else {
   echo 'Je bent al/nog ingelogd! Klik <a href="loguit.php">hier</a> om uit te loggen.';
} ?>


Wat er nu gebeurt, is als je een geldig user en pass invoert, dat als je op ok klikt, je dit tezien krijgt:
de form en daaronder je bent ingelogd

en als je iets fouts invult:
de form en daaronder verkeerd wachtwoord




Hoe krijg ik dít dan goed?
Kwestie van regels 11 tm 21 naar boven verplaatsen en je form in het else gedeelte van die statement te plaatsen:


<?php
session_start();
if (!isset($_SESSION['sessienaam'])) 
{
   if (isset($_POST['submit'])) 
   {
      include("connect.php");
      $sql = "SELECT * FROM users WHERE user='" . $_POST['user'] . "' AND pass = '" . md5($_POST['pass']) . "'";
      $result = mysql_query($sql);
      if (mysql_num_rows($result) == 1) 
	  {
         $_SESSION['user'] = $_POST['user'];
         echo 'Je bent succesvol ingelogd! <br />';
         echo '<a href="index.php">Klik hier om door te gaan</a>';
      } 
	  else 
	  { 
         die('<h1>Verkeerde gebruikersnaam of verkeerd wachtwoord!</h1> <a href="index.php">Probeer opnieuw</a>'); 
      }
   }
   else
   {
	   echo '<fieldset><legend>Login</legend>';
	   echo '<form name="login" action="' . $_SERVER['PHP_SELF'] . '" method="post">';
	   echo '<input type="text" class="text" size="12"  name="user" />&nbsp;';
	   echo '<input type="password" class="text"  size="12" name="pass" />&nbsp;';
	   echo '<input type="submit" name="submit" value="Log in!" class="text" />';
	   echo '</form>';
	   echo '</fieldset>';
   }
} 
else 
{
   echo 'Je bent al/nog ingelogd! Klik <a href="loguit.php">hier</a> om uit te loggen.';
} 
?> 
Oke bedankt allemaal alles werkt nu naar behoren:-) :-D

Reageren