par
Berzemus » 15 juil. 2011, 10:02
Puisqu'apparemment c'est difficile, voici le code ci-dessus indenté:
$bdd = new PDO('mysql:host=**************;dbname=polib250634', 'polib250634', '*********', $pdo_options);
$Variables = array('pseudo', 'message'); //Si t'a plus de variable à tester par la suite, c'est pratique :)
$erreur = 0;
foreach ($Variables as $item) { //Boucle qui verifie chaque variables qui sont dans l'array du dessus, si une ou plusieurs manque ou sont vide $erreur vaudra 1
if (isset($_POST[$item])) {
if (isempty($_POST[$item])) $erreur = 1; //Pas de isempty sans isset, car une variable peut etre non définie ou définie et vide et si elle n'est pas définie et que tu fait un isempty direc
}
else $erreur = 1;
}
if (!$erreur) {
$requete = $bdd->prepare('SELECT bann, ID FROM minichat WHERE pseudo = ?'); //La faille n'est pas bouché.
$requete->execute(array($_POST['pseudo']));
$reponse = $requete->fetch();
if ($reponse['bann'] == 0)
{
setcookie('pseudo', $_POST['pseudo'], time() + 365*24*3600, null, null, false, true);
$requete->closeCursor();
$req = $bdd->prepare('INSERT INTO minichat (pseudo, message) VALUES(?, ?)');
$req->execute(array($_POST['pseudo'], $_POST['message']));
// Redirection du visiteur vers la page du minichat
header('Location: mini_chat.php');
}
}
else {
echo 'message';
}
}
else {
echo 'Une ou plusieurs variable ne sont pas correctement définie';
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
Déjà, je vois des accolades en trop, et l'expression catch() fait partie de la construction try{} catch(), aka. la
gestion des exceptions. Un catch() sans son try{}, en php il ne me semble pas que ça fonctionne (d'autres langages le permettent, mais ce n'est pas le sujet).
On dirait un code copié-collé et recomposé de façon incomplète.
Puisqu'apparemment c'est difficile, voici le code ci-dessus indenté:
[php]$bdd = new PDO('mysql:host=**************;dbname=polib250634', 'polib250634', '*********', $pdo_options);
$Variables = array('pseudo', 'message'); //Si t'a plus de variable à tester par la suite, c'est pratique :)
$erreur = 0;
foreach ($Variables as $item) { //Boucle qui verifie chaque variables qui sont dans l'array du dessus, si une ou plusieurs manque ou sont vide $erreur vaudra 1
if (isset($_POST[$item])) {
if (isempty($_POST[$item])) $erreur = 1; //Pas de isempty sans isset, car une variable peut etre non définie ou définie et vide et si elle n'est pas définie et que tu fait un isempty direc
}
else $erreur = 1;
}
if (!$erreur) {
$requete = $bdd->prepare('SELECT bann, ID FROM minichat WHERE pseudo = ?'); //La faille n'est pas bouché.
$requete->execute(array($_POST['pseudo']));
$reponse = $requete->fetch();
if ($reponse['bann'] == 0)
{
setcookie('pseudo', $_POST['pseudo'], time() + 365*24*3600, null, null, false, true);
$requete->closeCursor();
$req = $bdd->prepare('INSERT INTO minichat (pseudo, message) VALUES(?, ?)');
$req->execute(array($_POST['pseudo'], $_POST['message']));
// Redirection du visiteur vers la page du minichat
header('Location: mini_chat.php');
}
}
else {
echo 'message';
}
}
else {
echo 'Une ou plusieurs variable ne sont pas correctement définie';
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?> [/php]
Déjà, je vois des accolades en trop, et l'expression catch() fait partie de la construction try{} catch(), aka. la[url=http://fr.php.net/manual/fr/language.exceptions.php]gestion des exceptions[/url]. Un catch() sans son try{}, en php il ne me semble pas que ça fonctionne (d'autres langages le permettent, mais ce n'est pas le sujet).
On dirait un code copié-collé et recomposé de façon incomplète.