par
Selinaa » 01 avr. 2012, 16:44
Bonjour à tous,
Je me suis inscrite sur votre forum car cela fait un petit moment que j'ai un problème sur un de mes codes, et je dois avouer que je n'ai plus les idées claires à son sujet.
La solution doit être devant mes yeux, mais je ne l'a trouve pas !
Je vous explique : j'ai possibilité d'ajouter des commentaires à une news précise. J'ai fait un formulaire pour pouvoir ajouter ces commentaires, seulement il y a un problème. Dès que nous validons le formulaire, ma page de traitement se "bloque" et reste vide comme si il ne passait pas certain if et donc ne redirige pas à la fin. J'ai fait des echos dans mes boucles pour vérifier si toutes passaient, chaque fois c'était bon. Mais il ne va pas jusqu'au header();
Ma requête sql qui sert à ajouter le commentaire dans ma table fonctionne, puisque les informations sont bien recueillis. Et si on retourne sur la page avec le "retour" du navigateur, le commentaire s'affiche bien.
Voici mon formulaire :
<form action="traitement_commentaire.php" method="post">
<input name="id" type="hidden" value="<?php echo $ID; ?>" />
<input name="heure" type="hidden" value="<?php echo "$heure h $minute min"; ?>" />
<input name="date" type="hidden" value="<?php echo $date; ?>" />
<strong><p style="padding-left:40px; margin-top:30px;">Pseudo *</p></strong>
<input name="pseudo" type="text" style="margin-left:40px; height:20px;" size="29"/>
<strong><p style="padding-left:40px; margin-top:15px; ">E-mail *</p></strong>
<input name="mail" type="text" style="margin-left:40px; height:20px;" size="29"/>
<strong><p style="padding-left:40px; margin-top:15px; ">Votre commentaire</p></strong>
<textarea name="commentaire" cols="35" rows="10" style="margin-left:40px;"></textarea><br />
<input name="valider" type="submit" value="Ajouter le commentaire" style="padding-right:40px; margin-left:50px; margin-top:10px; margin-bottom:20px;" />
</form>
et voici le trairement_commentaire.php
<?php include ('includes/entete.php'); ?>
<div id="colonne_gauche">
<div id="titre_article"><h1>Problème commentaire</h1></div>
<div id="fond_article">
<div id="texte_avancement" style="margin-left:50px; padding-top:20px; padding-bottom:20px;">
<?php
include 'includes/config.php';
if (isset($_POST["id"])){
$id=$_POST["id"];
}
$regex = "/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i";
if (preg_match($regex,$_POST['mail']))
{
$email = TRUE;
$mail=$_POST['mail'];
if (isset($_POST["pseudo"]))
{
if($_POST["pseudo"] != "")
{
$pseudo=$_POST["pseudo"];
if (isset($_POST["heure"])){
$heure=$_POST["heure"];
}
if (isset($_POST["date"])){
$date=$_POST["date"];
}
if (isset($_POST["commentaire"])){
$commentaire=$_POST["commentaire"];
}
mysql_connect($host, $user, $pass) or die("Impossible de se connecter : " . mysql_error());
//Sélection de la base de donnée
mysql_select_db($db) or die("Select `$db` impossible : " . mysql_error());
$sql="INSERT INTO kaishii_commentaire(kaishii_NoAutoArticle, AuteurCom, MailCom, TexteCom, HeureCom, DateCom) VALUES ('$id','$pseudo', '$mail', '$commentaire', '$heure', '$date')";
//Lancement d'une ou de plusieurs requêtes
$result = mysql_query($sql) or die("Échec de la requête : " . mysql_error());
header("Location:article.php?id=".$id);
}
else
{
echo '<p>Veuillez entrer un pseudo valide.</p>';
echo '<a href="article.php?id='.$id.'" style="color:#000; text-decoration:none; font-weight:bold;">Retour aux commentaires </a>';
}
}
}
else
{
$email = FALSE;
$form=true;
echo '<p>Veuillez entrer une adresse e-mail valide.</p>';
echo '<a href="article.php?id='.$id.'" style="color:#000; text-decoration:none; font-weight:bold;">Retour aux commentaires </a>';
}
?>
</div>
</div>
<div id="ligne_commentaire"> </div>
</div>
<div id="colonne_droite" align="right">
<?php include ('includes/avancement.html'); ?>
<?php include ('includes/partenaire.html'); ?>
</div>
<?php include ('includes/footer.php'); ?>
Je vous remercie pour votre aide, et au plaisir !

