adrianhates
Legacy Member
Ok vraagje
Context :
Ik ben dus bezig met een loginscriptje te schrijven alsook het registreer scriptje hiervoor.
Mijn probleem is dus :
Als ik een nieuwe gebruiker registreer doet hij foute actions. De browser keert gewoon terug naar de register.php. Spijtig genoeg kan ik hiervoor de reden niet vinden..
Moest iemand de tijd hebben om hier eens naar te kijken zou ik dit ten zeerste op prijs stellen. Kwil alleen maar bijleren..
Grtz!
Bijgevoegd de SQL code voor de database ( check bottom ) :
Context :
Ik ben dus bezig met een loginscriptje te schrijven alsook het registreer scriptje hiervoor.
Mijn probleem is dus :
Als ik een nieuwe gebruiker registreer doet hij foute actions. De browser keert gewoon terug naar de register.php. Spijtig genoeg kan ik hiervoor de reden niet vinden..
Moest iemand de tijd hebben om hier eens naar te kijken zou ik dit ten zeerste op prijs stellen. Kwil alleen maar bijleren..
Grtz!

Bijgevoegd de SQL code voor de database ( check bottom ) :
PHP:
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
$dbname = 'basis';
mysql_select_db($dbname);
?>
PHP:
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
<meta name="language" content="nl-BE" />
<link rel="stylesheet" type="text/css" href="style.css" />
<title>CMS</title>
</head>
<body>
<?php if($_SESSION['Login'])
{
?>
<div id="login">
<?php if(!$_SESSION['Admin'])
{
?>
Welcome <?php echo $_SESSION['name']; ?>.
<ul>
<li><a href="Login.php?action=Logout">Logout</a></li>
</ul>
<?php
}
else
{
?>
Welcome <?php echo $_SESSION['name']; ?>.
<ul>
<li><a href="admin.php"> Admin panel</a></li>
<li><a href="Login.php?action=Logout">Logout</a></li>
</ul>
<?php
}
?>
</div>
<?php
}
else
{
?>
<div id="login">
<h3>
Login aub:
</h3>
<form method="post" action="login.php" name="banner">
<table>
<tr>
<td style="vertical-align: middle;">
Username:
</td>
<td>
<input class="klasse"type="text" size="12" name="username" class="input" />
</td>
</tr>
<tr>
<td style="vertical-align: middle;">
Password:
</td>
<td>
<input class="klasse" type="password" size="12" name="password" class="input" />
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type="submit" name="inloggen" value="Log in" class="inputsubmit" />
</td>
</tr>
<tr>
<td colspan="2" align="right">
No account? <a href="register.php" class="logon">Register here!</a>
</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</form>
</div>
<?php
}
?>
</body>
</html>
PHP:
<?php
/* start de sessie */
session_start();
/* Connecteer naar de database */
include("includes/connectie.php");
/* Dit is om te controleren of de actie logout was , ZOJA voer het volgende uit */
if($_GET['action']=="Logout")
{
/* Ledig de session variabelen */
unset($_SESSION['Login']);
unset($_SESSION['name']);
unset($_SESSION['Admin']);
unset($_SESSION['Email']);
/* Zet de gebruiker op offline */
mysql_query("UPDATE users SET onlin='0' WHERE ID='" . $_SESSION['ID'] . "'");
/* Ledig de session ID */
unset($_SESSION['ID']);
/* Ga terug naar den index pagina */
echo "<script>";
echo "document.location = 'index.php'";
echo "</script>";
}
/* Gebruik alleen maar kleine letters , geen kapitale */
$username = strtolower(trim($_POST['username']));
$password = md5(strtolower($_POST['password']));
/* Selecteer de gebruiker uit de database door de waardes te vergelijken */
$query = mysql_query("SELECT * FROM users WHERE Naam='" . $username. "' AND Paswoord='" . $password ."' AND Actief=1");
while($row = mysql_fetch_array($query))
{
/* Geef de session variabelen de nodig waardes */
$_SESSION['Login'] = True;
$_SESSION['name'] = $username;
$_SESSION['ID'] = $row['ID'];
$_SESSION['Email'] = $row['Email'];
/* Als de user een admin is , geef deze dan admin rechten */
if ($row['Admin'] == 1)
{
$_SESSION['Admin'] = 1;
}
}
/* Update de status van de user naar ONLINE */
mysql_query("UPDATE users SET onlin='1' WHERE ID='" . $_SESSION['ID'] . "'");
echo mysql_error();
/* Update de status van de user naar aanvang van de sessie! */
mysql_query("UPDATE users SET Online='" . date(H) . ":" . date(i) . ":" . date(s) . "' WHERE ID='" .$_SESSION['ID'] . "'");
echo mysql_error();
/* Ga terug naar den index pagina */
echo "<script>";
echo "document.location = 'index.php'";
echo "</script>";
?>
PHP:
<?php
mysql_connect("localhost","root","");
mysql_select_db("basis");
$query = mysql_query("SELECT * FROM basis.users WHERE onlin=''");
while($row = mysql_fetch_array($query))
{
if (substr($row['Online'],0,2) <= Date(H)-1 || substr($row['Online'],0,2) >= Date(H) + 1 )
{
mysql_query("UPDATE basis.users SET Onlin='0' WHERE ID='" .$row['ID'] . "'");
echo "<script>";
echo "document.location = 'login.php'";
echo "</script>";
}
}
?>
PHP:
<?php
session_start();
if ($_SESSION['Login'])
{
/* Als er al iemand ingelogd is , ga dan meteen naar de index pagina */
echo "<script>";
echo "document.location = 'index.php'";
echo "</script>";
exit();
}
/* Variabelen om de passwoorden en de emails te vergelijken */
$password1 = $_POST['password'];
$password2 = $_POST['password2'];
$mail = $_POST['email1'];
$mail2 = $_POST['email2'];
/* Als de passworden overeenkomen : */
if ($password1==$password2)
{
/* Als de passwords gelijk zijn , hash dan het password met MD5 */
$Paswoord = md5($password1);
}
else
{
/* Dit is om terug te gaan naar de register pagina als de passworden niet overeen kwamen */
$_SESSION['Fout'] = "Passwords don't match please try again";
echo "<script>";
echo "document.location = 'register.php'";
echo "</script>";
exit();
}
/* Als de emails overeenkomen : */
if ($mail==$mail2)
{
if (strpos($mail, "@"))
{
/* zet de email om naar alleen maar kleine letter */
$email = strtolower(trim($mail));
}
else
{
/* Dit is om terug te gaan naar de register pagina als de emails het teken arobase niet bevatten */
$_SESSION['Fout'] = "The E-mail adresses you submitted is invalid";
echo "<script>";
echo "document.location = 'register.php'";
echo "</script>";
exit();
}
}
else
{
/* Dit is om terug te gaan naar de register pagina als de emails niet overeen komen */
$_SESSION['Fout'] = "The E-mail adresses you submitted don't match";
echo "<script>";
echo "document.location = 'register.php'";
echo "</script>";
exit();
}
/* Spamcheck gebeurd hier door de optelling te vergelijken */
if($_POST['spam_check'] ==($_SESSION['rand1'] + $_SESSION['rand2']))
{
include("includes/connectie.php");
$result = mysql_query("SELECT * FROM users WHERE Naam ='" . $_POST['username'] . "'");
$row = mysql_num_rows($result);
}
else
/* Als de spamcheck invalid was , wordt er teruggekeerd naar de register pagina */
{
$_SESSION['Fout'] ="The number you entered was invalid";
echo "<script>";
echo "document.location = 'register.php'";
echo "</script>";
exit();
}
if($row >=1)
{
$_SESSION['Fout'] = "Username already exists";
echo "<script>";
echo "document.location = 'register.php'";
echo "</script>";
exit();
}
else
/* Als de spamcheck aanduidt dat dit geen spam is , wordt de nieuwe gebruiker in de database geplaatst */
{
/* Er wordt een sessie bijgehouden in de map sessions */
$pad = "sessions/" . $_POST['username'] . ".txt";
mysql_query("INSERT INTO users (Naam, Paswoord, Email, Online) VALUES ('$_POST[username]', '$Paswoord', '$email','$pad')");
/* De member krijgt zijn eigen folder voor pictures */
$path = "images/memberpics/" . $_POST['username'];
mkdir($path,0777);
fopen($pad, 'w');
$_SESSION['rand4'] = rand(1,10);
$_SESSION['rand5'] = rand(1,10);
$_SESSION['rand3'] = md5($_SESSION['rand4']) . md5(rand(1,10)) . md5($_SESSION['rand5']) ;
echo "<script>";
echo "document.location = 'register.php?action=" . $_SESSION['rand3'] ."'";
echo "</script>";
exit();
}
?>
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl" lang="nl">
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
<meta name="language" content="nl-BE" />
<link rel="stylesheet" type="text/css" href="style.css" />
<title>CMS</title>
</head>
<body>
<?php
if(strlen($_GET['action'])!= 0)
{
if($_GET['action']== $_SESSION['rand3'])
{
unset($_SESSION['rand3']);
unset($_SESSION['rand4']);
unset($_SESSION['rand5']);
?>
U bent met succes ingelogd<br/>
U zal worden doorgewezen binnen 10 seconden . Of klik gewoon <a href='index.php'>hier</a>.
<br />
<script>
var countdown = 10
var targeturl="index.php"
function redirect()
{
if(countdown != 1)
{
countdown -= 1
}
else
{
window.location = targeturl
return
}
setTimeout("redirect()",1000)
}
redirect()
</script>
<?php
}
}
else
{
?>
<?php
echo $_SESSION['Fout'];
$_SESSION['Fout'] = '' ;
?>
<form action="registreren.php" method="post">
<table>
<tr>
<td colspan="2">
<h3 class="news">
Register please
</h3>
</td>
</tr>
<tr>
<td>
Username:
</td>
<td>
<input type=text size=20 name="username" class="input">
</td>
</tr>
<tr>
<td>
Email-adres:
</td>
<td>
<input type=text size=20 name="email1" class="input">
</td>
</tr>
<tr>
<td>
Repeat email-adres:
</td>
<td>
<input type=text size=20 name="email2" class="input">
</td>
</tr>
<tr>
<td>
Password:
</td>
<td>
<input type=password size=20 name="password" class="input">
</td>
</tr>
<tr>
<td>
Repeat password:
</td>
<td>
<input type=password size=20 name="password2" class="input">
</td>
</tr>
<tr>
<td>
<?php
$_SESSION['rand1'] = rand(1,10) ;
$_SESSION['rand2'] = rand(1,10) ;
?>
<?php echo $_SESSION['rand1'];?> + <?php echo $_SESSION['rand2'];?> =
</td>
<td class="incom">
<input type="text" name="spam_check" value="" size=5> ( to prevent spam )
</td>
</tr>
<tr>
<td>
</td>
<td>
<input class="inputsubmit" type="submit" name="registreren" value="Register">
</td>
</tr>
<tr>
<td class="underline"></td><td> </td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>
Code:
CREATE TABLE `basis`.`users` (
`ID` INT( 255 ) NOT NULL AUTO_INCREMENT ,
`Naam` VARCHAR( 25 ) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL ,
`Paswoord` VARCHAR( 50 ) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL ,
`Actief` INT( 1 ) NOT NULL DEFAULT '0',
`Email` VARCHAR( 30 ) CHARACTER SET latin1 COLLATE latin1_german1_ci NOT NULL ,
`Admin` INT( 1 ) NOT NULL DEFAULT '0',
`Online` TIME NOT NULL DEFAULT '00:00:00',
`onlin` INT( 1 ) NULL DEFAULT NULL ,
PRIMARY KEY ( `ID` )
$sql = 'CREATE TABLE `basis`.`users` (`ID` INT(255) NOT NULL AUTO_INCREMENT, `Naam` VARCHAR(25) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL, `Paswoord` VARCHAR(50) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL, `Actief` INT(1) NOT NULL DEFAULT \'0\', `Email` VARCHAR(30) CHARACTER SET latin1 COLLATE latin1_german1_ci NOT NULL, `Admin` INT(1) NOT NULL DEFAULT \'0\', `Online` TIME NOT NULL DEFAULT \'00:00:00\', `onlin` INT(1) NULL DEFAULT NULL, PRIMARY KEY (`ID`)) ENGINE = MyISAM';
.