Il y a actuellement 72 visiteurs
Vendredi 05 Décembre 2025
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

PHP problème synthaxe condition

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

PHP problème synthaxe condition

Message le 25 Aoû 2013 18:09

Bonsoir à tous.
J'ai un problème de 'synthaxe' pour la condition en PHP.
Code: Tout sélectionner
<?php

if (isset($_POST['msg'])) {
         $nom = htmlentities($_POST['nom'],ENT_QUOTES);
         $email = htmlentities($_POST['email'],ENT_QUOTES);
         $telephone = htmlentities($_POST['phone'],ENT_QUOTES);
         $sujet = htmlentities($_POST['sujet'],ENT_QUOTES);
         $message = htmlentities($_POST['msg'],ENT_QUOTES);
         
         $erreur = array();

               if(empty($nom)) {
               $erreur['nom'] = 'Le champ nom / entreprise est vide'
                           }
               if(empty($email)) {
               $erreur['email'] = 'Le champ email est vide'
                              }
               
               if(empty($msg)) {
               $erreur['message'] = 'Le champ message est vide'
                            }
               
               if(empty($sujet)) {
               $erreur['sujet'] = 'Le champ sujet est vide'
                             }

}

?>

Pourriez vous me dire quels sont les problèmes pour la condition ?

Cordialement.

<?php
echo 'Bonsoir !'
?>
geek99
Sous Expert(e)
Sous Expert(e)
 
Messages: 63
Inscription: 10 Nov 2012 15:24
 


Re: PHP problème synthaxe condition

Message le 25 Aoû 2013 20:40

Bonsoir,

A première vue, il manque les marqueurs de fin d'instruction : ;

En effet quand tu utilises la fonction if sur plusieurs lignes il faut indiquer les marqueurs de fin ou alors tout mettre sur une seule ligne comme ceci « if(empty($nom)) {$erreur['nom'] = 'Le champ nom / entreprise est vide'} » mais dans ce cas on perd en lisibilité.

Code: Tout sélectionner
    <?php

    if (isset($_POST['msg'])) {
             $nom = htmlentities($_POST['nom'],ENT_QUOTES);
             $email = htmlentities($_POST['email'],ENT_QUOTES);
             $telephone = htmlentities($_POST['phone'],ENT_QUOTES);
             $sujet = htmlentities($_POST['sujet'],ENT_QUOTES);
             $message = htmlentities($_POST['msg'],ENT_QUOTES);
             
             $erreur = array();

                   if(empty($nom)) {
                   $erreur['nom'] = 'Le champ nom / entreprise est vide';
                               }
                   if(empty($email)) {
                   $erreur['email'] = 'Le champ email est vide';
                                  }
                   
                   if(empty($msg)) {
                   $erreur['message'] = 'Le champ message est vide';
                                }
                   
                   if(empty($sujet)) {
                   $erreur['sujet'] = 'Le champ sujet est vide';
                                 }

    }

    ?>


Et tu ne gères pas toutes les erreurs dans ton code : A savoir que tu ne cherches pas à savoir si les valeurs suivantes existent :

  • $_POST['nom']
  • $_POST['email']
  • $_POST['phone']
  • $_POST['sujet']

Personnellement je ferais ceci :
Code: Tout sélectionner
    <?php

    if (!empty($_POST['msg']) AND !empty($_POST['nom']) AND !empty($_POST['email']) AND !empty($_POST['phone']) AND !empty($_POST['msg'])) {
             $nom = htmlentities($_POST['nom'],ENT_QUOTES);
             $email = htmlentities($_POST['email'],ENT_QUOTES);
             $telephone = htmlentities($_POST['phone'],ENT_QUOTES);
             $sujet = htmlentities($_POST['sujet'],ENT_QUOTES);
             $message = htmlentities($_POST['msg'],ENT_QUOTES);
             
             $erreur = array();

                   if(empty($nom)) {
                   $erreur['nom'] = 'Le champ nom / entreprise est vide';
                               }
                   if(empty($email)) {
                   $erreur['email'] = 'Le champ email est vide';
                                  }
                   
                   if(empty($msg)) {
                   $erreur['message'] = 'Le champ message est vide';
                                }
                   
                   if(empty($sujet)) {
                   $erreur['sujet'] = 'Le champ sujet est vide';
                                 }

    }

    ?>


Tu vois dans mon code que j'ai remplacé isset par !empty, le but étant de renforcer le test. Car il isset contrôle uniquement si la variable existe ou non. Alors !empty contrôle l’existence de la variable et en plus il vérifie que celle-ci n'est pas nulle.

@ Bientôt
mcuser
Expert(e)
Expert(e)
 
Messages: 598
Inscription: 23 Mar 2013 17:16
Localisation: Haute Normandie
 

Re: PHP problème synthaxe condition

Message le 26 Aoû 2013 08:52

