Page 1 sur 1

Formulaire

Posté : 13 mars 2007, 10:23
par berserv
J’ai un formulaire de ce type :

<code>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="nom" size="40" >
<input type="text" name="prenom" size="35">
<input type="submit" name="envoi" value="Envoyer”>
</form>
</code>

Est-il possible en php de récupérer les données encodées sans appuyer sur la touche « envoi ».
(Ex. récupérer données nom avant de passer à l'encodage du prénom)

L’utilisateur doit pouvoir passer d’une page à une autre (par un menu) et pouvoir récupérer les données qu’il a encodées précédemment et par la suite s’il le souhaite appuyer sur envoi.
J’ai stocké les données dans les variables de session, mais cela ne fonctionne bien que si j’appuie sur « envoi ».

Merci encore d'aider une novice
[/code]

Posté : 13 mars 2007, 11:08
par raptor
Hello,

pour faire simple et clair, php est en langage script, donc de traitement, qui s'execute coté serveur, donc au chargement de la page.
Il est donc impossible uniquement avec du PHP d'intéragir avec ce que saisi sur son clavier le client (donc l'internaute).

La méthode serait à chaque appuis sur une touche du clavier, de faire une requete via javascript sur un script php, et mettant a jour des variables de sessions par exemple.

Un script un peu lourd en requetes donc.

Posté : 13 mars 2007, 11:43
par Maitrepylos
Est-il possible en php de récupérer les données encodées sans appuyer sur la touche « envoi ».
cela suppose que tu as déjà reçu les données.

si oui avec tes variables de session tu fais ceci

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="nom" size="40" values="<?php echo $_Session['nom'] ?>">
<input type="text" name="prenom" size="35" values="<?php echo $_Session['prenom'] ?>">
<input type="submit" name="envoi" value="Envoyer”>
</form>


Posté : 13 mars 2007, 12:08
par berserv
Oui, si j'appuie sur la touche "envoi" l'affiche se fait correctement.
Mais j'aurais préféré stocker les données lors du passage d'un champ à un autre.
Mais visiblement c'est pas possible.

Posté : 13 mars 2007, 12:16
par raptor
Je le redis, c'est possible, mais en javascript/ajax

Posté : 13 mars 2007, 12:22
par Maitrepylos
Si c'est possible, mais pas facile à mettre en place.

en gros

1) on fois que le client quitte le champs, on appelle une fonction Ajax grâce à "onblur".
2) la méthode ajax, récupère la données et l'insère dans une variable de session.

3) tu dépose ta variables de session, je pense qu'il faudra rafraichir la page quand même!(à vérifier).

Posté : 14 mars 2007, 11:02
par Berserv
La commande Onblur de javascript fonctionne bien, mais je ne sais pas stocker la valeur dans une variable PHP.
Comment dois-je faire ?

Posté : 14 mars 2007, 11:24
par raptor
Requete type ajax qui appelle un script php.
En gros sur le onblur tu appelles ta fonction perso javascript, qui elle va créer un objet xmlhttprequest, qui va appeler un script, qui va faire les requetes, etc... etc...
Verifier que le onblur fonctionne ne represente qu'une infime partie du script a réaliser.

Nous sommes la pour debuger des morceaux de code, ou donner des conseils de développement. Mais nous ne ferons pas le développement à ta place.

Il y a énormement de tutoriels sur le Net introduisant à l'ajax, et donnant des exemple assez proches de ce que tu souhaites faire.