Formulaire sans affichage de la page.

Résolu
aKuma59 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   -  
nEm3sis Messages postés 710 Date d'inscription   Statut Membre Dernière intervention   -
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 :)

11 réponses

nEm3sis Messages postés 710 Date d'inscription   Statut Membre Dernière intervention   113
 
edit : si tu a compris c'est bon alors :D
2
nEm3sis Messages postés 710 Date d'inscription   Statut Membre Dernière intervention   113
 
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   Statut Membre Dernière intervention   50
 
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   Statut Membre Dernière intervention   113
 
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   Statut Membre Dernière intervention   113
 
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   Statut Membre Dernière intervention   50
 
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   Statut Membre Dernière intervention   6
 
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   Statut Membre Dernière intervention   89
 
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   Statut Membre Dernière intervention   6
 
nEm3sis ta solution marche.

Par contre, comment faire pour rafraichir la page ? js ?
-1
aKuma59 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   6
 
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   Statut Membre Dernière intervention   6
 
C'est bon je viens de comprendre ;)

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