problème d'affichage

jo
Invité n'ayant pas de compte PHPfrance

13 juil. 2005, 11:06

salut,

voila jai créer un formulaire qui quand on le valide envoi un mail et si le mail es correctemen envoyé un message de confirmation s'affiche sur ma page.
Le problème c'est que je voudrai qu'il n'y ai ke le message ki s'affiche et pas le formulaire.
Mais pour le momen j'ai le message de confirmation + le formulaire complété qui s'affiche en dessou.

Quelqu'un sait il commen faire?

Eléphant du PHP | 124 Messages

13 juil. 2005, 11:13

Il y a plusieurs méthode mais tu peux par exemple :

Vérifier si un des champs du formulaire est rempli alors tu n'affiche pas le formlaire, exemple :

If (isset($_POST['nom']))
{
traitement du formulaire et envoi du mail

}
else
{
Affichage du formulaire
}

Mammouth du PHP | 1353 Messages

13 juil. 2005, 11:16

je pense que si tu nous donnais le code ca serait plus facile, il suffit de supprimer ou modifier quelques lignes à mon avis

Invité
Invité n'ayant pas de compte PHPfrance

13 juil. 2005, 11:23

voila une partie de mon code :

function testchamps($x)
{....
....
....
if($mail->Send())
{
echo "<br><br><b>Votre demande a bien été enregistrée.<br>La mairie de Beauvais vous répondra par mail dans les meilleurs délais.</b>";
}
else
{
echo "<br><br>L'envoi du mail a échoué. Veuillez remplir correctement le formulaire svp.<br>";
}

}
//} // fin de isset ...
}
?>

<!--formulaire de demande-->

<form name='form2' method='post' action='formdemande.php'>
<input type="hidden" name="patterntitre" value="Mr">
<input type="hidden" name="patternid" value="Carte d'identité">
<input type="hidden" name="patternacte" value="Copie intégrale">
<input type="hidden" name="patternlien" value="Lui-même">
<input type="hidden" name="patternmaitre" value="Notaire">
<input type="hidden" name="patternlientit" value="Ascendant direct">
<?php
$x=0;
testchamps($x);
?>
<table width="479" border="0" >
<tr>
<td width="52%"><table width="468" border="0">
<tr>
<td colspan="2" class="Style4 Style1"><h2><strong>Demande d'extrait d'acte de naissance </h2>
<strong><i>Tous les champs marqu&eacute;s d'une &eacute;toile (<font color="#FF0000">*</font>) sont <font color="#FF0000">obligatoires</font> </i></strong></td>
</tr>
<tr>
<td width="53%"><span class="Style1"></span></td>
<td><span class="Style1"></span></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="2" align="center"> <h4 align="left" class="Style3"><img src="/images2/form-a.gif" width="306" height="33"></h4></td>
</tr>
<tr>
<td><div align="left"><span class="Style1"></span></div></td>
<td><div align="left"><span class="Style1"></span></div></td>
</tr>
<tr>
<td><div align="right" class="Style3">
<div align="right">Date de naissance (jj/mm/aaaa) <font color="#FF0000">*</font> :</div>
</div></td>
<td align="left"><div align="left"><span class="Style3">
<input name="journaiss" type="text" size="2" value="<? echo $journaiss;?>">
<input name="moisnaiss" type="text" size="2" value="<? echo $moisnaiss;?>">
<input name="anneenaiss" type="text" size="4" value="<? echo $anneenaiss;?>">
</span></div></td>
</tr>
<tr>
<td><div align="right" class="Style3">
<div align="right">Nom <font color="#FF0000">*</font> :</div>
</div></td>
<td align="left"><div align="left"><span class="Style3">
<input name="nom" type="text" size="25" value="<? echo $nom;?>">

</span></div></td>
</tr>
<tr>
<td><div align="right" class="Style3">
<div align="right">Nom de jeune fille :</div>
</div></td>
<td align="left"><div align="left"><span class="Style3">
<input name="nomjfille" type="text" size="25" value="<? echo $nomjfille;?>">

</span></div></td>
</tr>
....
.....
}

Invité
Invité n'ayant pas de compte PHPfrance

13 juil. 2005, 11:23

