Rare lijnen en strepen bij de uitvoer van php bestand
Ik ben bezig met een project waarbij bij het uitvoeren van het php bestand (zowel in FF in in IE8) op dezelfde plek steeds rare lijnen verschijnen.
screenshot:
link:
http://www.quicksell.be/index.php
(als je inlogt met een willekeurige username en password krijg je de error (die wel klopt, maar met de rare lijnen en strepen in beeld.)
hieronder de code van de betreffende div-tag:
Quote:
<div class="middle_middle"><span class="right_middle">
</span></div>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php if(isset($_POST['Submit'])) {
if($_POST['poging'] == $cfg['poging']+1) { // Reeds 3 pogingen achter de rug?
header("Location: wachtwoord.php");
}
$checkg = mysql_result(mysql_query("SELECT COUNT(*) FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'"),0);
$checkp = mysql_result(mysql_query("SELECT COUNT(*) FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."' AND wachtwoord='".md5($_POST['wachtwoord'])."'"),0);
if($_POST['gebruikersnaam'] == "" || $_POST['wachtwoord'] == "") {
$error[] = 'Vul alle velden in!';
}
if($checkg == 0 && $_POST['gebruikersnaam'] != "") {
$error[] = 'De ingevoerde gebruikersnaam is niet geregistreerd.';
}
if($_POST['wachtwoord'] != "" && $_POST['gebruikersnaam'] != "" && $checkp == 0) {
$error[] = 'Het ingevoerde wachtwoord is niet correct.';
}
$fouten = sizeof($error); // aantal errors tellen
if($fouten != 0) { // Er is minstens 1 error
echo 'Kan niet inloggen omwille van de volgende reden(en):';
echo '<ul>';
for($i = 0; $i < $fouten; $i++) {
echo '<li>'.$error[$i].'</li>';
}
echo '</ul>';
echo 'Poging '.$_POST['poging'].' van '.$cfg['poging'];
} else {
session_start();
$res = mysql_query("SELECT * FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'");
$row = mysql_fetch_assoc($res);
setcookie("gebruikersnaam",$row['gebruikersnaam'],time()+3600,"/");
setcookie("wachtwoord",$row['wachtwoord'],time()+3600,"/");
$_SESSION['gebruiker'] = $row['gebruikersnaam'];
$_SESSION['gid'] = $row['id'];
header("Location: ingelogged.php");
}
} ?>
if($_POST['poging'] == $cfg['poging']+1) { // Reeds 3 pogingen achter de rug?
header("Location: wachtwoord.php");
}
$checkg = mysql_result(mysql_query("SELECT COUNT(*) FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'"),0);
$checkp = mysql_result(mysql_query("SELECT COUNT(*) FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."' AND wachtwoord='".md5($_POST['wachtwoord'])."'"),0);
if($_POST['gebruikersnaam'] == "" || $_POST['wachtwoord'] == "") {
$error[] = 'Vul alle velden in!';
}
if($checkg == 0 && $_POST['gebruikersnaam'] != "") {
$error[] = 'De ingevoerde gebruikersnaam is niet geregistreerd.';
}
if($_POST['wachtwoord'] != "" && $_POST['gebruikersnaam'] != "" && $checkp == 0) {
$error[] = 'Het ingevoerde wachtwoord is niet correct.';
}
$fouten = sizeof($error); // aantal errors tellen
if($fouten != 0) { // Er is minstens 1 error
echo 'Kan niet inloggen omwille van de volgende reden(en):';
echo '<ul>';
for($i = 0; $i < $fouten; $i++) {
echo '<li>'.$error[$i].'</li>';
}
echo '</ul>';
echo 'Poging '.$_POST['poging'].' van '.$cfg['poging'];
} else {
session_start();
$res = mysql_query("SELECT * FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'");
$row = mysql_fetch_assoc($res);
setcookie("gebruikersnaam",$row['gebruikersnaam'],time()+3600,"/");
setcookie("wachtwoord",$row['wachtwoord'],time()+3600,"/");
$_SESSION['gebruiker'] = $row['gebruikersnaam'];
$_SESSION['gid'] = $row['id'];
header("Location: ingelogged.php");
}
} ?>
</span></div>
Toevoeging op 18/12/2010 17:21:32:
laat maar het is al opgelost. de class was verkeerd
Dit is een style probleem, geen PHP probleem. Post je relevante CSS code eens.
code] en [/code] tags als je hier code op het forum plaatst.
- Gebruik if($_SERVER['REQUEST_METHOD'] == 'POST') om te controleren of een post is gedaan. De sumbit waarde wordt niet altijd meegestuurd.
- Je houd bij hoeveel pogingen iemand gedaan heeft d.m.v. een variabale die terug te vinden is in het formulier? Dat is niet slim... Kan door de gebruiker worden aangepast.
- Zie header. Een header kan niet midden op een pagina voorkomen.
- Foutafhandeling van mysql ontbreekt.
- SQL injections mogelijk. Zie mysql_real_escape_string.
- De tweede query (waarvan het resultaat in $checkp komt) is voldoende.
- Gebruik een salt password.
- Het is handiger om eerst te checken of een waarde wel is ingevuld.
- Meld niet of een gebruikersnaam verkeerd is of een wachtwoord. Meld gewoon dat er iets verkeerd is. Te specifieke meldingen kunnen misbruikt worden.
- sizeof kan je gebruiken. Ik zou emptyp i.c.m. foreach gebruiken.
- Met sizeof weet je hoeveel fouten er zijn (al ga je dat nu weer wegwerken), dan weet je ook of je meerdere redenen hebt.
- session_start moet bovenaan.
- Selecteer wat je wilt hebben gebruik niet *.
- In principe hoef je geen query uit te voeren om te kijken wat de gebruikersnaam is van iemand...
- Sla nooit een wachtwoord op in een cookie.
Bekijk ook even bovenstaande punten.
- Gebruik alsjeblieft [- Gebruik if($_SERVER['REQUEST_METHOD'] == 'POST') om te controleren of een post is gedaan. De sumbit waarde wordt niet altijd meegestuurd.
- Je houd bij hoeveel pogingen iemand gedaan heeft d.m.v. een variabale die terug te vinden is in het formulier? Dat is niet slim... Kan door de gebruiker worden aangepast.
- Zie header. Een header kan niet midden op een pagina voorkomen.
- Foutafhandeling van mysql ontbreekt.
- SQL injections mogelijk. Zie mysql_real_escape_string.
- De tweede query (waarvan het resultaat in $checkp komt) is voldoende.
- Gebruik een salt password.
- Het is handiger om eerst te checken of een waarde wel is ingevuld.
- Meld niet of een gebruikersnaam verkeerd is of een wachtwoord. Meld gewoon dat er iets verkeerd is. Te specifieke meldingen kunnen misbruikt worden.
- sizeof kan je gebruiken. Ik zou emptyp i.c.m. foreach gebruiken.
- Met sizeof weet je hoeveel fouten er zijn (al ga je dat nu weer wegwerken), dan weet je ook of je meerdere redenen hebt.
- session_start moet bovenaan.
- Selecteer wat je wilt hebben gebruik niet *.
- In principe hoef je geen query uit te voeren om te kijken wat de gebruikersnaam is van iemand...
- Sla nooit een wachtwoord op in een cookie.
Jeroen Brouns op 18/12/2010 17:18:44:
Toevoeging op 18/12/2010 17:21:32:
laat maar het is al opgelost. de class was verkeerd
laat maar het is al opgelost. de class was verkeerd
Bekijk ook even bovenstaande punten.