Nou als ik inlog op mijn script dan krijg ik een blanco pagina... wat is de fout en dan blijft hij zeggen dat ik in moet loggen...
Kan iemand er naar kijken wat er fout aan het script is?

Hier is het script:
<?php
include("config.php");
$controle=1;
$verstuurd=0;
if($_SERVER['REQUEST_METHOD']=='POST'){
$verstuurd=1;
if(empty($_POST['nickname'])){
$controle=0;
$wachtwoord = md5($_POST['wachtwoord']);
}
if(empty($_POST['wachtwoord'])){
$controle=0;
$nickname = $_POST['nickname'];
} else {
$nickname = $_POST['nickname'];
$wachtwoord = $_POST['wachtwoord'];
}
if($controle==1){
$wachtwoord_org = $_POST['wachtwoord'];
$wachtwoord = md5($_POST['wachtwoord']);
$bestaande_nickname = mysql_query("SELECT nickname FROM $tabel_naam WHERE nickname='".addslashes($nickname)."'");
if(mysql_num_rows($bestaande_nickname)==0){
$controle=0;
$nick_fout="Onbekende nickname";
}
if($controle==1){
$goede_ww = mysql_query("SELECT nickname FROM $tabel_naam WHERE nickname='$nickname' AND wachtwoord='$wachtwoord'");
if(mysql_num_rows($goede_ww)==0) {
$controle=0;
$ww_fout="Fout wachtwoord";
}
}
if($controle==1){
$resultaat_id = mysql_query("SELECT id FROM $tabel_naam WHERE nickname='".addslashes($nickname)."'");
$id = mysql_result($resultaat_id, 0);
}
}
}
if($verstuurd==0||$controle==0) {
?>
<html>
<head>
<title>Log-in</title>
</head>
<body>
<form name="login" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table>
<?php
if($verstuurd==1){
if(empty($_POST['nickname'])){
echo "<tr><td colspan=\"2\">".$fout_tags_open."Vul een nickname in".$fout_tags_sluit."</td></tr>";
}
if(isset($nick_fout)){
echo "<tr><td colspan=\"2\">".$fout_tags_open.$nick_fout.$fout_tags_sluit."</td></tr>";
}
}
?>
<tr>
<td>Nickname:</td>
<td><input type="text" name="nickname" <?php if($verstuurd==1&&!empty($_POST['nickname'])){echo "value=\"".stripslashes(htmlentities($nickname))."\"";} ?>></td>
</tr>
<?php
if(isset($ww_fout)){
echo "<tr><td colspan=\"2\">".$fout_tags_open.$ww_fout.$fout_tags_sluit."</td></tr>";
}
if($verstuurd==1&&empty($_POST['wachtwoord'])){
echo "<tr><td colspan=\"2\">".$fout_tags_open."Vul een wachtwoord in".$fout_tags_sluit."</td></tr>";
}
?>
<tr>
<td>Wachtwoord:</td>
<td><input type="password" name="wachtwoord" <?php if($verstuurd==1&&!empty($_POST['wachtwoord'])){echo "value=\"".stripslashes(htmlentities($wachtwoord_org))."\"";} ?>></td>
</tr>
<tr>
<td colspan="2"><input type="checkbox" name="onthoud" checked>Onthoud me</td>
</tr>
<tr>
<td colspan="2"><center><input type="submit" value="Log-in">&nbsp;<input type="reset" value="Opnieuw"></center></td>
</tr>
</table>
</form>
<a href="voegtoe.php?locatie=<?php echo $locatie; ?>">Registreer</a> <a href="ww_vergeten.php"><font size="-1">Wachtwoord vergeten</font></a>.
</body>
</html>
<?php
}
if($verstuurd==1&&$controle==1){
$ingelogd=true;
if(isset($_POST['onthoud'])){
$query = "UPDATE $tabel_naam SET ingelogd=1, ip='".$_SERVER['REMOTE_ADDR']."' WHERE id='$id'";
mysql_query($query);
$id2 = $id;
for($i=0; $i<7; $i++){
$id2 = base64_encode($id2);
}
$lengte_c = strlen($id2);
$lengte_h = intval($lengte_c / 2);
$u = '';
for($i=0; $i<$lengte_h; $i++){
$u .= $id2[$i];
}
if($lengte_h==($lengte_c/2)){
$begin_pos = $lengte_c - $lengte_h;
} else {
$begin_pos = $lengte_c - $lengte_h-1;
}
$p = '';
for($i=$begin_pos; $i<$lengte_c; $i++){
$p .= $id2[$i];
}
for($i=0; $i<4; $i++){
$u = base64_encode($u);
$p = base64_encode($p);
}
setcookie("u", $u, time()+518400);
setcookie("p", $p, time()+518400);
}
$_SESSION['ingelogd'] = $ingelogd;
$_SESSION['id'] = $id;
$_SESSION['ip']= $_SERVER['REMOTE_ADDR'];
header("location: $locatie");
}
?>

Alvast Bedankt!
ik weet neit wat je in je config.php doet, maar je bebruikt nergen session_start, als je dat niet doet gaat er ook niets gebeuren. Het is net een auto, prachtig apparaat, maar doet niets totdat je de motor start
waar zou ik hem moeten plaatsen dan?

Alvast Bedankt!

(PS: ik doe PHP als erbij dus er kunnen natuurlijk nog meer fouten inzitten maar deze is het belangrijkst!)
1e regel
Helemaal bovenaan je bestand, voordat er ook maar enige header naar de browser gestuurd is.(dat is dus bovenaan je bestand)

edit:
Jammer dat de exactheid van de plaatsingstijd ophoud bij minuten, maar geloof me, wes was niet veel eerder dan ik
verschil moet er zijn he :)

jaloersssss :P
Jarno schreef op 23.03.2006 15:59
waar zou ik hem moeten plaatsen dan?


Die motor van die auto? onder de motorkap :P Vooraan dus. =D
hmm hij doet het nog steeds niet:S ik denk dat het aan de config ligt.. maar alsk session_start(); bij config invoer krijg ik dit:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/jarno/domains/jarnosloot.nl/public_html/gamepalace/login.php:10) in /home/jarno/domains/jarnosloot.nl/public_html/gamepalace/config.php on line 1

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/jarno/domains/jarnosloot.nl/public_html/gamepalace/login.php:10) in /home/jarno/domains/jarnosloot.nl/public_html/gamepalace/config.php on line 1

hier mijn config:
<?php session_start();
//De database server, meestal is dat localhost
$db_server = "localhost";
//Je login naam bij je database
$db_login = "";
//Je wachtwoord voor je database
$db_pass = "";
//Naam van de database
$db_naam = "";
//Naam van de table waar alles in staat
$tabel_naam = "";
//locatie van je script. bijv: http://www.mijndomein.nl/beveiligde_directory/
$locatie = "http://www.gamepalace.jarnosloot.nl/";;
//Hier stel je de naam van de website in. Deze naam wordt ook meegestuurd met mails
$website_naam = "Game Palace";
//Hier stel je de open tags in die worden laten zien als de gebruiker iets fout doet (bijvoorbeeld verkeerd wachtwoord invullen)
$fout_tags_open = "<font color=\"#FF0000\">Je hebt iets fout gedaan <b>";
//Hier stel je de afsluitende tags in, als de gebruiker iets fout heeft gedaan. Let erop, de volgorde moet precies andersom zijn als bij de opening
$fout_tags_sluit = "</b></font>";
//Hier stel je je naam in waarvan je e-mailtjes worden gestuurd (activatie en wachtwoord vergeten mailtjes)
$van_naam = "Game Palace";
//Hier stel je het e-mail adres in waarvan de mailtjes gestuurd worden (activatie en wachtwoord vergeten mailtjes)
$van_email = "[email protected]";

//HIERONDER NIKS MEER VERANDEREN, ALLEEN ALS JE WEET WAT JE AAN HET DOEN BENT
if(isset($_SESSION['id'])){
$id = $_SESSION['id'];
}
mysql_connect($db_server, $db_login, $db_pass) or die("Er kan geen verbinding gemaakt worden met de database, MySQL retouneerde: ".mysql_error());
mysql_select_db($db_naam) or die("Er kan geen database geselecteerd worden. MySQL retouneerde devolgende error: ".mysql_error());
?>

PS: heb alle info van ww's en usernames weg gehaald!
Is er iemand daar die verstand van PHP heeft en die nu online is? Zou graag verder willen met mijn site...

Reageren