Method post et name dans le formulaire

Altair60 -  
 Altair60 -
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

  1. Utilisateur anonyme
     
    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]
    
    0
  2. mp5player Messages postés 74 Statut Membre 48
     
    sur ta page ajout_panier.php
    Comment la page sais quelle est la valeur de la variable a replacer dans $film ?
    0
  3. Altair60
     
    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>";
    }
    }
    0
  4. Altair60
     
    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 :(
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mp5player Messages postés 74 Statut Membre 48
     
    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 ....

    0
  7. Altair60
     
    Ah weah ...

    et tu sais comment je pourrais faire pour corriger le tire.?? :S
    0
  8. mp5player Messages postés 74 Statut Membre 48
     
    Mets le dans une session
    0
  9. Altair60
     
    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 ???
    0
  10. mp5player Messages postés 74 Statut Membre 48
     
    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
    0
  11. Altair60
     
    Okay , je vais essayer ca et je te dirais quoi ... merci :)
    0