La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Encore une histoire de formulaire
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Encore une histoire de formulaire  (Lu 1755 fois)
Encore une histoire de formulaire
« sur: le 27-02-2012 a 12:10:18 »
chaloupe
Membre récent
*

Hors-Ligne

Messages: 15





Voir le Profil
Répondre avec citation

Bonjour à vous tous,

Après plusieurs jours de recherches sur le net et quelques recherches sur ce forum je me suis enfin décidée à m'inscrire pour solliciter votre expérience.
Je suis entrain de créer un site et suis partie de zéro avec mon bloc note. Comme beaucoup d'entre vous je suppose je suis autodidacte dans le domaine avec  le handicap majeur d'être BLonde !!!
Bref, j'ai quand même fini par pondre une page  qui est en ligne et je m’attèle à préparer les suivantes pensant que cela serait plus simple mais vu que j'ai envie d'ajouter quelques éléments qui me semblent indispensables forcément les choses se corsent.
Mon problème se situe au niveau d'un code php d'un formulaire  que j'ai trouvé sur un site qui le proposait, que j'ai un peu modifié à ma sauce et dont je vous fait le coller :

<?php
// S'il y des données de postées
if ($_SERVER['REQUEST_METHOD']=='POST') {
  // Code PHP pour traiter l'envoi de l'email
 
  $nombreErreur = 0; // Variable qui compte le nombre d'erreur
 
  // Définit toutes les erreurs possibles
  if (!isset($_POST['email'])) { // Si la variable "email" du formulaire n'existe pas (il y a un problème)
    $nombreErreur++; // On incrémente la variable qui compte les erreurs
    $erreur1 = '<p>Il y a un problème avec la variable "email".</p>';
  } else { // Sinon, cela signifie que la variable existe (c'est normal)
    if (empty($_POST['email'])) { // Si la variable est vide
      $nombreErreur++; // On incrémente la variable qui compte les erreurs
      $erreur2 = '<p>Vous avez omis de préciser votre email</p>';
    } else {
      if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
        $nombreErreur++; // On incrémente la variable qui compte les erreurs
        $erreur3 = '<p>Cet email semble incorrect ou incomplet</p>';
      }
    }
  }
 
  if (!isset($_POST['message'])) {
    $nombreErreur++;
    $erreur4 = '<p>Il y a un problème avec la variable "message".</p>';
  } else {
    if (empty($_POST['message'])) {
      $nombreErreur++;
      $erreur5 = '<p>Quel est votre message ?</p>';
    }
  }
 
  if (!isset($_POST['captcha'])) {
    $nombreErreur++;
    $erreur6 = '<p>Il y a un problème avec la variable "captcha".</p>';
  } else {
    if ($_POST['captcha']!=22) {
      $nombreErreur++;
      $erreur7 = '<p>Désolé, le résultat (anti-spam) est erroné.</p>';
    }
  }
 
  if ($nombreErreur==0) { // S'il n'y a pas d'erreur
    // Récupération des variables et sécurisation des données
    $nom = htmlentities($_POST['nom']); // htmlentities() convertit des caractères "spéciaux" en équivalent HTML
    $email = htmlentities($_POST['email']);
    $chats = htmlentities($_POST['chats']);
    $message = htmlentities($_POST['message']);
   
    // Variables concernant l'email
    $destinataire = 'monadresse@mail.com'; // Adresse email du webmaster
    $sujet = 'Titre du message'; // Titre de l'email
    $contenu = '<html><head><title>Titre du message</title></head><body>';
    $contenu .= '<p>Bonjour, un message vous a été envoyé à partir du formulaire de contact de votre site.</p>';
    $contenu .= '<p><strong>Nom</strong>: '.$nom.'</p>';
    $contenu .= '<p><strong>Email</strong>: '.$email.'</p>';
    $contenu .= '<p><strong>Chats</strong>: '.$chats.'</p>';
    $contenu .= '<p><strong>Message</strong>: '.$message.'</p>';
    $contenu .= '</body></html>'; // Contenu du message de l'email
   
    // Pour envoyer un email HTML, l'en-tête Content-type doit être défini
    $headers = 'MIME-Version: 1.0'."\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-15'."\r\n";
   
    @mail($destinataire, $sujet, $contenu, $headers); // Fonction principale qui envoi l'email
 
 
  echo '<h3>Merci</h3><p>Votre message a été envoyé à la responsable de la pension.</p><p>Vous recevrez une réponse dans les meilleurs délais.</p><p>

    <a href="http://www.nomdedomaine.fr">Retourner sur la page d'accueil</a></p>';
// Afficher un message pour indiquer que le message a été envoyé
  } else { // S'il y a un moins une erreur
    echo '<div style="border:1px solid #ff0000; padding:5px;">';
    echo '<p style="color:#ff0000;">Désolé, il y a '.$nombreErreur.' erreur(s). Voici le détail des erreurs:</p>';
    if (isset($erreur1)) echo '<p>'.$erreur1.'</p>';
    if (isset($erreur2)) echo '<p>'.$erreur2.'</p>';
    if (isset($erreur3)) echo '<p>'.$erreur3.'</p>';
    if (isset($erreur4)) echo '<p>'.$erreur4.'</p>';
    if (isset($erreur5)) echo '<p>'.$erreur5.'</p>';
   if (isset($erreur6)) echo '<p>'.$erreur6.'</p>';
   if (isset($erreur7)) echo '<p>'.$erreur7.'</p>';
    echo '</div>';
  }
}
?>


avec un message d'erreur lors de l'envoi du formulaire qui est le suivant:


Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/pensionc/public_html/index.php on line 69


j'ai changé volontairement la police d'écriture de la ligne 69 qui semble poser problème pour que vous la visualisiez mieux dans le code

Bien entendu j'ai aussi une partie html pour compléter le code mais ce n'est pas elle qui semble être un problème.Si vous voulez cette petite partie je peux vous la rajouter.

Je tiens à signaler que le code fonctionnait parfaitement bien tant que je n'ai pas chercher à faire de redirection après l'envoi du formulaire et que lorsque je remplis le formulaire et l'envoie (sans être en ligne) je suis bien rediriger vers la page d'accueil du site mais dès que je tente en connexion le message persiste.évidement je ne reçois plus les mails non plus avec ce message d'erreur.

Est ce que quelqu'un pourrait m'aider s'il vous plait à comprendre mon erreur ?

Rapporter au modérateur  

Re:Encore une histoire de formulaire
« Répondre #1 sur: le 27-02-2012 a 12:13:09 »
chaloupe
Membre récent
*

Hors-Ligne

Messages: 15





Voir le Profil
Répondre avec citation

après avoir posté je m'aperçois que la ligne 69 n'apparait pas différente sur le post donc je vous précise que c'est la ligne qui commence par  echo'  juste en dessous de  @mail;
merci de votre compréhension et de votre aide eventuelle

Rapporter au modérateur  
Re:Encore une histoire de formulaire
« Répondre #2 sur: le 27-02-2012 a 12:37:40 »
dandreaweb
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 124



dandreaweb

Voir le Profil    WWW    E-Mail
Répondre avec citation

Bonjour Chaloupe,
il manque un guillemet à la fin et le point virgule. le dernier <p> est de trop

Essayer ça:
echo '<h3>Merci</h3><p>Votre message a été envoyé à la responsable de la pension.</p><p>Vous recevrez une réponse dans les meilleurs délais.</p>';

cordialement

Rapporter au modérateur  

Réalisation de sites internet , localisation : 69
dandreaweb.com
siren:534146618
Re:Encore une histoire de formulaire
« Répondre #3 sur: le 27-02-2012 a 12:50:27 »
chaloupe
Membre récent
*

Hors-Ligne

Messages: 15





Voir le Profil
Répondre avec citation

bonjour et merci clicandweb je crois bien qu' à force de chercher à comprendre ce qui n'allait pas et de faire plusieurs essais j'ai fini par oublier l'apostrophe et le point virgule et mettre ce <p> en plus avant de vous copier le code mais je pense que ces erreurs n'y étaient pas au moment de mes assais. En tout cas si c'est vraiment si simple je vais vraiment avoir l'air d'une truffe blonde là !! bon je vais voir ce que ça donne avec les rectifications et je reviens
un grand merci en attendant clic

Rapporter au modérateur  
Re:Encore une histoire de formulaire
« Répondre #4 sur: le 27-02-2012 a 13:02:02 »
chaloupe
Membre récent
*

Hors-Ligne

Messages: 15





Voir le Profil
Répondre avec citation

alors en fait le problème reste entier et se trouve précisément sur la ligne <a href
(juste en dessous), je me demande si l'adresse que je dois donner pour rediriger vers la page d'accueil doit être en html ou en php ?en effaçant cette ligne tout refonctionne mais forcement je n'ai plus de redirection.

Rapporter au modérateur  
Re:Encore une histoire de formulaire
« Répondre #5 sur: le 27-02-2012 a 14:45:05 »
dandreaweb
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 124



dandreaweb

Voir le Profil    WWW    E-Mail
Répondre avec citation

En fait Chaloupe je n'avais regardé que la ligne concernée.
Reprenez le code source du départ:

echo '<h3>Merci</h3><p>Votre message a été envoyé à la responsable de la pension.</p><p>Vous recevrez une réponse dans les meilleurs délais.</p><p>
<a href="http://www.nomdedomaine.fr">Retourner sur la page d'accueil</a></p>';

