[PHP]Aide pour formulaire

Aide pour formulaire [PHP] - PHP - Programmation

Marsh Posté le 22-04-2006 à 11:20:10    

Bonjour à tous je suis actuellement que sur free qui n'accepte pas la fonction mail donc j'aimerai savoir si le script que j'ai modifier est correct, en voici le code:

Code :
  1. <?php
  2. function formulaire($Nom="",$Email="",$Sujet="",$Texte="" ) {
  3. ?>
  4.      <form action="<?php echo $PHP_SELF ?>" method="post"  enctype=="text/plain">
  5. <p><label>Votre nom</label>
  6.     <input type="text" class="textfield" name="Nom" size="18" value="<?php echo trim(htmlentities($Nom)) ?>" /></p>
  7. <p> <label> E-mail</label>
  8.    <input class="textfield" type="text" name="Email" size="18" value="<?php echo trim(htmlentities($Email)) ?>"/></p>
  9. <p><label>Sujet</label>
  10. <select class="textfield" name="Sujet" value="<?php echo trim(htmlentities($Sujet)) ?>">
  11.     <option>Question</option>
  12.     <option>Suggestion</option>
  13.     <option>Probl&egrave;me</option>
  14.     <option>Autre</option>
  15. </select></p>
  16.   <p><label>Texte</label>
  17.    <textarea name="Texte" cols="30" rows="5" value="<?php echo trim(htmlentities($Texte)) ?>"></textarea></p>
  18.  
  19.   <p style="text-align:center; padding-top:6px;">
  20.   <input name="envoyer" src="img/bouton_envoyer.png" type="image" />
  21.   </p>
  22.  
  23.   <?
  24. }
  25. if(!isset($Nom)) {
  26. formulaire();
  27. }
  28. else {
  29. $vNom=trim(htmlentities($_POST["Nom"]));
  30. $vEmail=trim(htmlentities($_POST["Email"]));
  31. $vSujet=trim($_POST["Sujet"]);
  32. $vTexte=trim(htmlentities($_POST["Texte"]));
  33. $destinataire='mon email';
  34. $titre="Modèle de page Contact";
  35. $message.="Navigateur : $HTTP_USER_AGENT\n";
  36. $message.="Nom : $vNom\n";
  37. $message.="Profession : $vEmail\n";
  38. $message.="E-mail : $vSujet\n";
  39. $message.="Message : $vTexte\n";
  40. if (empty($vNom) || empty($Texte) || empty($Email)) {
  41.  echo "<p>Champ invalide:</p>";
  42.  $erreur=1;
  43. }
  44. if (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-_.]?[0-9a-z])*\\.[a-z]{2,4}$",$vEmail) && ($erreur<>1)){
  45.  echo "<p>E-mail invalide:</p>";
  46.  $erreur=1;
  47. }
  48. if ($erreur==1) {
  49.  formulaire($Nom,$Email,$Sujet,$Texte);
  50. }
  51. else {
  52.  mail($destinataire,$titre,$message,"From: $vEmail" ) ;
  53.  echo "<p>Votre e-mail à bien été envoyer </p>" ;
  54. }
  55. }
  56. ?>
  57. </form>


Reply

Marsh Posté le 22-04-2006 à 11:20:10   

Reply

Marsh Posté le 22-04-2006 à 11:23:59    

euh je vois pas ce que tu as modifié pour que ca marche chez free ?


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 22-04-2006 à 11:29:23    

Non en faite je demande si mon code est correcte car je vais bientot avoir un hébergement payant  
C'est vrai que je me suis mal exprimé ...

Reply

Marsh Posté le 22-04-2006 à 11:44:56    

alors visiblement oui ton code semble correcte. Maintenant tu peux largement l'améliorer.
 
Au lieu de créer une fonction formulaire cré plutot ta page dans l'autre sens cad selon le schéma suivant
 
 

Code :
  1. if (isset $_POST['nom']){ //si le formulaire est renvoyé
  2. // tu testes les erreurs possible
  3. if (champ vides){ // test les champs vides
  4.   $erreur = '<p>champ vide</p>';
  5. }
  6. if (valid email) // test si l'email est valide
  7. }
  8. if ($erreur){ //le formulaire contient des erreurs
  9. echo $erreur;
  10. }else{
  11. //affiche le formulaire
  12. }


 
dans le schema c'est ca. Moi en cas d'erreur je l'affiche au dessus du formulaire et je renote le formulaire déjà rempli et je ne l'affiche pas que si le mail est envoyé.
 
J'espère que c'est un peu plus clair pr toi.
 
++


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 22-04-2006 à 12:29:41    

Je ne compren pas un truc meme si la fonction mail ne marche pas je devrai quand meme voir les erreurs si je me trompe d'email par exemple...
Deplus comment puis-je placer les echo "<p>Email invalide</p>" a droite du champ email ?

Reply

Marsh Posté le 22-04-2006 à 18:46:00    

Reply

Marsh Posté le 23-04-2006 à 07:38:09    


Bonjour,
 
Pourquoi n'emploie-tu pas le script fourni par Free ?  
 
A+
 
Zythan

Reply

Marsh Posté le 23-04-2006 à 14:26:58    

analfabete a écrit :

Non en faite je demande si mon code est correcte car je vais bientot avoir un hébergement payant
C'est vrai que je me suis mal exprimé ...


 
...
 
 

Zythan a écrit :

Bonjour,
 
Pourquoi n'emploie-tu pas le script fourni par Free ?  
 
A+
 
Zythan


 

Reply

Sujets relatifs:

Leave a Replay

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