Page 1 sur 3

Prévisualiser un formulaire

Posté : 13 janv. 2007, 16:10
par cmoi
Bonjour,

si je veux valider les informations déposées dans un formulaire avant qu'elles n'entrent dans ma bdd, est-il possible d'obtenir un document intermédiaire (quel qu'il soit), vérifiable, modifiable et validable bien sûr ?

Merci encore pour vos infos toujours pertinentes.

Posté : 13 janv. 2007, 16:13
par Truc
Salut,
C'est à dire ?

Ce qui est certains c'est que tu n'es absolument pas obligé d'enregistrer en BD tout de suite après validation d'un formulaire.
Par contre il faut garder ces données quelque part => SESSION

Et tu enregistres quand bon te semble avec les données des variables de session.

Posté : 13 janv. 2007, 16:14
par cmoi
oui c'est précisément ce que je voudrais faire. Mais comment ?

Posté : 13 janv. 2007, 16:17
par Truc

Posté : 13 janv. 2007, 16:25
par cmoi
Bon ok ma page va commencer comme ça :
<?php 
session_start();
// On commence par récupérer les champs 
if(isset($_POST['SOCIETE']))      $nom=$_POST['SOCIETE'];
else      $SOCIETE="";

if(isset($_POST['CONTACT']))      $prenom=$_POST['CONTACT'];
else      $CONTACT="";
Mais il manque une variable je pense : qui s'écrit comment?.

Posté : 13 janv. 2007, 16:59
par Nico128
C'est simple... Déjà est-ce que ton formulaire est déjà fait et fonctionne ?

Pour la prévisualisation tu as juste à rajouter un bouton submit "Prévisualisation". Ensuite en php tu mets :
if(isset($Previsualisation))
{
  echo $SOCIETE.'<br>';
  echo $CONTACT.'<br>';
  echo 'etc.';  
}
elseif(isset($Envoyer))
{
  // T'enregsitre ici dans ta base de donnée
}
Bon biensur au lieu d'afficher les valeurs comme ça en brute, tu lui mets une belle mise en page...

Posté : 13 janv. 2007, 16:59
par Truc
Mais il manque une variable je pense : qui s'écrit comment?.
$qui_s_ecrit_comment
:D

Tu penses à quoi ?
La récupération est bien mais tu peux regader ce post pour faire "très" bien

Posté : 13 janv. 2007, 20:21
par cmoi
[quote="Nico128"]C'est simple... Déjà est-ce que ton formulaire est déjà fait et fonctionne ?

Pour la prévisualisation tu as juste à rajouter un bouton submit "Prévisualisation". Ensuite en php tu mets :
if(isset($Previsualisation))
{
  echo $SOCIETE.'<br>';
  echo $CONTACT.'<br>';
  echo 'etc.';  
}
elseif(isset($Envoyer))
{
  // T'enregsitre ici dans ta base de donnée
}
Mon formulaire html est fait et la page correspondante php renvoit bien les valeurs dans ma table.
Est-ce qu'il faut modifier le formulaire ? C'est pas très clair pour moi ?

Posté : 13 janv. 2007, 22:24
par Truc
Est-ce qu'il faut modifier le formulaire ? C'est pas très clair pour moi ?
C'est juste une question de logique...

Si tu comprend ce que tu codes alors tu ne doit pas avoir de mal à faire ce que tu souhaites.

1. Formulaire
2. Renvoyer sur page de traitement
3. Faire joue-joue avec les données (mettre en session, afficher...)
4. (Faire un tour ailleurs)
5. Enregistrer en BD les variables de session (ou tout autre moyen de garder des données)

Posté : 14 janv. 2007, 13:06
par cmoi
Est-ce que ça veut dire que ce code
if(isset($Previsualisation)) 
{ 
  echo $SOCIETE.'<br>'; 
  echo $CONTACT.'<br>'; 
  echo 'etc.';   
} 
elseif(isset($Envoyer)) 
{ 
  // T'enregsitre ici dans ta base de donnée 
} 
est dans le formulaire ?

Posté : 14 janv. 2007, 15:42
par Truc
Et bien voilà pourquoi il ne faut jamais balancer de code...
ça n'apporte que confusions et temps perdu :roll:

Ce code ou quelque chose y ressemblant devrait se trouver dans le fichier de traitement du formulaire.

Posté : 14 janv. 2007, 15:55
par cmoi
c'est sympa de répondre, mais je reste toujours sur ma faim. Tu rajoutes des questions à mes doutes !!

Mon propos n'est pas de devenir un expert, juste de résoudre un petit problème.
Aussi comme je pars de 0 en php (le peu que je sais je l'ai appris ici, ...merci à tous), je n'ai pas très envie de me plonger dans des tutos pas très clairs pour moi.

Posté : 14 janv. 2007, 16:01
par Truc
Parce que je ne vois pas de réelles difficultés mais plus un manque de réflexion de ta part.

Tu as un formulaire... OK
Tu as le fichier de traitement... OK

Tu n'as donc plus grand chose à faire.

Commence par enregistrer les données en session au lieu de les enregistrer en BD.
Ensuite construit ce que tu veux en te basant sur le bout de code montré.
Lors de la validation du formulaire tu arrives sur cette page avec une variable $Previsualisation à 1 donc affichage en clair de tes données Tu ajoutes à la suite un bouton, lien de confirmation qui renvoi sur cette même page mais sans cette variable de prévisu. A ce moment seulement tu enregistres en BD.

Posté : 14 janv. 2007, 16:17
par cmoi
donc le formulaire je n'y touche pas.

dans ma page php, j'ai essayé
<? php session_start(); 
au début et
if(isset($Previsualisation))  
{  
  echo $SOCIETE.'<br>';  
  echo $CONTACT.'<br>';  
 echo $ADRESSE.'<br>'; 
echo ...
à la fin.
et j'ai enlevé le code de connexion.
Ca ne va pas. Où est l'erreur?

Posté : 14 janv. 2007, 17:01
par Truc
L'erreur... :-k

"$Previsualisation" vaut koi ?

Il faut crée cette variable depuis le formulaire.
Ajout un champ caché :
<input type="hidden" value="1" name="Previsualisation">
N'oublie pas de la récupérer cette variable en POST come les autres.