modifier page d'accueil
par        page d\'accueil

Si ca ne marche envoyer le script complet je regarderai de plus prés.

« Dernière Édition: le 27-02-2012 a 14:49:35 par clicandweb » Rapporter au modérateur  

Réalisation de sites internet , localisation : 69
dandreaweb.com
siren:534146618
Re:Encore une histoire de formulaire
« Répondre #6 sur: le 27-02-2012 a 16:10:27 »
seoreference
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 55





Voir le Profil    WWW
Répondre avec citation

hello,

clicandweb a raison.

Essaies d'utiliser un editeur de texte avec coloration syntaxique (ex:notepad): cela t'aidera beaucoup !

Rapporter au modérateur  

Referenceurs, retrouvez toute l'actualité du référencement sur notre site internet seoreference.fr
Re:Encore une histoire de formulaire
« Répondre #7 sur: le 27-02-2012 a 16:16:31 »
chaloupe
Membre récent
*

Hors-Ligne

Messages: 15





Voir le Profil
Répondre avec citation

ohhh genialissime !! mille merci ça fonctionne parfaitement grâce à ton conseil j'ai effectivement rajouté le \ avant l'apostrophe et j'arrive pas  à y croire  ça marche !!
Alors pour que je le sache une fois pour toute est ce que ce trait doit être rajouté chaque fois qu'il y a une expression avec une apostrophe ?

J'ose te poser une autre petite question concernant ce formulaire.
maintenant que cela fonctionne correctement si je souhaite créer ma page de remerciement je suppose que je dois échanger la partie du code que l'on vient de traiter par
header("Location: manouvellepagederemerciement.html") ?
ou dois je rajouter cette ligne en plus de ce qui est déjà existant ? et si oui où ?

bon ca fait trois questions  j'espère que tu ne m'en tiendras pas rigueur.

vraiment merci clic tu m'as oter une épine du pied qui m'empechait d'avancer depuis trois jours

Rapporter au modérateur  
Re:Encore une histoire de formulaire
« Répondre #8 sur: le 27-02-2012 a 16:23:34 »
chaloupe
Membre récent
*

Hors-Ligne

Messages: 15





Voir le Profil
Répondre avec citation

oups seoreference, le temps de rédiger mon post et d'envoyer, ta réponse est arrivée....merci  à toi également, effectivement mon bloc note ne me facilite pas la tache mais j'arrive pas à passer à autre chose    va savoir....

« Dernière Édition: le 27-02-2012 a 16:38:57 par chaloupe » Rapporter au modérateur  
Re:Encore une histoire de formulaire
« Répondre #9 sur: le 27-02-2012 a 18:44:23 »
dandreaweb
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 124



dandreaweb

Voir le Profil    WWW    E-Mail
Répondre avec citation

c'est clicandweb, jai juste modifié mon pseudo.

Content d'avoir pu t'aider.  . Effectivement si tu veux être rediriger vers ta page de remerciement tu remplaces :

echo '<h3>Merci</h3><p>Votre message a été envoyé à la responsable de la pension.</p><p>Vous recevrez une réponse dans les meilleurs délais.</p><p>
<a href="http://www.nomdedomaine.fr">Retourner sur la page d'accueil</a></p>';

par

header("Location: manouvellepagederemerciement.html");

Pour le bloc-notes, tu devrais essayer notepad++ qui est très simple d'utilisation et te permettra une meilleure lisibilité de ton code

A bientôt

« Dernière Édition: le 27-02-2012 a 18:48:35 par dandreaweb » Rapporter au modérateur  

Réalisation de sites internet , localisation : 69
dandreaweb.com
siren:534146618
Re:Encore une histoire de formulaire
« Répondre #10 sur: le 28-02-2012 a 08:51:27 »
chaloupe
Membre récent
*

Hors-Ligne

Messages: 15





Voir le Profil
Répondre avec citation

Alors bonjour Dan 

Tu peux être content !  moi je suis ravie !
D'autant qu'avec la dernière confirmation au sujet du header je vais pouvoir peaufiner tout ça.

J"ai une autre question concernant la mise en place d'un calendrier mais je pense qu'il faut ouvrir un nouveau post  dans la rubrique javascript donc j'espère que tu pourras me suivre sur cette nouvelle question.

Bonne journée à tous et merci encore Dan.

Rapporter au modérateur  
Re:Encore une histoire de formulaire
« Répondre #11 sur: le 28-02-2012 a 09:20:19 »
dandreaweb
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 124



dandreaweb

Voir le Profil    WWW    E-Mail
Répondre avec citation

De rien et bonne journée  à toi 

Rapporter au modérateur  

Réalisation de sites internet , localisation : 69
dandreaweb.com
siren:534146618
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg