Réactualiser la page après formulaire

cs_ocane Messages postés 4 Date d'inscription lundi 19 juin 2006 Statut Membre Dernière intervention 18 avril 2008 - 18 sept. 2007 à 15:00
cs_ocane Messages postés 4 Date d'inscription lundi 19 juin 2006 Statut Membre Dernière intervention 18 avril 2008 - 19 sept. 2007 à 10:15
Bonjour j'ai le formulaire suivant dont le traitement se fait sur la même page :

echo '

   <table><tr height="10px">
 

 <center style="width:100px;font-size:20px;background-color:#FF0055;font-weight:bold;margin-left:0px"> Posez votre question </center>

<form name="questionfaq" method="post" action="#" >
&nbsp Problème :
&nbsp <textarea name="Question" rows="6" cols="55" ></textarea>

<center></center>
</form> 
 ';




if(!isset($_POST['Question']))
echo 'erreur';
else
{ if(isset($_POST['Question']))
{
$question = $_POST['Question'];
echo($question);


 $sqlfaq = "INSERT INTO faq (Titre) VALUES ('".addslashes($question)."');";
 $resultat2=mysql_query($sqlfaq,$connection);
  
}
}

Le résultat est bien entré dans ma base de données mais je suis obligée de faire F5 pour l'afficher sur ma page ce qui fait qu'il me rentre une deuxieme fois ma varible dans la table....Je pensais mettre onclick="window.location.reload()" dans la balise form mais ça ne fonctionne pas...Comment faire?Merci d'avance de vos réponses.

6 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
18 sept. 2007 à 16:03
bonjour,
    __ c'est quoi action="#" ?
    met <form name="questionfaq" method="post">
          ça devrait aller mieux...
    __ pourquoi 2 fois le même test ?


<?php
if(isset($_POST['Question']))
{    $question = $_POST['Question'];
      /*echo($question);*/
     $sqlfaq = "INSERT INTO faq (Titre) VALUES ('".addslashes($question)."');";
     $resultat2=mysql_query($sqlfaq,$connection);



}
?>

   <!--table><tr height="10px"-->
 

 <center
style="width:100px;font-size:20px;background-color:#FF0055;font-weight:bold;margin-left:0px">
Posez votre question </center>

<form name="questionfaq" method="post">

&nbsp Problème :
&nbsp <textarea name="Question"
rows="6" cols="55"
></textarea>

<center>
</form>

</center>









une chose encore... dans table, il doit y avoir des <tr><td>...</td>...></tr>
       et </table> !



<hr />




Cordialement                Bul         [mon Site]     [M'écrire]<hr />
En général, c'est absurde de généraliser.
0
cs_ocane Messages postés 4 Date d'inscription lundi 19 juin 2006 Statut Membre Dernière intervention 18 avril 2008
18 sept. 2007 à 16:11
Je voulais faire une table mais je l'ai enlevée merci de me l'avoir dit.

En fait je ne fais pas 2 fois le meme test le premier : !isset vérifie si la variable n'a rien et le 2eme isset si elle a quelque chose.
Et action=# revoie le traitement sur la page en cours, si je l'enlève plus rien en se passe.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
18 sept. 2007 à 16:27
1°    >>En fait je ne fais pas 2 fois le meme test le premier :
        >>!isset vérifie
si la variable n'a rien et le 2eme isset si elle a quelque chose.
ben, oui. mais c'est isset ou pas, 2 tests sont inutiles, c'est l'un ou l'autre !

tu fais :
    si !isset(a)  traitement 1
    si isset(a)   traitement 2
fait plutôt :
    si i!isset(a)
traitement
1
    sinon          
traitement
2
en plus, seul traitement 2 est nécessaire
    donc... : si isset(a)
traitement
2

car  tester si !isset ==> mettre erreur ? pourquoi ?
ça ne va arriver qu'au 1er chargement de la page,
et ce n'est pas une erreur.

2° sur un formulaire, si action non cité : ça relance la même page
( pas sur que ça fonctionne comme ça avec # )

>>si je l'enlève plus rien en se passe.
    pas de raison.
    tu as une erreur ailleurs






<hr />




Cordialement                Bul         [mon Site]     [M'écrire]
<hr />


En général, c'est absurde de généraliser.
0
cs_ocane Messages postés 4 Date d'inscription lundi 19 juin 2006 Statut Membre Dernière intervention 18 avril 2008
18 sept. 2007 à 16:34
Tu as raison j'ai changé mon code :
echo '
';
if(isset($_POST['Question']))
{
$question = $_POST['Question'];
 $sqlfaq = "INSERT INTO faq (Titre) VALUES ('".addslashes($question)."');";
 $resultat2=mysql_query($sqlfaq,$connection);
echo "Le champ monchamp a pris la valeur $question dans la BDD";
}
else
{
// on initialise les variables à vide pour ne pas avoir d'erreur
$question = "";
}
//affichage du formulaire
 echo'<center style="width:100px;font-size:20px;background-color:#FF0055;font-weight:bold;margin-left:0px"> Posez votre question </center>

<form name="questionfaq" method="post" >
&nbsp Problème :
&nbsp <textarea name="Question" value="'.$_POST["Question"].'" rows="6" cols="55"></textarea>

<center></center>
</form>

';

La valeur se met bien dans la base de donnée.
Sur la même page dans mon autre div, il y a l'affichage des questions mais quand j'envoi le formulaire ça ne se met pas à jour comment faire?de plus quand je réactualise ma page ma question est entrée de nouveau dans ma base...comment faire?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
19 sept. 2007 à 08:57
<center style="width:100px;font-size:20px;background-color:#FF0055;font-weight:bold;margin-left:0px"> Posez votre question </center>

<form name="questionfaq" method="post" >
&nbsp Problème :

&nbsp <textarea name="Question" rows="6" cols="55">
<?php
if(isset($_POST['Question']))
{    $question = $_POST['Question'];
/*
et l'ouverture, la connexion à la base ?
et peut-être erreurs de syntaxe en php, mais
ce sont des questions php, alors
*/
     $sqlfaq = "INSERT INTO faq (Titre) VALUES ('".addslashes($question)."');";
     $resultat2=mysql_query($sqlfaq,$connection);
     echo $question;
}
?>
</textarea>

<center>
</center>
</form>

<hr />



Cordialement            Bul         [mon Site]     [M'écrire]
<hr />


En général, c'est absurde de généraliser.
0
cs_ocane Messages postés 4 Date d'inscription lundi 19 juin 2006 Statut Membre Dernière intervention 18 avril 2008
19 sept. 2007 à 10:15
La connexion est plus haut sur mon fichier. Mais je ne l'ai aps mise. C'est bon j'ai trouvé une solution à mon problème en créant une sorte de mini chat.
0
Rejoignez-nous