Les variables nom, email, phone, sujet et message existent. Ce sont des ids/name d'input type="text"
geek99
Sous Expert(e)
Sous Expert(e)
 
Messages: 63
Inscription: 10 Nov 2012 15:24
 

Re: PHP problème synthaxe condition

Message le 26 Aoû 2013 11:51

Bonjour,

C'est bien ce que j'avais compris ;)

Tu prends le meilleur des cas aussi, s'il se produit une erreur lors de l'envoi du formulaire affectant directement les variables alors ton code renverra une erreur php. Le fait de tester ces variables et de renforcer les conditions permettent de gérer les éventuelles erreurs et d'optimiser le code.

Après il est vrai que ce genre d'erreur est rare :P

@ Bientôt
mcuser
Expert(e)
Expert(e)
 
Messages: 598
Inscription: 23 Mar 2013 17:16
Localisation: Haute Normandie
 

Re: PHP problème synthaxe condition

Message le 26 Aoû 2013 12:22

D'accord, merci.
Pourriez vous me conseiller des bons livres sut le PHP car ceux que je connais ne sont pas top.

Cordialement, bonne journée.
geek99
Sous Expert(e)
Sous Expert(e)
 
Messages: 63
Inscription: 10 Nov 2012 15:24
 

Re: PHP problème synthaxe condition

Message le 26 Aoû 2013 15:56

Bonjour,

Concernant le développement Web, j'ai tout appris en ligne, je conseille pour commencer de suivre ces deux tutoriels du Site du Zéro qui se complète :

Concevez votre site Web avec PHP et MySQL écrit par Mateo21
Programmez en orienté objet en PHP écris par vyk12

Ensuite une fois ces deux tutoriels acquis, tu peux aller plus loin avec le site php.developpez.com où tu trouveras de nombreux aspects autour du PHP

@ Bientôt
mcuser
Expert(e)
Expert(e)
 
Messages: 598
Inscription: 23 Mar 2013 17:16
Localisation: Haute Normandie
 

Re: PHP problème synthaxe condition

Message le 27 Aoû 2013 08:09

D'accord merci beaucoup.
geek99
Sous Expert(e)
Sous Expert(e)
 
Messages: 63
Inscription: 10 Nov 2012 15:24
 



Sujets similaires

Message Probleme d'affichage : haut de l'écran qui apparait en bas
Bonjour/BonsoirJ'ai un probleme lorsque mes jeux sont lancés (pas tous en meme temps, je rassure)Lorsque j'allume minecraft ou Hogwards Legacy que j'utilise en ce moment, j'ai un bug d'affichage qui est le suivant ... Le haut de mon écran apparait en bas en sautant. Peu importe que je suis en plein ...
Réponses: 1

Message [Réglé] Problème sur écran neuf
Bonjour,j'ai encore un souci suite au sujet de mon écran ICI. Etant donné qu'il est noté réglé, peut-être qu'il n'est plus trop "visible".Mon ancien écran ayant rendu l'âme après 17 ans, j'ai acheté un écran Acer 24 pouces cba242yabir trouvé en solde à 109? chez Leclerc. Je le trouve franc ...
Réponses: 14

Message [Résolu]probleme Ads by Images+
Depuis quelque jours avec mon moteur de recherche Google sur Firefox, c'est ajouté Ads by Images+merci
Réponses: 16

Message AVS Video Converter problème
Bonsoir à tous, J'esaie d'installer AVS Video COnverter, un vieux programme sont je stockais le dossier compressé .rar, mais Win 10 (ou 11 mnt je sais même plus lol) refuse de l'ouvrir. Il m'indique en rouge le message suivant : ''Cette application a été bloqué pour ma protection, un administrateur ...
Réponses: 4

Message problème d'installation Windows 11 sur pc Asus
Bonjour,Pourriez-vous m'aider pour effectuer l'installation de Windows 11 sur un pc gamer " Asus G11 CD K" acheté en 2018 car je n'arrive pas à la finaliser car à 77 %, il redémarre et ensuite cela m'affiche "reboot and select proper boot device or insert boot media in selected boot ...
Réponses: 5

Message [Résolu] probleme ecran noir de 1 à 2 secondes
Salut tout le monde Décidément......... J'ai un problème sur mon pc qui n'est pas grave, mais qui est perturbant. Je m'explique lorsque je fais un clic droit sur un fichier ou dossier dans l'explorateur de fichier ou sur le bureau, j'ai un écran noir qui apparait brièvement et qui fait redémarrer t ...
Réponses: 42

Message Problème mise à jour windows 11
Salut à tous, j'ai un souci sur mon ordinateur hp tout en un, à l'époque de la sortie de Win11 j'vavais forcé le passage car mon ordinateur n'avait les prérecquis, tout a toujours bien fonctionner sans problème, sauf depuis peu, je ne peux plus faire de MAJ sur windows update, il y a écrit "Vou ...
Réponses: 15


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


.: Nous contacter :: Flux RSS :: Données personnelles :.