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 :

Infos récupérées, phrase pour champ vide


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mars 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Mars 2014
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Infos récupérées, phrase pour champ vide
    Hello à tous,

    Je rame bcp en PHP et j'aurais besoin d'un peu d'aide.

    Comment rajouter une phrase du type "Non renseigné" pour les champs laissé vide par le visiteur dans le mail que je reçois.

    Du genre si les champs adresse et téléphone sont laissés vides je reçois quelque chose comme ça :

    Nom : Test
    Prénom : Test
    Adresse : Non renseigné
    Téléphone : Non renseigné
    Email : test@test.com

    J'ai écrit ça pour mon fichier de traitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <?php
        if(isset($_POST) && isset($_POST['form3_prenom']) && isset($_POST['form3_nom']) && isset($_POST['form3_email']) && isset($_POST['form3_telephone']) && isset($_POST['form3_message'])) {
            extract($_POST);
            if(!empty($form3_prenom) && !empty($form3_nom) && !empty($form3_email) && !empty($form3_message)) {
     
                $to = 'XXXXXX@gmail.com'; // Mon adresse réelle
     
                $subject = 'Contact depuis le site';
     
                $headers = 'MIME-Version: 1.0' . "\r\n";
                $headers .= 'Content-Type: text/html; charset=UTF-8' . "\r\n";
                $headers .= 'From:' .$form3_firstname. " " .$form3_name. "\r\n";
                $headers .= 'Reply-To:'.$form3_email. "\r\n";
     
                $message = '<html><body>';
                $message .= '<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>';
                $message .= '<table>';
                $message .= '<tr><td colspan="2"><p>MESSAGE</p></td></tr>';
                $message .= '<tr><td>Prénom :</td><td>'.$form3_prenom.'</td></tr>';
                $message .= '<tr><td>Nom :</td><td>'.$form3_nom.'</td></tr>';
                $message .= '<tr><td>Email :</td><td>'.$form3_email.'</td></tr>';
                $message .= '<tr><td>Telephone :</td><td>'.$form3_telephone.'</td></tr>';
                $message .= '<tr><td>Message :</td<td>'.stripslashes($form3_message).'</td></tr>';
                $message .= '</table>';
                $message .= '</body></html>';
     
     
                if(mail($to, $subject, $message, $headers)){
                    echo "Formulaire envoyé";
                } else {
                    echo "Formulaire non envoyé";
                }
     
            } else {
                echo "Vous n'avez pas rempli tous les champs";
            }
        }
        ?>
    Je vous remercie d'avance.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    ?php
    if(isset($_POST['tonchampssubmit']) {
            if(!empty($_POST['form3_firstname']) && !empty($_POST['form3_name']) && !empty($_POST['form3_email']) && !empty($_POST['form3_message'])) {
     
                $form3_telephone = isset($_POST['form3_telephone']) ? htmlspecialchars($_POST['form3_telephone']) : 'Non renseigné';
     
                $to = 'XXXXXX@gmail.com'; // Mon adresse réelle
     
                $subject = 'Contact depuis le site';
     
                $headers = 'MIME-Version: 1.0' . "\r\n";
                $headers .= 'Content-Type: text/html; charset=UTF-8' . "\r\n";
                $headers .= 'From:' .$_POST['form3_firstname']. " " .$_POST['form3_name']. "\r\n";
                $headers .= 'Reply-To:'.$_POST['form3_email']. "\r\n";
     
                $message = '<html><body>';
                $message .= '<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>';
                $message .= '<table>';
                $message .= '<tr><td colspan="2"><p>MESSAGE</p></td></tr>';
                $message .= '<tr><td>Firstname :</td><td>'.htmlspecialchars($_POST['form3_firstname']).'</td></tr>';
                $message .= '<tr><td>Name :</td><td>'.htmlspecialchars($_POST['form3_name']).'</td></tr>';
                $message .= '<tr><td>Email :</td><td>'.htmlspecialchars($_POST['form3_email']).'</td></tr>';
                $message .= '<tr><td>Telephone :</td><td>'.$form3_telephone.'</td></tr>';
                $message .= '<tr><td>Message :</td<td>'.htmlspecialchars($_POST['form3_message']).'</td></tr>';
                $message .= '</table>';
                $message .= '</body></html>';
     
                if(mail($to, $subject, $message, $headers)){
                    echo "Formulaire envoyé";
                } else {
                    echo "Formulaire non envoyé";
                }
     
            } else {
                echo "Vous n'avez pas rempli tous les champs";
            }
    }
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mars 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Mars 2014
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Je te remercie pour ta réponse.

    Si j'ai d'autres champs de ce type j'ai juste à multiplier la ligne ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $form3_telephone = isset($_POST['form3_telephone']) ? htmlspecialchars($_POST['form3_telephone']) : 'Non renseigné';
    $form3_autrechamp = isset($_POST['form3_autrechamp']) ? htmlspecialchars($_POST['form3_autrechamp']) : 'Non renseigné';
    Malheureusement ça ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?php
        if(isset($_POST) && isset($_POST['form3_prenom']) && isset($_POST['form3_nom']) && isset($_POST['form3_email']) && isset($_POST['form3_telephone']) && isset($_POST['form3_message'])) {
            extract($_POST);
            if(!empty($form3_prenom) && !empty($form3_nom) && !empty($form3_email) && !empty($form3_message)) {
     
                $form3_telephone = isset($_POST['form3_telephone']) ? htmlspecialchars($_POST['form3_telephone']) : 'Non renseigné';
     
                $to = 'XXXXXX@gmail.com'; // Mon adresse réelle
     
                $subject = 'Contact depuis le site';
     
                $headers = 'MIME-Version: 1.0' . "\r\n";
                $headers .= 'Content-Type: text/html; charset=UTF-8' . "\r\n";
                $headers .= 'From:' .$form3_prenom. " " .$form3_nom. "\r\n";
                $headers .= 'Reply-To:'.$form3_email. "\r\n";
     
                $message = '<html><body>';
                $message .= '<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>';
                $message .= '<table>';
                $message .= '<tr><td colspan="2"><p>MESSAGE</p></td></tr>';
                $message .= '<tr><td>Prénom :</td><td>'.$form3_prenom.'</td></tr>';
                $message .= '<tr><td>Nom :</td><td>'.$form3_nom.'</td></tr>';
                $message .= '<tr><td>Email :</td><td>'.$form3_email.'</td></tr>';
                $message .= '<tr><td>Telephone :</td><td>'.$form3_telephone.'</td></tr>';
                $message .= '<tr><td>Message :</td<td>'.stripslashes($form3_message).'</td></tr>';
                $message .= '</table>';
                $message .= '</body></html>';
     
     
                if(mail($to, $subject, $message, $headers)){
                    echo "Formulaire envoyé";
                } else {
                    echo "Formulaire non envoyé";
                }
     
            } else {
                echo "Vous n'avez pas rempli tous les champs";
            }
        }
        ?>

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Oups
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $form3_telephone = !empty(trim($_POST['form3_telephone'])) ? htmlspecialchars($_POST['form3_telephone']) : 'Non renseigné';
    Sinon j'avais proposé plein d'améliorations de ton code, c'est dommage que ce soit pour rien
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mars 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Mars 2014
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Oups des améliorations ? Je prends, je prends !

    Comme j'y connais rien j'ai pas compris c'est pour ça. Je bidouille.

    Cette portion de code correspond à quoi ? A mon bouton submit ? J'ai juste à remplacer par le "value" ou l'id ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST['tonchampssubmit'])

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le name.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mars 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Mars 2014
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Ca ne fonctionne pas non plus lol

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <button type="submit" value="validate-message" name="validate-message">Envoyer</button>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <?php
    if(isset($_POST['validate-message']) {
            if(!empty($_POST['form3_prenom']) && !empty($_POST['form3_nom']) && !empty($_POST['form3_email']) && !empty($_POST['form3_message'])) {
     
                $form3_telephone = !empty(trim($_POST['form3_telephone'])) ? htmlspecialchars($_POST['form3_telephone']) : 'Non renseigné';
     
                $to = 'XXXXXX@gmail.com'; // Mon adresse réelle
     
                $subject = 'Contact depuis le site';
     
                $headers = 'MIME-Version: 1.0' . "\r\n";
                $headers .= 'Content-Type: text/html; charset=UTF-8' . "\r\n";
                $headers .= 'From:' .$_POST['form3_prenom']. " " .$_POST['form3_nom']. "\r\n";
                $headers .= 'Reply-To:'.$_POST['form3_email']. "\r\n";
     
                $message = '<html><body>';
                $message .= '<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>';
                $message .= '<table>';
                $message .= '<tr><td colspan="2"><p>MESSAGE</p></td></tr>';
                $message .= '<tr><td>Prenom :</td><td>'.htmlspecialchars($_POST['form3_prenom']).'</td></tr>';
                $message .= '<tr><td>Nom :</td><td>'.htmlspecialchars($_POST['form3_nom']).'</td></tr>';
                $message .= '<tr><td>Email :</td><td>'.htmlspecialchars($_POST['form3_email']).'</td></tr>';
                $message .= '<tr><td>Telephone :</td><td>'.$form3_telephone.'</td></tr>';
                $message .= '<tr><td>Message :</td<td>'.htmlspecialchars($_POST['form3_message']).'</td></tr>';
                $message .= '</table>';
                $message .= '</body></html>';
     
                if(mail($to, $subject, $message, $headers)){
                    echo "Formulaire envoyé";
                } else {
                    echo "Formulaire non envoyé";
                }
     
            } else {
                echo "Vous n'avez pas rempli tous les champs";
            }
    }
    ?>

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" value="Envoyer" name="validate-message" />
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mars 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Mars 2014
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Pareil ça ne fonctionne pas.

    J'ai :
    Parse error: syntax error, unexpected '{' in C:chemincomplet on line 9
    La ligne 9 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST['validate-message']) {

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    T'as pas fermé ton isset...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mars 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Mars 2014
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Ok merci.

    Maintenant j'ai une autre erreur à la ligne 12 :
    Fatal error: Can't use function return value in write context in C:\wamp\www\monsite\php\traitement_message.php on line 12
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php
    if(isset($_POST['validate-message'])) {
            if(!empty($_POST['form3_prenom']) && !empty($_POST['form3_nom']) && !empty($_POST['form3_email']) && !empty($_POST['form3_message'])) {
                $form3_telephone = !empty(trim($_POST['form3_telephone'])) ? htmlspecialchars($_POST['form3_telephone']) : 'Non renseigné';
                $to = 'XXXXX@gmail.com'; // Mon adresse réelle
                $subject = 'Contact depuis le site';
                $headers = 'MIME-Version: 1.0' . "\r\n";
                $headers .= 'Content-Type: text/html; charset=UTF-8' . "\r\n";
                $headers .= 'From:' .$_POST['form3_prenom']. " " .$_POST['form3_nom']. "\r\n";
                $headers .= 'Reply-To:'.$_POST['form3_email']. "\r\n";
                $message = '<html><body>';
                $message .= '<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>';
                $message .= '<table>';
                $message .= '<tr><td colspan="2"><p>MESSAGE</p></td></tr>';
                $message .= '<tr><td>Prenom :</td><td>'.htmlspecialchars($_POST['form3_prenom']).'</td></tr>';
                $message .= '<tr><td>Nom :</td><td>'.htmlspecialchars($_POST['form3_nom']).'</td></tr>';
                $message .= '<tr><td>Email :</td><td>'.htmlspecialchars($_POST['form3_email']).'</td></tr>';
                $message .= '<tr><td>Telephone :</td><td>'.$form3_telephone.'</td></tr>';
                $message .= '<tr><td>Message :</td<td>'.htmlspecialchars($_POST['form3_message']).'</td></tr>';
                $message .= '</table>';
                $message .= '</body></html>';
                if(mail($to, $subject, $message, $headers)){
                    echo "Formulaire envoyé";
                } else {
                    echo "Formulaire non envoyé";
                }
            } else {
                echo "Vous n'avez pas rempli tous les champs";
            }
    }
    ?>

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ah oui limitation de empty avant PHP5.5

    On va faire une petite fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    fucntion check_post($name) {
     
           $default = 'Non renseigné';
     
            if (isset($_POST[$name])) {
                   $value = trim($_POST[$name]);
                   if (!empty($value)) {
                            return $value
                   }
           }
     
           return $default
    }
     
    $form3_telephone = check_post('form3_telephone');
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Report Studio - Perte de données pour champs vides
    Par Cynthia1987 dans le forum Cognos
    Réponses: 2
    Dernier message: 15/06/2011, 22h32
  2. [MySQL] Tester champ vide en php pour liste déroulante
    Par stefsas dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/03/2010, 16h35
  3. Réponses: 1
    Dernier message: 19/06/2008, 21h05
  4. Champs pour photos vide la 2e fois
    Par fourniey dans le forum Langage
    Réponses: 1
    Dernier message: 12/09/2007, 21h01
  5. [Débutante]Fonction pour écrire un champ vide
    Par Bewitch dans le forum ASP
    Réponses: 14
    Dernier message: 30/08/2005, 11h43

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