Method post et name dans le formulaire

Bonjour,

j'ai un problème en php et je n'arrive pas a le résoudre tout seul j'espère que quelqu'un pourra m'aider.
Alors j'ai créé une fonction php et j'ai un formulaire dedans.

if(isset($_SESSION['login'])
{
echo"<td><form action='include/ajout_panier.php' method='POST'><input type='submit' name='$film' value='panier'></form></td>";
}

... et sur ma page ajout_panier.php , j'aimerais récupérer le name avec un POST du genre $_POST['$film'], mais lorsque je fais ca , et bien ça ne fonctionne pas :(

Merci de me une idée de comment je pourrais procédé pour palier a ce problème.
Cordialement,Altair60.
Configuration: WinDaube Vista
Firefox 3.0.4

10 réponses

  • Votes
  • Date
  • Date décroissante
  1. fais comme ceci :

    
    if(isset($_SESSION['login'])
    {
    echo"<td><form action='include/ajout_panier.php' method='POST'><input type='submit' name='".$film."' value='panier'></form></td>";
    } 


    et tu récupere comme ça :
    $_POST[$film]
    
    1. sur ta page ajout_panier.php
      Comment la page sais quelle est la valeur de la variable a replacer dans $film ?
      1. Et bien voila mon code en gros ...

        function news()
        {
        echo "Voici la liste des nouveautés DVD du site</br>";

        $req=DB::Sql("select image,Titre,Data_sortie,Acteurs,Resume from dvd where id_DVD>(select max(id_dvd-3) from dvd)");

        while($liste=mysql_fetch_row($req))
        {
        echo "<table align='center' border='3px double black'><tr><td><img src='$liste[0]'><td>";
        echo "<td><h3>".$liste[1]."</h3> Date de sortie:".$liste[2]." </br> Acteurs pricinpaux:";
        echo "".$liste[3]."</br>Synopsis :</br>".$liste[4]."</td>";
        if(isset($_SESSION['login']))
        {
        $film=$liste[1];
        echo"<td><form action='include/ajout_panier.php' method='POST'><input type='submit' name='".$film."' value='panier'></form></td>";
        }
        echo "</tr></table>";
        }
        }
        1. fais comme ceci :

          if(isset($_SESSION['login'])
          {
          echo"<td><form action='include/ajout_panier.php' method='POST'><input type='submit' name='".$film."' value='panier'></form></td>";
          }

          et tu récupere comme ça :

          $_POST[$film]

          .... ca ne marche pas aparemment :(
          1. Imagine que le nom du film soit "Spiderman"

            Arrivé sur ton navigateur, ton code php suivant :
            <form action='include/ajout_panier.php' method='POST'><input type='submit' name='".$film."' value='panier'></form>

            sera devenu :
            <form action='include/ajout_panier.php' method='POST'><input type='submit' name='spiderman' value='panier'></form>

            Et donc sur la page ajout_panier.php
            il faudrait qu'il y ai :
            $_POST['spiderman'], or $film n'a aucune valeur sur cette page ....

            1. Ah weah ...

              et tu sais comment je pourrais faire pour corriger le tire.?? :S
              1. JE crois que j'ai déja essayer ... mais ca a pas fonctionner ...
                en fait je m'y suis peut étre mal pris.

                Tu vois comment je pourrais faire avec les SESSIONS ???
                1. quand tu fait des tests avec des sessions, c'est chaud.
                  Il faut veiller à les effacer a chaque test, car sinon tu as l'impression que ca ne fonctionne pas alors qu'en fait ca marche.

                  Je ne suis pas tres bon en php mais essaye

                  $_SESSION['titre_film']=$liste[1];

                  echo"<td><form action='include/ajout_panier.php' method='POST'><input type='submit' name='".$_SESSION['titre_film']."' value='panier'></form></td>";

                  dans la premiere page

                  puis $_POST[$_SESSION['titre_film']] dans la deuxieme ....

                  Fait gaffe a la syntaxe, car mon domaine c'est plutôt l'ASP