[PHP] Autosubmit d'un form en PHP

Autosubmit d'un form en PHP [PHP] - PHP - Programmation

Marsh Posté le 29-04-2009 à 19:18:20    

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
Reply

Marsh Posté le 29-04-2009 à 19:18:20   

Reply

Marsh Posté le 29-04-2009 à 23:00:32    

ç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
Reply

Marsh Posté le 29-04-2009 à 23:19:55    

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....

Reply

Marsh Posté le 30-04-2009 à 08:49:15    

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

Reply

Marsh Posté le 30-04-2009 à 09:20:27    

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...

Reply

Marsh Posté le 30-04-2009 à 09:22:54    

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

Reply

Marsh Posté le 30-04-2009 à 09:29:23    

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 ? :)

Reply

Marsh Posté le 30-04-2009 à 09:30:55    

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.

Reply

Marsh Posté le 30-04-2009 à 09:33:22    

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

Reply

Marsh Posté le 30-04-2009 à 09:42:21    

Ç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
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed