Balise <?php ?> ne marche pas

Bonjour,
je suis débutante et mon but est de créer une page ou on remplit un formulaire et on obtient un message de bienvenue. Exemple: Good morning Mr. John Smith, welcome to ...
J'ai donc crée 2 fichiers. Un fichier html contenant le formulaire et un script php contenant l'action du formulaire.
Dans le fichier php j'alterne des blocs de php et de html. Les balises <?php et ?> ne marche pas du tout qui fait que le code php n est pas interprété. Voici mon code:
<?php

 # retourne la chaîne '$s' normalisée
 # (toutes les lettres en minuscule sauf la première)
 function normalize($s) {
  return ucfirst(strtolower($s);
 }
 
 # Teste si les prénom et nom sont bien renseignés et
 # retourne le tableau des messages d'erreurs
 # (tableau vide s'il n'y a pas d'erreur)
 function check_input() {
  $tab_err=array();
  $prenom = $_POST['prenom'];
  $nom = $_POST['nom'];

  if((Empty($nom)) || (Empty($prenom))){
   array_push($tab_err, "Err:Information manquantes:" ."\n");
   if(Empty($prenom))
    array_push($tab_err,"Prenom manquant");
   else
    array_push($tab_err,"Nom manquant");

  }
  return $tab_err;
  }
 
 # retourne le code HTML (une chaîne de caractères) 
 # d'une liste "<ul><li>..</li>..</ul>", les
 # éléments de liste contenant les erreurs
 # contenues dans le tableau '$errors' 
 function display_errors($errors) {
  foreach ($errors as $i ) {
   $erreur=implode(",", $i)
    $s_err = "<ul><li>$erreur</li></ul>";
  }
  return $s_err;
 }

 # retourne le code HTML (une chaîne de caractères) 
 # d'un heading "<h2>...</h2>" contenant le message
 # de bienvenu en anglais
 function display_welcome($h,$c,$p,$n) {
  return "Good $h $c $p $n, welcome !";
 }

?>
<!DOCTYPE html>
<html lang="fr">
 <head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>TP 1 - Exo 9</title>
  <meta name="author" content="Marc Gaetano">
  <meta name="viewport" content="width=device-width; initial-scale=1.0">
  <link rel="stylesheet" href="css/tp1.css">
 </head>
 <body>
  <h1>TP 1 - Exo 9</h1>
  <hr>

  <?php
  $verif = check_input();
  if(Empty($verif)){
  $heure = date('G');
  if($heure<12)
   $periode="morning";
  elseif(($heure>=12)&&($heure<18))
   $periode ="afternoon";
  elseif(($heure>=18)&&($heure<24))
   $periode = "evening";

  $civ = $_POST['civilite'];
  $nom =$_POST['nom'];
  $prenom = $_POST['prenom'];

  $resultat = display_welcome($periode,$civ,$prenom,$nom);
  normalize($resultat);
 }
 else{
  display_errors(verif);
 }
 ?>

 </body>
</html>


Configuration: Windows / Chrome 81.0.4044.122

3 réponses

  1. Modérateur
    Bonjour,

    Juste une observation toute bête, tu exécutes où ton php ? Sur un serveur hébergé, ou sur ton pc ? Dans ce dernier cas, as-tu installé un serveur apache + un serveur php , sont-ils bien lancés ? Et comment lances tu ton php, juste en cliquant dessus ou dans le navigateur avec une url
    localhost/toncode.php
    , le source étant évidemment placé dans la racine d'apache.

    1. Bonjour j'ai installé easyPHP Devserver sur mon pc. Je l'ai lancé avant de commencer. J’exécute le code php avec un url localhost/chemin sur chrome.
      Je n'ai pas eu de pb a exécuter d'autres script php.
  2. Contributeur
    bonjour, il est préférable de commencer par un script php plus simple.
    <?php echo '<p>Bonjour le monde</p>'; ?>

    tu ne nous dit rien de ton environnement, des logiciels que tu as mis en place pour exécuter le code php.
    1. Bonjour
      j'ai installé easyPHP Devserver sur mon pc. Je l'ai lancé avant de commencer. J’exécute le code php avec un url localhost/chemin sur chrome.
      J'ai écrit plusieurs script avant celui ci. Je n'ai pas eu de pb a les executer.
    2. Contributeur
      @Wtev_flet donc le navigateur affiche la source du code php?
    3. @yg_beLe navigateur m'affiche des erreurs. Par exemple a la ligne 12 il ne reconnait pas "function" donc le code php n'a pas été interprété
    4. Contributeur
      @yg_beou bien le code php est interprété, mais ne produit pas le résultat que tu attends?
      quel résultat attends-tu? quel résultat obtiens-tu?
      je ne vois pas quelle instruction tu utilises pour afficher quoi que ce soit dans ce script.
    5. Contributeur
      @Wtev_flquel est le message d'erreur exact?
      ne manque-t'il pas une parenthèse en ligne 6?
  3. Bonjoir, où as-tu mis ton code PHP? dans quel répertoire ?

    [LIEN SUPPRIME PAR LA MODERATION ... pas de pub !! ]