PHP gevorderde |
|
ik ben bezig met mijn eerste login script, maar loop tegen wat problemen aan
dit is mijn code tot nu toe
<?php
include('config.php');
ob_start();
session_start(); // start een sessie of zet een sessie voort
if (isset ($_POST['submit']))
{
if(trim($_POST['nickname']) <> "" && trim($_POST['wachtwoord']) <> "")
{
$nickname = ($_POST['nickname']);
$pass = ($_POST['wachtwoord']);
$wachtwoord = md5($pass);
//selecteer de resultaten waar de nickname en het wachtwoord hetzelfde zijn
$res = mysql_query("SELECT id, rank, nickname, wachtwoord FROM users WHERE nickname='".$nickname."' AND wachtwoord='".$wachtwoord."'");
//als er resulten zijn..
if(mysql_num_rows($res) > 0)
{
$row = mysql_fetch_assoc($res);
//vergelijk de wachtwoorden
if(!strcmp($wachtwoord, $row['wachtwoord']))
{
$_SESSION['nickname'] = $nickname; // gebruikersnaam van ingelogd persoon
$_SESSION['rank'] = $row['rank']; // bijbehorende gebruikersniveau
$_SESSION['tijd'] = time(); // de huidige tijd
}
//de wachtwoorden komen niet overeen
else
{
$_SESSION = array();
session_destroy();
}
//geef de resultaten 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>
</head>
<body>
<?php
//als de sessie array nickname nog geen waarde heeft, dus als iemand nog niet is ingelogd
if(!isset($_SESSION['nickname']))
{
?>
<form name="login" action="login.php" method="post">
<table>
<tr><td>Nickname</td> <td><input type="text" name="nickname"></td></tr>
<tr><td>Wachtwoord</td> <td><input type="text" name="wachtwoord"></td></tr>
<tr><td> </td> <td><input type="submit" name="submit" value="Log In"></td></tr>
</table>
</form>
<?php
}
else {
//degene is ingelogd
?>
Welkom <?= $_SESSION['nickname'] ?>
<?php
}//end else
?>
<?php include('config.php'); if (isset ($_POST['submit'])) { if(trim($_POST['nickname']) <> "" && trim($_POST['wachtwoord']) <> "") { $nickname = ($_POST['nickname']); $pass = ($_POST['wachtwoord']); $wachtwoord = md5($pass); //selecteer de resultaten waar de nickname en het wachtwoord hetzelfde zijn $res = mysql_query("SELECT id, rank, nickname, wachtwoord FROM users WHERE nickname='".$nickname."' AND wachtwoord='".$wachtwoord."'"); //als er resulten zijn.. { //vergelijk de wachtwoorden if(!strcmp($wachtwoord, $row['wachtwoord'])) { $_SESSION['nickname'] = $nickname; // gebruikersnaam van ingelogd persoon $_SESSION['rank'] = $row['rank']; // bijbehorende gebruikersniveau $_SESSION['tijd'] = time(); // de huidige tijd } //de wachtwoorden komen niet overeen else { } //geef de resultaten weer vrij } // ververs, of de gebruikersnaam/wachtwoord combinatie nou klopt of niet, de pagina } } ?> <html> <head> </head> <body> <?php //als de sessie array nickname nog geen waarde heeft, dus als iemand nog niet is ingelogd if(!isset($_SESSION['nickname'])) { ?> <form name="login" action="login.php" method="post"> <table> <tr><td>Nickname</td> <td><input type="text" name="nickname"></td></tr> <tr><td>Wachtwoord</td> <td><input type="text" name="wachtwoord"></td></tr> <tr><td> </td> <td><input type="submit" name="submit" value="Log In"></td></tr> </table> </form> <?php } else { //degene is ingelogd ?> Welkom <?= $_SESSION['nickname'] ?> <?php }//end else ?>
maar hij geeft nu foutmeldingen op lijn 5 en 51 volgens de parser
wie weet wat er fout is?
en ja, ik ben veel aan het knippen en plakken geweest met een script van Fangorn
^^
|