Code non exécuté en localhost MAMP

J'ai enregistré mon fichier index.php dans le dossier MAMP htdocs et le code ne s'exécute pas (page blanche). Code :

<!DOCTYPE html>
<html>
<head>
<meta charset ="utf-8"/>
</head>
<body>

<?php
$prenoms = array('Pierre', 'Paul', 'Jacques');

for($x = 0; $x <= 2; $x++){
echo $prenoms[$x].'</br>';
}

$prenoms[0] = 'Pierre';
$prenoms[1] = 'Paul';
$prenoms[2] = 'Jacques';

$age = array(
'Pierre' => 24,
'Paul' => 22,
'Jacques' => 'non renseigné');

$age['Pierre'] = 24,
$age['Paul'] = 22,
$age['Jacques'] = 'Non renseigné';

echo $prenoms [0].'<br/>';
echo $age ['Pierre'].'<br/>';

?>
</body>
</html>

2 réponses

  1. Modérateur
    Bonjour
    Tu as mis des virgules au lieux de point-virgules...

    Active l'affichage des erreurs PHP et tu n'auras plus de problème pour trouver tes erreurs..
    1. J'ai corrigé avec les points virgules, toujours le même problème. J'ai enregistré mon index.php dans un dossier tableaux dans htdocs et quand je suis sur la page localhost avec tous mes dossiers localhost j'accède bien au dossier tableaux cependant mon fichier index.php ne s'affiche pas
    2. <!DOCTYPE html> 
      <html> 
      <head> 
      <meta charset ="utf-8"/> 
      </head> 
      <body> 
      
      <?php
      error_reporting(E_ALL);
      ini_set('display_errors', TRUE);
      ini_set('display_startup_errors', TRUE);
      
      
      $prenoms = array('Pierre', 'Paul', 'Jacques'); 
      
      for($x = 0; $x <= 2; $x++){ 
      echo $prenoms[$x].'</br>'; 
      } 
      
      $prenoms[0] = 'Pierre'; 
      $prenoms[1] = 'Paul'; 
      $prenoms[2] = 'Jacques'; 
      
      $age = array( 
      'Pierre' => 24; 
      'Paul' => 22; 
      'Jacques' => 'non renseigné'); 
      
      $age['Pierre'] = 24; 
      $age['Paul'] = 22;
      $age['Jacques'] = 'Non renseigné'; 
      
      echo $prenoms [0].'<br/>'; 
      echo $age ['Pierre'].'<br/>'; 
      
      ?> 
      </body> 
      </html>
      
  2. Modérateur
    Visiblement tu as un peu de mal entre les virgules et les points virgules.
    Tu as une nouvelle erreur ici
    $age = array( 
    'Pierre' => 24; 
    'Paul' => 22; 
    'Jacques' => 'non renseigné');
    

    A remplacer par :
    $age = array( 
         'Pierre' => 24
         , 'Paul' => 22
         , 'Jacques' => 'non renseigné'
       );
    


    Je suis, par contre, étonné que tu n'aies pas eu un message d'erreur sur ta page... surtout maintenant que tu as activé l'affichage des erreurs php.

    1. Modérateur
      Tu peux également améliorer un peu ton code
      en remplaçant
      for($x = 0; $x <= 2; $x++){ 
      echo $prenoms[$x].'</br>'; 
      }
      

      par
      foreach($prenoms as $P){ 
         echo $P.'</br>'; 
      }
      


      et puis... encore mieux.. pour gérer les prénoms ET les ages..
      <?php
      /**
      * NB : On place le MAXIMUM de code PHP  AVANT tout code HTML !
      */
      
      //Affichage des erreurs PHP
      error_reporting(E_ALL);
      ini_set('display_errors', TRUE);
      ini_set('display_startup_errors', TRUE);
      
      $prenoms = array(); 
      $prenoms[] = array('nom'=>'Pierre','age'=> 24 );
      $prenoms[] = array('nom'=>'Paul','age'=> 22 );
      $prenoms[] = array('nom'=>'Jacques','age'=> 'Non renseigné' );
      
      ?>
      
      <!DOCTYPE html> 
      <html> 
        <head> 
          <meta charset ="utf-8"/> 
          <title>TEST</title>
        </head> 
        <body> 
          <?php
            if(!empty($prenoms)){
              foreach($prenoms as $P){
                echo "<br> Prenom : ".$P['nom'] . "  Age :".$P['age'];
              }
            }
          ?> 
        </body> 
      </html>
      
    2. Mon erreur est qu'en faisant l'exercice https://www.youtube.com/watch?v=m8tB4t8C9sM&list=PLwLsbqvBlImHrYX8EKgp1st9vV04Cvymz&index=7 qui explique plusieurs façons de présenter un tableau j'ai donc créé plusieurs fois les mêmes tableaux de façons différentes (cf mon code) sans avoir les codes d'exécutions correspondants à chaque tableaux. Il faut créer un tableau puis entrer son code d'exécution pour en afficher le résultat.