voila une partie de mon code :
function testchamps($x)
{....
....
....
if($mail->Send())
                           {
                                   echo "<br><br><b>Votre demande a bien été enregistrée.<br>La mairie de Beauvais vous répondra par mail dans les meilleurs délais.</b>";
                           }
                           else
                           {
                                   echo "<br><br>L'envoi du mail a échoué. Veuillez remplir correctement le formulaire svp.<br>";
                           }

                 }
                 //} // fin de isset ...
}
?>

<!--formulaire de demande-->

<form name='form2' method='post' action='formdemande.php'>
  <input type="hidden" name="patterntitre" value="Mr">
  <input type="hidden" name="patternid" value="Carte d'identité">
  <input type="hidden" name="patternacte" value="Copie intégrale">
  <input type="hidden" name="patternlien" value="Lui-même">
  <input type="hidden" name="patternmaitre" value="Notaire">
  <input type="hidden" name="patternlientit" value="Ascendant direct">
  <?php
    $x=0;
    testchamps($x);
  ?>
    <table width="479"  border="0"  >
    <tr>
      <td width="52%"><table width="468"  border="0">
  <tr>
    <td colspan="2" class="Style4 Style1"><h2><strong>Demande d'extrait d'acte de naissance </h2>
      <strong><i>Tous les champs marqu&eacute;s d'une &eacute;toile (<font color="#FF0000">*</font>) sont <font color="#FF0000">obligatoires</font> </i></strong></td>
    </tr>
  <tr>
    <td width="53%"><span class="Style1"></span></td>
    <td><span class="Style1"></span></td>
  </tr>
  <tr bgcolor="#FFFFFF">
    <td colspan="2" align="center">      <h4 align="left" class="Style3"><img src="/images2/form-a.gif" width="306" height="33"></h4></td>
    </tr>
  <tr>
    <td><div align="left"><span class="Style1"></span></div></td>
    <td><div align="left"><span class="Style1"></span></div></td>
  </tr>
  <tr>
    <td><div align="right" class="Style3">
      <div align="right">Date de naissance (jj/mm/aaaa) <font color="#FF0000">*</font> :</div>
    </div></td>
    <td align="left"><div align="left"><span class="Style3">
        <input name="journaiss" type="text" size="2" value="<? echo $journaiss;?>">
        <input name="moisnaiss" type="text" size="2" value="<? echo $moisnaiss;?>">
        <input name="anneenaiss" type="text" size="4" value="<? echo $anneenaiss;?>">
    </span></div></td>
  </tr>
  <tr>
    <td><div align="right" class="Style3">
      <div align="right">Nom <font color="#FF0000">*</font> :</div>
    </div></td>
    <td align="left"><div align="left"><span class="Style3">
        <input name="nom" type="text" size="25" value="<? echo $nom;?>">

  </span></div></td>
  </tr>
  <tr>
    <td><div align="right" class="Style3">
      <div align="right">Nom de jeune fille :</div>
    </div></td>
    <td align="left"><div align="left"><span class="Style3">
        <input name="nomjfille" type="text" size="25" value="<? echo $nomjfille;?>">

  </span></div></td>
  </tr>
....
.....
}[/quote]

Invité
Invité n'ayant pas de compte PHPfrance

13 juil. 2005, 11:25

ce que je voudrai c'est que quand la condition
if($mail->Send())
est rempli, que mon msg s'affiche ms pa mon formulaire

Invité
Invité n'ayant pas de compte PHPfrance

13 juil. 2005, 11:27

est-ce que je peu ouvrir une nouvelle page pôur afficher mon msg ou n'existe t-il pa une fonction qui me permette de quitter mon programe une foi le message affiché?

Mammouth du PHP | 543 Messages

13 juil. 2005, 12:50

est-ce que je peu ouvrir une nouvelle page pôur afficher mon msg ou n'existe t-il pa une fonction qui me permette de quitter mon programe une foi le message affiché?

tu peux mettre un bout de code javascript pour faire cela, mais c'est moyen propre.

initialise plutot une variable en haut de la page, style $displayform=1;

dans ta fonction, rajoute $displayform=1; apres l'affichage du message

et autour de tout le bloc de formulaire, mets un if ($displayform==1) { [tonformulaire] }

@+