Partage
  • Partager sur Facebook
  • Partager sur Twitter

Parse error: syntax error, unexpected 'if' (T_IF)

    3 décembre 2020 à 19:27:34

    Bonjour à tous !

    Voici mon erreur: Parse error: syntax error, unexpected 'if' (T_IF) in /opt/lampp/htdocs/php/inscription.php on line 11

    Et voici mon code : 

    <?php
    
        session_start();
    
        include ('bd/connexionDB.php'); // Fichier PHP contenant la connexion à votre BDD
    
        $codeArr=array('032283','808997','812035','029437','157816','126595','564684','698591','177421','610012','052629','196837','542131','474020','502194','993142','897394','706013','029528','674148','133000','619796','343307','638032','442103','108403','852408','573437','178366','369643');
    
     // S'il y a une session alors on ne retourne plus sur cette page;
    
      if (isset($_SESSION['id'])){
          header('Location: index.php');
          exit;
       }
    
    if(!empty($_POST)){
        extract($_POST);
        $valid = true;
    
      // On se place sur le bon formulaire grâce au "name" de la balise "input"
        if (isset($_POST['inscription'])){
          $nom  = htmlentities(trim($nom)); // On récupère le nom
          $prenom = htmlentities(trim($prenom)); // on récupère le prénom
          $pseudo = htmlentities(trim($pseudo))); // On récupère le mail
          $code = trim($code); // On récupère le mot de passe
               
         //  Vérification du nom
         if(empty($nom)){
            $valid = false;
            $er_nom =("Le nom d' utilisateur ne peut pas être vide");
         }       
    
         //  Vérification du prénom
         if(empty($prenom)){
            $valid = false;
            $er_prenom =("Le prenom d' utilisateur ne peut pas être vide");
          }       
    
          // Vérification du pseudo
          if(empty($pseudo)){
            $valid = false;
            $er_peudo =("Le pseudo ne peut pas être vide");
           }
         
           // On vérifie que le code est dans le tableau
    
    
           if(empty($code)) {
              $valid = false;
              $er_code =("Le code ne pas être vide");
    
            }elseif(in_array($code, $codeArr)){
                     $valid:=true;
          }else{
                    $er_code1 =("Le code que vous avez indiqué est incorrrect");
                    $valid:=false;
                }
             // Si toutes les conditions sont remplies alors on fait le traitement
             if($valid){
                $DB->insert("INSERT INTO utilisateur (nom, prenom, pseudo, code) VALUES 
                  (?, ?, ?, ?)", 
                    array($nom, $prenom, $pseudo, $code));
    
                  header('Location: index.php');
                  exit;
             }
        }
    }
    ?>

    Merci d'avance :)

    -
    Edité par HugBDN 3 décembre 2020 à 21:55:27

    • Partager sur Facebook
    • Partager sur Twitter
      3 décembre 2020 à 19:34:43

      Bonsoir,

      Pas de photo de code mais le code complet insérer avec le bouton < /> et en choisissant "PHP" sera plus pertinent

      Extract n'a pas vocation à s'utiliser pour les données d'un formulaire car tu risques de te faire insérer de mauvaise donné

      Je me trompe peut-être (à 5% seulement) pour te dire qu'il ne faut pas htmlentities/htmlspecialchar sur les données entrée en BDD c'est UNIQUEMENT à l'affichage

      • Partager sur Facebook
      • Partager sur Twitter
        3 décembre 2020 à 19:34:56

        Bonjour,

        Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
        Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

        Pour plus d'informations, nous vous invitons à lire les règles générales du forum

        Merci de colorer votre code à l'aide du bouton Code

        Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: php;">Votre code ici</pre>.

        Merci de modifier votre message d'origine en fonction.

        Liens conseillés

        • Partager sur Facebook
        • Partager sur Twitter
          3 décembre 2020 à 21:39:33

          Aurélien.C a écrit:

          Bonsoir,

          Pas de photo de code mais le code complet insérer avec le bouton < /> et en choisissant "PHP" sera plus pertinent

          Extract n'a pas vocation à s'utiliser pour les données d'un formulaire car tu risques de te faire insérer de mauvaise donné

          Je me trompe peut-être (à 5% seulement) pour te dire qu'il ne faut pas htmlentities/htmlspecialchar sur les données entrée en BDD c'est UNIQUEMENT à l'affichage

          Merci pour votre réponse mais le message d'erreur indique la ligne 11. La majorité des solutions trouvées sur internet pour cette erreur est l'oubli d'un point virgule. Hors dans mon cas, c'est autre chose. Mais quoi ?



          -
          Edité par HugBDN 3 décembre 2020 à 22:03:18

          • Partager sur Facebook
          • Partager sur Twitter
            3 décembre 2020 à 22:10:15

            l'ajout de : .... avant le =

            ligne 53 et 56

            • Partager sur Facebook
            • Partager sur Twitter
              3 décembre 2020 à 22:20:42

              Mon erreur persiste toujours
              • Partager sur Facebook
              • Partager sur Twitter
                3 décembre 2020 à 22:55:23

                Ligne 24, il y a une ) en trop.

                Fais un copier/coller du code de ton post pour remplacer le tien, ça pue l'indentation à l'espace insécable (ils ne sont pas reproduits ici).

                Les 3 erreurs de syntaxe corrigés (en comptant les 2 précédentes relevées par Aurélien.C), le script est valide chez moi :

                > php -l test.php

                > No syntax errors detected in test.php

                -
                Edité par julp 3 décembre 2020 à 22:57:07

                • Partager sur Facebook
                • Partager sur Twitter
                  4 décembre 2020 à 12:25:19

                  Et du coup la solution pour ceux qui liraient ce post ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    4 décembre 2020 à 16:18:19

                    (note : l'OP et HugoBeaudouin4 sont la même personne, on a vu ensemble et on a gardé un seul compte)

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Pas d'aide concernant le code par MP, le forum est là pour ça :)

                    Parse error: syntax error, unexpected 'if' (T_IF)

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown