error_reporting(0) is erg gevaarlijk.
Als je errors krijgt dan moet je die repareren, dat kan altijd.
Er is maar 1 omstandigheid waarin error_reporting(0) toegestaan is en dat is wanneer je script in productie gaat, om te voorkomen dat potentiele hackers via foutmeldingen meer informatie over je scripts kunnen krijgen.
In ALLE andere omstandigheden ben je gewoon dom als je de raportage uitzet. Dom of onkundig.
Link gekopieerd
Inderdaad want errors vertragen gans uwen boel.
Link gekopieerd
Ik toon het script wel:
<?php
error_reporting(0);
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>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<form name="login" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table class=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><font face=verdana>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><font face=verdana>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"><font face=verdana>Onthoud me</td>
</tr>
<tr>
<td colspan="2"><center><input type="submit" value="Log-in"> <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: index.php");
}
?>
Link gekopieerd
Doe eens een meta refresh, heb je nergens last meer van :)
Link gekopieerd
Bo az
10-10-2004 11:54
gewijzigd op 10-10-2004 11:55
op de laatste regel staat: header("location: index.php");
daarvoor heb je al boel HTML code verstuurd, header moet je gebruiken vóór je HTML code!
Link gekopieerd
En wil je ff kijke naar het script en zegge hoe ik na het inlogge iemand door kan sturen naar index.php?
Alvast heel erg bedankt voor de moeite! :)
Link gekopieerd
echo "<script>document.location=\"index.php\"</script>":
Link gekopieerd
Waar moet ik die zetten, waar die regel nu ook staat?
Link gekopieerd
M
Mitch X
10-10-2004 13:12
gewijzigd op 10-10-2004 13:12
Of: <? echo '<meta http-equiv="refresh" content="int aantalseconden; URL=string URL">'; ?>
En ja is het antwoord op je laatste vraag :)
Link gekopieerd