par
sirakawa » 14 mai 2014, 08:16
Règles de débogage que tout prof digne de ce nom devrait enseigner
La cause de l'erreur est toujours antérieure à l'apparition de l'erreur ou à son signalement.
Quand une variable ne fait pas ce qu'on voudrait, il faut en afficher la valeur.
ainsi:
$mdp=$_post["password"];
if($mdp=="123"||$mdp=="234"||$mdp=="345")
deviendrait
$mdp=$_post["password"];
var_dump($mdp);
if($mdp=="123"||$mdp=="234"||$mdp=="345")
et la question serait de savoir pourquoi $mdp est vide.
Alors, si on ne comprend toujours pas:*
$mdp=$_post["password"];
var_dump($_post);
if($mdp=="123"||$mdp=="234"||$mdp=="345")
De plus, il serait bon de présenter le code toujours de la même façon:
<?php
$mdp=$_post["password"];
/*ici l'accolade est rejetée à la ligne, ce que je préfère*/
if($mdp=="123"||$mdp=="234"||$mdp=="345")
{
header('Location: blogdeflo.php'); //mais le code n'est pas indenté
}
else
{
session_start(); //indentation ? pourrait être mis sans dommage au début du fichier, même s'il ne sert pas dans tous les cas.
$_SESSION['nbconnect']=$_SESSION['nbconnect']+1; //indentation? A quel moment est créée la variable $_SESSION['nbconnect'] ?
//ici l'accolade est en bout de ligne : us²age courant; il faut choisir)
if ($_SESSION['nbconnect']<=3) {
header('Location: logindeflo.php');//indentation?
}
else {
header('Location: http://www.google.com/');//indentation?
}
}
?>