IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Mail] Pb de script qui ne fonctionne pas


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Octobre 2003
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 9
    Par défaut [Mail] Pb de script qui ne fonctionne pas
    Bonjour,

    Merci de bien vouloir m'aider : j'ai utilisé un script censé fonctionner mais ais-je oublié qq chose ? sans doute, mais je ne vois pas...:

    <?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
    <head>
    <title>Demande de catalogue</title>
    <link href="manni.css" rel="stylesheet" type="text/css">
    </head>
    <body background="Images/Fond_toile_reduit.gif">
    <?php
    function formulaire($societe="",$nom="",$prenom="",$activite="",$adresse="",$codepostal="",$localite="",$pays="",$tel="",$email="",$question="") {
    //Initialisation des champs du formulaire
    ?></p>
    <form action="formulaire.php" method="post">
    <!--Au clic du bouton envoi, le contenu des champs est transmis au meme fichier php -->
    <table width="75%" border="0">
    <tr class="police">
    <td width="29%">Soci&eacute;t&eacute;*</td>
    <td colspan="2"> <input name="societe" type="text" id="societe" size="50" maxlength="50" value="<?php echo trim(htmlentities($societe)) ?>"> </td>
    </tr>
    <tr class="police">
    <td>Nom*</td>
    <td colspan="2"> <input name="nom" type="text" id="nom" size="30" maxlength="30" value="<?php echo trim(htmlentities($nom)) ?>" ></td>
    </tr>
    <tr class="police">
    <td>Pr&eacute;nom*</td>
    <td colspan="2"> <input name="prenom" type="text" id="prenom" size="30" maxlength="30" value="<?php echo trim(htmlentities($prenom)) ?>" ></td>
    </tr>
    <tr class="police">
    <td>Type d'activit&eacute;*</td>
    <td colspan="2"> <input name="activite" type="text" id="Activite" size="50" maxlength="50" value="<?php echo trim(htmlentities($activite)) ?>" ></td>
    </tr>
    <tr class="police">
    <td valign="top">Adresse*</td>
    <td colspan="2"> <textarea name="adresse" cols="45" rows="3" value="<?php echo trim(htmlentities($adresse)) ?>"></textarea></td>
    </tr>
    <tr class="police">
    <td>Code postal*</td>
    <td colspan="2"> <input name="codepostal" type="text" id="codepostal" size="10" maxlength="10" value="<?php echo trim(htmlentities($codepostal)) ?>" ></td>
    </tr>
    <tr class="police">
    <td>Localit&eacute;*</td>
    <td colspan="2"> <input name="localite" type="text" id="localite" size="50" maxlength="50" value="<?php echo trim(htmlentities($localite)) ?>" ></td>
    </tr>
    <tr class="police">
    <td>Pays</td>
    <td colspan="2"> <input name="pays" type="text" id="pays" size="30" maxlength="30" value="<?php echo trim(htmlentities($pays)) ?>" ></td>
    </tr>
    <tr class="police">
    <td>T&eacute;l&eacute;phone*</td>
    <td colspan="2"> <input name="tel" type="text" id="tel" size="20" maxlength="12" value="<?php echo trim(htmlentities($tel)) ?>" ></td>
    </tr>
    <tr class="police">
    <td>Email*</td>
    <td colspan="2"> <input name="email" type="text" id="email" size="30" maxlength="30" value="<?php echo trim(htmlentities($email)) ?>" ></td>
    </tr>
    <tr class="police">
    <td valign="top"><br>
    Questions / Remarques</td>
    <td colspan="2"> <textarea name="question" cols="45" rows="20" id="question" value="<?php echo trim(htmlentities($question)) ?>"></textarea></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td width="23%"><input name="envoi" type="submit" id="envoi" value="Envoyer" title="Envoi de votre demande de catalogue"></td>
    <td width="48%"><input name="annul" type="reset" id="annul" value="Annuler"></td>
    </tr>
    </table>
    <?
    }
    if(!isset($societe)) {
    // Si la variable $societe n'existe pas, cela signifie que le formulaire n'a pas été encore complété. La fonction formulaire() est alors appelée pour afficher ce formulaire.
    // Si la variable $societe existe, les données st récupérées dans les variables $société, $nom,...
    formulaire();
    }
    else {
    $vsociete=trim(htmlentities($_POST["societe"]));
    $vnom=trim(htmlentities($_POST["nom"]));
    $vprenom=trim(htmlentities($_POST["Prenom"]));
    $vactivite=trim(htmlentities($_POST["activite"]));
    $vadresse=trim(htmlentities($_POST["adresse"]));
    $vcodepostal=trim(htmlentities($_POST["codepostal"]));
    $vville=trim(htmlentities($_POST["ville"]));
    $vpays=trim(htmlentities($_POST["pays"]));
    $vtel=trim(htmlentities($_POST["tel"]));
    $vemail=trim(htmlentities($_POST["email"]));
    $vquestion=trim(htmlentities($_POST["question"]));
    // La fonction trim() élimine les éventuels espaces avant et après les données
    // La fonction htmlentities() évite les failles de sécurité en emplêchant le Cross Site Scripting
    $destinataire='safil@safil.net';
    $titre="Demande de catalogue";
    $message.="Société : $vsociete\n";
    $message.="Nom : $vnom\n";
    $message.="Prénom : $vprenom\n";
    $message.="Type d'activité : $vactivite\n";
    $message.="Adresse : $vadresse\n";
    $message.="Code Postal : $vcodepostal\n";
    $message.="Localité : $vlocalite\n";
    $message.="Pays : $vpays\n";
    $message.="Téléphone : $vtel\n";
    $message.="E-mail : $vemail\n";
    $message.="Questions ou remarques : $vquestion\n";
    if (empty($vsociete) ||empty($vnom) || empty($vprenom) || empty($vactivite) || empty($vadresse) ||empty($vcodepostal) ||empty($vlocalite) || empty($vtel) ||empty($vemail)||empty($vquestion)) {
    echo "<p Vous devez renseigner les zones obligatoires :</p>";
    $erreur=1;
    // Si l'un des champs n'a pas été complété, le message indiqué s'affiche et la variable $erreur prend la valeur 1.
    }
    if (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-_.]?[0-9a-z])*\\.[a-z]{2,4}$",$vemail) && ($erreur<>1)){
    echo "<p>L'adresse e-mail n'est pas valide:</p>";
    $erreur=1;
    // Test de l'adresse email par une expression régulière
    }
    if ($erreur==1) {
    formulaire($vsociete,$vnom,$vprenom,$vactivite,$vadresse,$vcodepostal,$vlocalite,$vpays,$vtel,$vemail,$vquestion);
    // Si l'un des tests précédents est vrai, $erreur est égale à 1 et la fonction formulaire est à nouveau exécutée pour afficher le formulaire.
    }
    else {
    // Sinon, le message est envoyé par la fonction mail() et on affiche un message de confirmation de l'envoi
    mail($destinataire,$titre,$message,"From: $vemail") ;
    echo "<p> Votre demande a bien été prise en compte et nous vous en remercions.</p>";

    }
    }
    ?>

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    ça affiche quoi comme erreur? 8)

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2003
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 9
    Par défaut Réponse
    Il n'y a pas de message d'erreur. Le formulaire se réaffiche avec tous les champs vides.

  4. #4
    Membre chevronné Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Par défaut
    salut,
    je sais pas si tu t'en rends compte mais ça donne pas tres envie de lire tout ça.. pense aux balises [code]

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    si je comprend bien il s'agit d'un formulaire permettant l'envoie d'un mail n'est ce pas. est tu sur q ton hebergeur dispose d'un mailer?

  6. #6
    Membre chevronné Avatar de XtofRoland
    Profil pro
    Inscrit en
    Août 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 357
    Par défaut
    ce serait sympa de ne pas nous mettre tout ton code... juste les point qui te posent problèmes.
    ton problème vient sans doute de ton test
    (!isset($societe)) car tu utilise un formulaire de type POST
    (!isset($_POST['societe']))
    met un echo dans les deux parties de ton if pour savoir dans quel partie tu passes (juste le temps de debbuger)

Discussions similaires

  1. Script qui ne fonctionne pas ?
    Par Skullnyco dans le forum jQuery
    Réponses: 2
    Dernier message: 12/02/2013, 11h20
  2. script qui ne fonctionne pas de suite
    Par ravaza dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/05/2012, 01h18
  3. Script qui ne fonctionne pas sous IE7
    Par carbaba dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/01/2008, 23h50
  4. script qui ne fonctionne pas
    Par Emcy dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 04/01/2008, 09h57
  5. Script qui ne fonctionne pas via un fichier Batch ?
    Par bilou95 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 31/12/2007, 17h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo