Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1709 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Autosubmit d'un form en PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Autosubmit d'un form en PHP

n°1879479
jay-jay69
Posté le 29-04-2009 à 19:18:20  profilanswer
 

Bonjour,
 
J'ai une question, sans savoir si elle a une réponse :
 
J'ai une page qui contient un form avec des champs hidden et je veux l'auto-submiter, en PHP...
 
Aujourd'hui, j'utilise :

Code :
  1. <script>
  2. document.form1.submit();
  3. </script>


 
Mais j'ai l'impression que ca ne fonctionne pas tout le temps... Certains de mes utilisateurs restent sur une page blanche sans que rien  ne se passe... des idées ?
 
merci !!!


Message édité par jay-jay69 le 29-04-2009 à 19:18:33
mood
Publicité
Posté le 29-04-2009 à 19:18:20  profilanswer
 

n°1879528
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 29-04-2009 à 23:00:32  profilanswer
 

ça ressemble plus à du javascript qu'à du PHP ... ce dernier étant exécuté côté serveur, il ne pourra pas submitter ton formulaire.


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1879536
jay-jay69
Posté le 29-04-2009 à 23:19:55  profilanswer
 

oui... c'est du javascript... :)
 
mais j'ai l'impression que ca ne fonctionne pas chez tout le monde... est ce normal ?
 
du coup, je me demandais s'il y avait pas une autre solution....

n°1879580
FlorentG
Unité de Masse
Posté le 30-04-2009 à 08:49:15  profilanswer
 

Et ça sert à quoi sinon ? Pourquoi vouloir auto-submiter un truc ?

n°1879584
jay-jay69
Posté le 30-04-2009 à 09:20:27  profilanswer
 

en fait, c'est une page cachée dans laquelle je passe des variables dans des champs hidden...
 
visiblement, c'est uniquement sous FireFox que ca ne marche pas...

n°1879587
FlorentG
Unité de Masse
Posté le 30-04-2009 à 09:22:54  profilanswer
 

C'est un peu bizarre, nan ? :D Y'a peut-être un moyen plus élégant de le faire, donne un peu plus d'infos

n°1879590
jay-jay69
Posté le 30-04-2009 à 09:29:23  profilanswer
 

en fait, j'ai un formulaire... l'utilisateur le remplit et va sur une page qui valide le formulaire...
je fais des tests sur les champs...
si des tests sont faux, je passe en hidden l'ensemble des valeurs qu'il a saisi pour les repasser sur la page du formulaire...
 
suis-je clair ? :)

n°1879591
FlorentG
Unité de Masse
Posté le 30-04-2009 à 09:30:55  profilanswer
 

Oulalalalala, ça m'a l'air bien compliqué pour pas grand chose :D
 
Normallement t'as deux partie : un script + la template du formulaire. T'as pas besoin d'une autre page entre... Le script doit tout gérer : affichage, validation, réaffichage, traitement, etc.

n°1879592
jay-jay69
Posté le 30-04-2009 à 09:33:22  profilanswer
 

effectivement... moi, je me suis faire une page intermédiaire qui fait tout...
 
:(

n°1879594
FlorentG
Unité de Masse
Posté le 30-04-2009 à 09:42:21  profilanswer
 

Ça peut être assez simple. Genre avec juste un input :

 

Fichier form.php

Code :
  1. $errors = array();
  2.  
  3. if($_SERVER['REQUEST_METHOD'] === 'GET') {
  4.  
  5.  require 'form.tpl.php';
  6.  
  7. } else {
  8.  
  9.  if(isset($_POST['pouet']) && strlen($_POST['pouet']) > 0) {
  10.  
  11.    // traitement (insertion en base, etc.)
  12.  
  13.    header('http://thesite.com/succes.html', true, 303);
  14.    exit;
  15.  
  16.  } else {
  17.    $errors[] = 'Il faut remplir le champ pouet';
  18.    require 'form.tpl.php';
  19.  }
  20. }


Et le fichier form.tpl.php

Code :
  1. <!DOCTYPE....
  2. ...
  3. <form action="form.php" method="post">
  4. <?php
  5.  if(count($errors) > 0) {
  6. ?>
  7.  <ul class="errors">
  8. <?php
  9.    foreach($errors as $e) {
  10. ?>
  11.      <li><?php echo htmlspecialchars($e) ?></li>
  12. <?php
  13.    }
  14. ?>
  15.  </ul>
  16. <?php
  17. }
  18. ?>
  19.  <div>
  20.    <label for="f_pouet">Pouet</label><br />
  21.    <input type="text" name="pouet" id="f_pouet"<?php
  22.  if(isset($_POST['pouet'])) {
  23.   echo ' value="', htmlspecialchars($_POST['pouet']), '"';
  24.  } ?> />
  25.     <input type="submit" value="Ok" />
  26.  </div>
  27. </form>
 

Par exemple... Après prévoir des fonctions pour la validation (vérifier présence et longueur), et aussi pour l'affichage des champs (foutre des isset tout le temps devient lourd)


Message édité par FlorentG le 30-04-2009 à 09:43:25

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Autosubmit d'un form en PHP

 

Sujets relatifs
PHP : Calcul opération dans une variable[PHP] Apostrophe formulaire
Question simple sur PHP[PHP].htaccess et erreur 403
Formulaire et PHP.[PHP] Intégration d'un champ 'joindre un fichier' dans un formulaire
Durée de vie session PHP et imageProblème pour supprimer article en PHP/MySQL
password pour page HTML/PHP[PHP] Erreur sur une fonction foreach
Plus de sujets relatifs à : [PHP] Autosubmit d'un form en PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR