Formulaire sans affichage de la page.

Résolu/Fermé
aKuma59 Messages postés 104 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 28 janvier 2018 - 23 juil. 2008 à 11:31
nEm3sis Messages postés 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 - 23 juil. 2008 à 12:34
Bonjour,
J'ai actuellement un formulaire tout simple comme ceci :

<form method="POST" action="AdministrationCategorieAjout.php" name="EnvoieCate">
<TABLE BORDER=0>
<TR>
<TD>Categorie à ajouter :</TD>
<TD>
<input type="text" name="Titre">
</TD>
</TR>
<TR>
<TD COLSPAN=2>
<input type="submit" value="Ajouter la catégorie">
</TD>
</TR>
</TABLE>
</form>

Seulement je voudrais que quand je clique sur le bouton les données soit envoyé sans afficher la page cible.
Je voudrais ( si possible ) que les données soit envoyer à la page cible et qu'une fois le traitement efféctué la page soit actualisé. Donc la page cible ne doit jamais apparaitre.

Merci d'avance pour votre aide :)
A voir également:

11 réponses

nEm3sis Messages postés 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
23 juil. 2008 à 12:34
edit : si tu a compris c'est bon alors :D
2
nEm3sis Messages postés 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
23 juil. 2008 à 11:48
déjà tu as ça
<form method="post" action="administrationcategorieajout.php" name="envoiecate">
  <table border=0>
    <tr>
      <td>categorie à ajouter :</td>
      <td>
        <input type="text" name="titre">
      </td>
      </tr>
    <tr>
      <td colspan=2>
        <input type="submit" value="ajouter la catégorie">
      </td>
    </tr>
  </table>
</form>


tu peux rajouter ça après :
<?php
if($_POST['titre']){
 // ici tu met le contenu de ta page AdministrationCategorieAjout.php
 // il ne sera exécuté que si le foormulaire a été envoyé grâce au test if 2 ligne au dessus
}
?>


comme ça si dans ta page AdministrationCategorieAjout.php il n'y a que des actions et pas d'affichage la page restera identique mais le formulaire aura été envoyé et les actions faites
2
Koozag Messages postés 391 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 31 janvier 2013 50
23 juil. 2008 à 11:49
Oui sa marche c'est sur, mais bon c'est pas clean on va dire !

Tu peux faire des if isset, ... pour pouvoir comme dit nemesis avoir une seule page, mais c'est long, personnellement sa me soule mais sa marche ;-)
2
nEm3sis Messages postés 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
23 juil. 2008 à 12:17
la soumission du formulaire fait un rafraichissement de la page
si dans ta page tu charge des élément qui ont été mis à jour/ajouté par le formulaire dans ce cas mieu vaut mettre le php au début de ton code puis vient le html


exemple :

<?php
if($_POST['titre']){
 // ici tu met le contenu de ta page AdministrationCategorieAjout.php
 // il ne sera exécuté que si le foormulaire a été envoyé grâce au test if 2 ligne au dessus
}
?>

etc ...
<form method="post" action="" name="envoiecate">
 etc ...


comme ça tu envoi le formulaire
le php traite ce formulaire
puis charge la page


edit : correction du message j'ai fait qq erreurs d'étourderies
0

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

Posez votre question
nEm3sis Messages postés 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
23 juil. 2008 à 11:33
suffit de mettre
<form method="POST" action="" name="EnvoieCate"> 

comme ça la page cible sera elle même donc pas de changement

mais n'oublies pas dans ce cas de mettre le contenu de AdministrationCategorieAjout.php dans ta page

sinon tu a le ajax mais c'est plus compliqué
-1
Koozag Messages postés 391 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 31 janvier 2013 50
23 juil. 2008 à 11:38
Ce que tu peux faire c'est sur ta page de traitement tu affiche un message "Données bien envoyées" afin que la page soit vu, et une confirmation, après un code en javascript te redirigeras vers la page que tu désires ;-)
-1
aKuma59 Messages postés 104 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 28 janvier 2018 6
23 juil. 2008 à 11:44
Koozag, j'ai pensé à ça aussi et j'avais mis un
<script>
javascript:window.history.go(-1)
</script>
ça fonctionne mais c'est pas tiptop.

nEm3sis, je dois mettre le contenu de AdministrationCategorieAjout.php dans ma page mais comment va t-il savoir que c'est ce traitement là qu'il dois exécuter ?
-1
macgawel Messages postés 664 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 1 novembre 2008 89
23 juil. 2008 à 11:49
Une troisième solution :

Dans ta page AdministrationCategorieAjout.php, tu effectues tout le traitement relatif au formulaire (vérifications, requêtes SQL etc.), puis sans avoir affiché quoi que ce soit tu redirige :

SI tout est OK =>
header("location:LaPageaAfficher.php");

SINON
Soit
header("location:UnePagedErreur.php");

Soit
header("location:LaPageaAfficher.php");
en passant en paramètre le message/numéro d'erreur.

-1
aKuma59 Messages postés 104 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 28 janvier 2018 6
23 juil. 2008 à 12:11
nEm3sis ta solution marche.

Par contre, comment faire pour rafraichir la page ? js ?
-1
aKuma59 Messages postés 104 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 28 janvier 2018 6
23 juil. 2008 à 12:31
Heuuu...

Enfaite c'est cette page là que je veux rafraichir :



<form method="POST" action="" name="EnvoieCate">
<TABLE BORDER=0>
<TR>
<TD>Categorie à ajouter :</TD>
<TD>
<input type="text" name="Titre">
</TD>
</TR>
<TR>
<TD COLSPAN=2>
<input type="submit" value="Ajouter la catégorie">
</TD>
</TR>
</TABLE>
</form>

<?php
if($_POST['titre']){
// contenu de ta page AdministrationCategorieAjout.php
}
?>

Car dans le php il exécute une requête SQL mais il n'affiche pas les résultats de la requête, je dois rafraichir la page pour qu'il les affiche.
-1
aKuma59 Messages postés 104 Date d'inscription samedi 19 juillet 2008 Statut Membre Dernière intervention 28 janvier 2018 6
23 juil. 2008 à 12:34
C'est bon je viens de comprendre ;)

Merci beaucoup à tous et surtout à toi nEm3sis ;)
-1