Hallo, ik heb een inlogsysteem gemaakt voor mijn website(zie handtekening). Maar ik heb enkele problemen met het syteem.
1. Mijn register.php pagina werkt niet
2. Mijn beveiligde pagina geeft mij geen toestemming om de pagina te zien, ook al ben ik ingelogd
Wat wel al werkt is:
1.Connectie met database tijdens inloggen lukt.
2.Beveiligde pagina is effectief beveiligd
mijn systeem is gebouwd met de volgende bestanden:
Loginscript: main_login.php
Check pagina: checklogin.php (onderstaande script staat helemaal bovenaan, dus ook nog vóór DOCtype)
Succesvolle login: login_succes.php (staat ook vóór alles)
Register: register.php
pagina beveiligen: sentry.php
Ten slotte: de beveiligde pagina's bevatten de volgende code
Mijn site bevat één beveiligde pagina om te testen: http://xtremecars.be/contact.php
Een voorbeeld van een geregistreerde gebruiker(handmatig toegevoegd aan database):
Username: user
Password: 123456
Ik hoop dat ik duidelijk ben
Wie weet wat er fout is gegaan?
1. Mijn register.php pagina werkt niet
2. Mijn beveiligde pagina geeft mij geen toestemming om de pagina te zien, ook al ben ik ingelogd
Wat wel al werkt is:
1.Connectie met database tijdens inloggen lukt.
2.Beveiligde pagina is effectief beveiligd
mijn systeem is gebouwd met de volgende bestanden:
Loginscript: main_login.php
PHP:
<form name="login" action="checklogin.php" method="post">
<div class="row"></div>
<div class="row"></div>
<table width="298" border="0">
<tr>
<td width="144" bgcolor="#000000" class="menuhorizontal">Gebruikersnaam</td>
<td width="144"><span class="row">
<input name="myusername" type="text" id="myusername" />
</span></td>
</tr>
<tr>
<td bgcolor="#000000" class="menuhorizontal">Wachtwoord</td>
<td><input name="mypassword" type="password" id="mypassword" /></td>
</tr>
</table>
<input type="submit" name="submit" value="Login" />
</form>
Check pagina: checklogin.php (onderstaande script staat helemaal bovenaan, dus ook nog vóór DOCtype)
PHP:
<?php
$host="*********"; // Host name
$username="*********"; // Mysql username
$password="*********"; // Mysql password
$db_name="*********"; // Database name
$tbl_name="******"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}
else {
}
?>
Succesvolle login: login_succes.php (staat ook vóór alles)
PHP:
<?
session_start();
if(!session_is_registered(myusername)){
header("location:main_login.php");
}
?>
Register: register.php
PHP:
<?php include( 'checklogin.php' );
if(isset($_GET[ 'action']) && ($_GET['action'] == "register")){
$username = $_POST['username'];
$password = ($_POST['password'] . '90qdjka*@';
// het formulier IS ingevuld
$QUERY = "INSERT INTO members (`username`, `password`, `enabled`, `lastlogin`) VALUES ('" . $username . "', '" . $password . "', 1, NOW() )";
if(mysqli_query( $QUERY )){
die( 'Registratie was succesvol. Ga naar de <a href="main_login.php">loginpagina</a>!' );
}
}
?>
<br />
<br />
<form action="register.php?action=register" method="post">
Naam: <input name="username" maxlength="30" type="text" /><br />
Pass: <input type="password" name="password" maxlength="16" /><br />
<input type="submit" value="Registreer!" />
</form>
pagina beveiligen: sentry.php
PHP:
<?php
session_start();
if(!isset($_SESSION['username'])) die( 'U bent niet ingelogd!' );
$user = $_SESSION['username'];
$pass = $_SESSION['password'];
$QUERY = "SELECT username, password FROM members WHERE username = '" . $username . "' AND password = '" . $passname . "'";
$EXEC = mysqli_query( $QUERY );
if(mysqli_num_rows() < 1){
unset($_SESSION['username'], $_SESSION['password']);
die( 'U bent niet ingelogd!');
}
?>
Ten slotte: de beveiligde pagina's bevatten de volgende code
PHP:
<?php
include( 'sentry.php' );
?>
Mijn site bevat één beveiligde pagina om te testen: http://xtremecars.be/contact.php
Een voorbeeld van een geregistreerde gebruiker(handmatig toegevoegd aan database):
Username: user
Password: 123456
Ik hoop dat ik duidelijk ben
Wie weet wat er fout is gegaan?
Laatst bewerkt: