Il y a actuellement 269 visiteurs
Dimanche 16 Février 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 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: 8

Message Probleme Meta Facebook pour page pro
Bonjour à tous, est ce quelqu'un ici s'y connait en Meta facebook pour la gestion des pages pro et les liens instagram? Je m'explique en 2021 j'ai créer mon entreprise avec une page Facebook qui était rattaché à mon profil perso ou j'avais la gestion intégrale, puis en 2022 un profil instagram profe ...
Réponses: 2

Message problème jeu pc indiana jones et le cercle ancien
Bonjour,Pourriez-vous m'aider à résoudre l'erreur " english missing vulkan device extensions please update your graphics driver or gpu vk KHR ray querry" au moment de démarrer le jeu pc "Indiana Jones et le cercle ancien" sur un pc avec la configuration :Carte mère F898 Saber ...
Réponses: 9

Message Problème USB 3 sur mini PC (SSD M2 externe)
Bonjour a tous, j'ai un problème sur un mini PC fonctionnant sur un Intel N100. Il y a 2 port usb2 et 2 ports usb3. Mon problème ? Il semble que certains perifériques ne fonctionnent pas correctement (en l'occurence, les boitiers externes pour SSD M2).Si le SSD M2 est connecté sur un USB3 j'obtiens ...
Réponses: 5

Message probleme avec le logiciel nvidia
Bonjour,Oui DDU est très efficace , on s'en sert surtout quand on change de fabricant de carte graphique de AMD vers Nvidia par exemple. Il nettoie tout.Bonne journée.
Réponses: 13

Message [Réglé] probleme windows update recherche sans fin
Salut tout le monde depuis quelques jours lorsque je clique sur Windows update et recherche de mise à jour en cours cela se mets en recherche sans fin voir ma capture écran Rien n'y fait, j'ai beau exécuter l'utilitaire de dépannage Windows update rien n'y fait? Il me détecte en effet un incident, m ...
Réponses: 14

Message [Réglé] Problème de dépendance manquantes sur Kali Linux
Salut, j'ai essayé d'installer un logiciel (Free download manager) sur Kali Linux Mais quand j'ai essayé de l'installer, ça a affiché qu'il y a des dépendance manquantesQuelqu'un peut-il m'aider à résoudre ce problème s'il vous plaît ?
Réponses: 1


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


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