Header location?

Résolu
gabbermaniac Messages postés 137 Date d'inscription   Statut Membre Dernière intervention   -  
gabbermaniac Messages postés 137 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un formulaire avec un captcha et j'aimerais personnaliser l'affichage d'erreur suivant:

else {
echo 'Le captcha rentré n\'est pas valide ! Veuillez recommencer';
}

Comment faire pour qu'il apparaisse avec mon template? car il m'affiche par défaut ce message sur fond blanc.

Y-a-til un moyen aussi de récupérer pour l'internaute le message tapé afin qu'il n'est pas à le retaper?

Mon code:
Le formulaire
<form action="content/news/addcom.php" method="post" onsubmit="return verif()">

<label>Votre nom ou pseudo : <font color="#B1E100">*</font> </label>
<input type="text" name="pseudo" size="22" id="pseudo_form"/>
<label>Votre email:<font color="#B1E100">*</font> </label>
<input type="text" name="mail" size="22" id="mail_form"/> <br /><br />
<label>Votre message:<font color="#B1E100">*</font> </label>
<textarea name="contenu" id="textarea"></textarea><br />
<?php // le captcha
echo recaptcha_get_html('6LcdYboSAAAAAF2JoBwnMzVWDZ9yU7s6_jVzXvr3');
?>
<br/>
<input type="submit" class="button" value="Envoyer le message" />
<input type="hidden" name="news_id" value="<?php echo $id_blog; ?>"/>


le traitement
<?php
include('recaptchalib.php');

//Le code est-il valide?
$reponse = recaptcha_check_answer('6LcdYboSAAAAANjgWlm8LhW1eq7h-36uJOao18ay',
$_SERVER['REMOTE_ADDR'],
$_POST['recaptcha_challenge_field'],
$_POST['recaptcha_response_field']);

if ($reponse->is_valid){ // on vérifie que le captcha rentré est le bon et si c'est le bon on exécute la suite de notre code

require "../../connect.php";
$pseudo = mysql_real_escape_string(htmlspecialchars($_POST["pseudo"]));
$contenu = mysql_real_escape_string(htmlspecialchars($_POST["contenu"]));
$mail = mysql_real_escape_string(htmlspecialchars($_POST["mail"]));
$news_id = $_POST["news_id"];
$sql="INSERT INTO commentaires (pseudo,url,mail,contenu,news_id) VALUES ('$pseudo','$url','$mail','$contenu','$news_id')";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
header("Location: ../../index.php?p=news/voir&id=$news_id");

}

else {
echo 'Le captcha rentré n\'est pas valide ! Veuillez recommencer';
}

Merci à vous de m'avoir lu, en espérant que vous pourriez m'aider. Céline

2 réponses

avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut.

Remplace
else { 
echo 'Le captcha rentré n\'est pas valide ! Veuillez recommencer'; 
}
Par
else 
    header('Location: formulaire.php?badcaptcha');
Et sur la page de ton formulaire :
<?php if(isset($_GET['badcaptcha'])) : ?> 
    Code HTML du message d'erreur 
<?php endif; ?>

Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
0
gabbermaniac Messages postés 137 Date d'inscription   Statut Membre Dernière intervention   12
 
un grand merci à toi! c'est exactement ce que je cherchais à faire! ce code va pouvoir me resservir qui plus est.
0