Problème Php

Bonsoir,

J'ai réalisé ça mais lorsque on a sais son age il ne trouve pas la page car la variable $age n'est pas remplacée dans l'adresse.

Pourquoi elle n'est pas remplacée ?

<?php
if (isset($_POST['age']))
{
$age = $_POST['age'];
header('Location: index.php?age=$age');
}
else
{
?>
<p align="center">Bonjour,
Merci de saisir votre age :</br>
</p>
<form method="post">
<div align="center">
<input type="text" name="age" />
<input type="submit" value="Valider" />
</p>
</div>
</form>
<?php
}

?>

6 réponses

  1. Il faut remplacer
    header('Location: index.php?age=$age');

    par
    header('Location: index.php?age='.$age);


    Dans ton code, la variable $age se trouve entre les quotes ( ' ), et elle n'est donc pas interprétée. Tu pourrais aussi remplacer les quotes par des guillemets ( " ). De cette manière les variables sont interprétées quand même, mais l'exécution est plus lente.
    1. Bonsoir,

      deux anomalies:

      header('Location: index.php?age=$age');

      entre les ' les variables ne sont pas interprétées

      mets:

      header("Location: index.php?age=$age"); 


      ou
      header('Location: index.php?age='.$age); 


      et revois les tutos sur les formulaires

      dans <form il faut name="...." method="...." action=".....">

      @lain
      1. Oui mais j'ai un problème, quand je l'ais essayé en ligne sur un site free.
        J'ai eu ce message :

        Warning: Cannot modify header information - headers already sent by (output started at /mnt/165/sda/f/9/*****/index.php:3) in /mnt/165/sda/f/9/****/index.php on line 9
        1. Sinon j'ai essayé ça mais ça ne fonctionne pas :
          echo '<META HTTP-EQUIV="Refresh" CONTENT="0; URL=index.php?age=index.php?age=$age>';
          1. Bonjour

            Cannot modify header information ça, c'est presque à coup sûr parce que tu as laissé des lignes vides avant le <?php

            echo '<META HTTP-EQUIV="Refresh" CONTENT="0; URL=index.php?age=index.php?age=$age>';
            tu n'as pas lu les explications de iunity et Alian_42 ? Tu recommences exactement la même faute !