Vraag over php script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Carlo

Carlo

21/09/2004 16:08:00
Quote Anchor link
Ik heb een script gebruikt van internet waarbij men in moet loggen om een bepaalde pagina te kunnen bezoeken.

Nu wil ik dus dat als men inlogt, gelijk word doorgelinkt naar die pagina. Maar weet niet hoe ik dat moet maken (aangezien ik geen tot weinig verstand van php heb).

Dit is het script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php

session_start(); // start een sessie of zet een sessie voort
require("connect.php"); // connectie met database maken en database selecteren

// controleer hier of iemand inlogt - dit moet _voor_ de <HTML>-tag gebeuren gebeuren

if(trim($_POST['naam']) <> "" && trim($_POST['wacht']) <> "") {
  // naam en wachtwoord zijn ingevuld. Haal het (versleutelde) wachtwoord en
  // het gebruikersniveau dat bij deze gebruikersnaam hoort uit de database op
  // en vergelijk dit wachtwoord met het in het formulier opgegeven wachtwoord.


  $naam  = $_POST['naam'];
  $wacht = md5($_POST['wacht']);
  $res = mysql_query("SELECT id, pass, level FROM users where name='$naam'") or die(mysql_error());

  // Als er een resultaat is, oftewel er bestaat een gebruiker met de naam $naam
  if(mysql_num_rows($res) > 0) {
    $row = mysql_fetch_assoc($res);
    // aanname: het wachtwoord in de database is eenmalig gehashed mbv de functie md5()
    // vergelijk het opgehaalde wachtwoord met een versleutelde versie van het in het
    // formulier opgegeven wachtwoord

    if(!strcmp($wacht, $row['pass'])) {
      // alle gegevens kloppen

      // v1.2 extra functionaliteit, onthouden login
      // wil de gebruiker zijn gegevens onthouden ?

      if(isset($_POST['memory'])) {
        // set cookie (voor 2 maanden) en onthoud het IP
        setcookie("login_cookie", $naam.";".$wacht, time()+3600*24*31*2, "/");
        $ip = $_SERVER['REMOTE_ADDR'];
        mysql_query("UPDATE users SET last_ip='".$ip."' WHERE id=".$row['id']) or die(mysql_error());
      }


      // vul sessievariabelen
      $_SESSION['sUser']      = $naam;         // gebruikersnaam van ingelogd persoon
      $_SESSION['sUserLevel'] = $row['level']; // bijbehorende gebruikersniveau
      $_SESSION['sTime']      = time();        // de huidige tijd
      $_SESSION['sMaxIdle']   = 60 * 60;       // het aantal seconden inactiviteit
    } else {
      // wachtwoorden komen niet overeen, breek de sessie weer af
      $_SESSION = array();
      session_destroy();
    }

    // geef de resultaten van deze query weer vrij
    unset($row);
    mysql_free_result($res);
  }

  // ververs, of de gebruikersnaam/wachtwoord combinatie nou klopt of niet, de pagina
  header("Location: login.php");
}

?>

<HTML>
<HEAD>
<TITLE>sessies·login</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body,td,th {
color: #FFFFFF;
}
body {
background-color: #FF0000;
}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</HEAD>

<BODY>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
// als de (willekeurige) sessievariabele sUser in het sessie-array nog geen waarde heeft
// (dus als iemand nog niet is ingelogd)

if(!isset($_SESSION['sUser'])) {
?>

<p>&nbsp;</p>
<p>&nbsp;</p>
<FORM ACTION="login.php" METHOD="post">
<table width="500" border="3" align="center" cellspacing="5">
<tr>
<td><table width="400" border="0" align="center" cellspacing="5">
<tr>
<td><div align="center">
<h2>Inlogsectie<br>
</h2>
</div></td>
</tr>
<tr>
<td> <table width="300" border="0" align="center" cellspacing="5">
<tr>
<td>Naam</td>
<td><input type="text" name="naam" size="15"></td>
</tr>
<tr>
<td>Wachtwoord</td>
<td><input type="password" name="wacht" size="15"></td>
</tr>
<tr>
<td><INPUT TYPE="submit" VALUE="Inloggen"></td>
<!-- v1.2 extra functionaliteit, login onthouden -->
<td><INPUT TYPE="checkbox" NAME="memory" VALUE="1">
Onthoud mijn login</td>
</tr>
</table></td></tr>
</table></td>
</tr>
</table>

</FORM>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
} else {
  // de gebruiker is ingelogd - geef een welkomstboodschap oid
  // hier kun je tevens kijken of alle sessievariabelen de goede
  // waarden hebben (debugging)

  echo "Hallo <B>".$_SESSION['sUser']."</B> leuk dat je weer terug bent,<BR>\n";
  echo "<A HREF=\"voorbeeld.php\">Klik hier voor een voorbeeld</A><BR>\n";
  echo "<A HREF=\"logout.php\">Klik hier om uit te loggen</A><BR>\n";
}



?>


</body>

</html>
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.