Bonjour à tous,
Je me suis inscrite sur votre forum car cela fait un petit moment que j'ai un problème sur un de mes codes, et je dois avouer que je n'ai plus les idées claires à son sujet.
La solution doit être devant mes yeux, mais je ne l'a trouve pas ! :?
Je vous explique : j'ai possibilité d'ajouter des commentaires à une news précise. J'ai fait un formulaire pour pouvoir ajouter ces commentaires, seulement il y a un problème. Dès que nous validons le formulaire, ma page de traitement se "bloque" et reste vide comme si il ne passait pas certain if et donc ne redirige pas à la fin. J'ai fait des echos dans mes boucles pour vérifier si toutes passaient, chaque fois c'était bon. Mais il ne va pas jusqu'au header();
Ma requête sql qui sert à ajouter le commentaire dans ma table fonctionne, puisque les informations sont bien recueillis. Et si on retourne sur la page avec le "retour" du navigateur, le commentaire s'affiche bien. :shock:
Voici mon formulaire :
[html]
<form action="traitement_commentaire.php" method="post">
<input name="id" type="hidden" value="<?php echo $ID; ?>" />
<input name="heure" type="hidden" value="<?php echo "$heure h $minute min"; ?>" />
<input name="date" type="hidden" value="<?php echo $date; ?>" />
<strong><p style="padding-left:40px; margin-top:30px;">Pseudo *</p></strong>
<input name="pseudo" type="text" style="margin-left:40px; height:20px;" size="29"/>
<strong><p style="padding-left:40px; margin-top:15px; ">E-mail *</p></strong>
<input name="mail" type="text" style="margin-left:40px; height:20px;" size="29"/>
<strong><p style="padding-left:40px; margin-top:15px; ">Votre commentaire</p></strong>
<textarea name="commentaire" cols="35" rows="10" style="margin-left:40px;"></textarea><br />
<input name="valider" type="submit" value="Ajouter le commentaire" style="padding-right:40px; margin-left:50px; margin-top:10px; margin-bottom:20px;" />
</form>[/html]
et voici le trairement_commentaire.php
[php]<?php include ('includes/entete.php'); ?>
<div id="colonne_gauche">
<div id="titre_article"><h1>Problème commentaire</h1></div>
<div id="fond_article">
<div id="texte_avancement" style="margin-left:50px; padding-top:20px; padding-bottom:20px;">
<?php
include 'includes/config.php';
if (isset($_POST["id"])){
$id=$_POST["id"];
}
$regex = "/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i";
if (preg_match($regex,$_POST['mail']))
{
$email = TRUE;
$mail=$_POST['mail'];
if (isset($_POST["pseudo"]))
{
if($_POST["pseudo"] != "")
{
$pseudo=$_POST["pseudo"];
if (isset($_POST["heure"])){
$heure=$_POST["heure"];
}
if (isset($_POST["date"])){
$date=$_POST["date"];
}
if (isset($_POST["commentaire"])){
$commentaire=$_POST["commentaire"];
}
mysql_connect($host, $user, $pass) or die("Impossible de se connecter : " . mysql_error());
//Sélection de la base de donnée
mysql_select_db($db) or die("Select `$db` impossible : " . mysql_error());
$sql="INSERT INTO kaishii_commentaire(kaishii_NoAutoArticle, AuteurCom, MailCom, TexteCom, HeureCom, DateCom) VALUES ('$id','$pseudo', '$mail', '$commentaire', '$heure', '$date')";
//Lancement d'une ou de plusieurs requêtes
$result = mysql_query($sql) or die("Échec de la requête : " . mysql_error());
header("Location:article.php?id=".$id);
}
else
{
echo '<p>Veuillez entrer un pseudo valide.</p>';
echo '<a href="article.php?id='.$id.'" style="color:#000; text-decoration:none; font-weight:bold;">Retour aux commentaires </a>';
}
}
}
else
{
$email = FALSE;
$form=true;
echo '<p>Veuillez entrer une adresse e-mail valide.</p>';
echo '<a href="article.php?id='.$id.'" style="color:#000; text-decoration:none; font-weight:bold;">Retour aux commentaires </a>';
}
?>
</div>
</div>
<div id="ligne_commentaire"> </div>
</div>
<div id="colonne_droite" align="right">
<?php include ('includes/avancement.html'); ?>
<?php include ('includes/partenaire.html'); ?>
</div>
<?php include ('includes/footer.php'); ?> [/php]
Je vous remercie pour votre aide, et au plaisir ! :)