variable bouton radio: comment sont-elle transmisent ??

Le premier forum francophone sur l'éditeur de pages Web multiplateforme (Linux, Mac OS X, Windows) qui monte… KompoZer, héritier de Nvu, permet de créer vos pages Web graphiquement (wysiwyg) sans aucune connaissance du langage HTML.

Modérateur : chinon37

mwa_85
Arias
Messages : 6
Inscription : 10 juin 2006, 14:01

variable bouton radio: comment sont-elle transmisent ??

Message par mwa_85 »

Bonjour.
Je suis en train de fonder un site de A à Z et à un moment il faut répertorier le monde de l'assoc' donc j'ai fait une table SQL et comme je suis fainient je fais toute l'administration de cette table en php sur internet.
Donc au début on à le formulaire avec :

Code : Tout sélectionner

<form method="POST" action)="traitement.php"
<input type="radio" name="choix" value="ajouter"/>
<input type="radio" name="choix" value="modifier"/>
<input type="radio" name="choix" value="supprimer"/>
donc théoriquement arrivé dans traitement.php je récupère une seule variable
$_POST['choix']
Et dans le script pour chaque value de choix j'ai des possibilitées différentes.
ajouter = ("INSERT INTO...")
modifier = ("UPDATE ... SET ...")
supprimer = ("DELETE FROM ...")
donc dans mon script je fais une structure if ...else

Code : Tout sélectionner

  if($_POST['choix']=='ajouter')
    {
      ("INSERT INTO...");
    }
  elseif($_POST['choix']=='modifier')
    {
      ("UPDATE ... SET ...");
    }
elseif($_POST['choix']=='supprimer')
    {
      ("DELETE FROM ...");
    }
else{
echo'y'a un Bins quelque part !!'
}
mais le problème c'est que le code ne fait pas ce que je veux Donc il y a un problème(logique). je pense que sa doit être par ici : ($_POST['choix']=='supprimer')
Donc si vous réussisser à trouver le problème merci
sinon est-ce que vous avez d'autre solution car je ne veux pas faire trois pages différente pour sa.
Merci d'avance
Bien sur ici le code est très allégé pour éviter d'embrouiller tout le monde avec toute les variable je veux aller à l'essentiel dans mon code

Message envoyé avec : Mozilla/5.0 (Windows; U; Win98; fr; rv:1.8.1) Gecko/20061010 Firefox/2.0
N|vu le meilleur et as bas dreamweaver
Win98 + Mozilla firefox 1.5.0.1 + MSN messenger7.5 + Windows live mail + PSP9.0 + FTP Expert3.0 = les meilleurs logiciel pour un bn site
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Bonjour
Que donne
echo $_POST['choix'] à l'entrée dans la page traitement.php ?
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Dans ce genre de situations, l'extension LiveHTTPHeaders peut t'être très utile :)

Ensuite la fonction print_r de PHP aussi :-D

Ensuite fait plutôt quelque chose du genre :

Code : Tout sélectionner

$action['ajouter'] = 'INSERT INTO...';
$action['modifier'] = 'UPDATE ';
$action['supprimer'] = 'DELETE FROM ';

$action[$_POST['choix']] or echo (print_r($_POST))
(je ne sais plus si le "or..." peut être utilisé comme ça en php... je pense que oui.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1) Gecko/20061010 Firemarsupilami Firefox/2.0
mwa_85
Arias
Messages : 6
Inscription : 10 juin 2006, 14:01

Message par mwa_85 »

Désolé mais calimo je te suis pas à 100%
Je ne comprend pas ce code :

Code : Tout sélectionner

$action['ajouter'] = 'INSERT INTO...';
$action['modifier'] = 'UPDATE ';
$action['supprimer'] = 'DELETE FROM ';

$action[$_POST['choix']] or echo (print_r($_POST))
Tu peux m'expliquer
Car si je dois faire évoluer le code je ne saurais pas par où commencer.
Merci

Message envoyé avec : Mozilla/5.0 (Windows; U; Win98; fr; rv:1.8.1) Gecko/20061010 Firefox/2.0
N|vu le meilleur et as bas dreamweaver
Win98 + Mozilla firefox 1.5.0.1 + MSN messenger7.5 + Windows live mail + PSP9.0 + FTP Expert3.0 = les meilleurs logiciel pour un bn site
chinon37
Animal mythique
Messages : 5319
Inscription : 21 mars 2005, 10:17

Message par chinon37 »

on est bien encore en dépannage Kpz/Nvu, là, hein? :roll: :evil: :?
pas plutôt dev web??
Préferez Kompozer 0.8 à Nvu
Défendons nos valeurs, adhérons à l'APRIL
La Démocratie, c'est quand on frappe à votre porte à 6h00 du matin, et que c'est le laitier.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

chinon37 a écrit :pas plutôt dev web??
Oui, parfaitement, m'enfin bon… :roll:

@mwa_85: $action est un tableau. Au lieu de faire des if/elsif, tu appelles simplement la ligne voulue du tableau. $action[$_POST['choix']] se transformera en $action['ajouter'] si $_POST['choix'] contient "ajouter", et tu récupèreras la commande voulue.
Plus d'infos sur les tableaux:
http://ch2.php.net/manual/fr/language.types.array.php

PS : je ne garantis pas le fonctionnement :lol:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1) Gecko/20061010 Firemarsupilami Firefox/2.0
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Bonjour
Question idiote, mais le code commence bien par :

Code : Tout sélectionner

<form method="POST" action)="traitement.php"
<input type="radio" name="choix" value="ajouter"/> 
auquel cas, il est normal que ça ne fonctionne pas.
Mais le compilateur devrait refuser.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1) Gecko/20061010 Firefox/2.0
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
mwa_85
Arias
Messages : 6
Inscription : 10 juin 2006, 14:01

Message par mwa_85 »

Ymai a écrit :Bonjour
Question idiote, mais le code commence bien par :

Code : Tout sélectionner

<form method="POST" action)="traitement.php"
<input type="radio" name="choix" value="ajouter"/> 
auquel cas, il est normal que ça ne fonctionne pas.
Mais le compilateur devrait refuser.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1) Gecko/20061010 Firefox/2.0
Oui sa commence bien par <form method="POST" action="traitement.php">
Bien sur les faute faites en haut ne sont pas faite sur le script car j'avais du mal à tapé à ce moment là
mais il n'y as pas de fautes normalement
J'essaye les réponse de camilo
N|vu le meilleur et as bas dreamweaver
Win98 + Mozilla firefox 1.5.0.1 + MSN messenger7.5 + Windows live mail + PSP9.0 + FTP Expert3.0 = les meilleurs logiciel pour un bn site
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

A enregistrer dans un fichier appelé dump.inc.php (par exemple)

Code : Tout sélectionner

<?php
  // these lines format the output as HTML comments
  // and call dump_array repeatedly

  echo "\n<!-- BEGIN VARIABLE DUMP -->\n\n";

  echo "<!-- BEGIN GET VARS -->\n";
  echo '<!-- '.dump_array($_GET)." -->\n";

  echo "<!-- BEGIN REQUEST VARS -->\n";
  echo '<!-- '.dump_array($_REQUEST)." -->\n";
  
    echo "<!-- BEGIN POST VARS -->\n";
  echo '<!-- '.dump_array($_POST)." -->\n";

  echo "<!-- BEGIN SESSION VARS -->\n";
  echo '<!-- '.dump_array($_SESSION)." -->\n";

  echo "<!-- BEGIN COOKIE VARS -->\n";
  echo '<!-- '.dump_array($_COOKIE)." -->\n";

  echo "\n<!-- END VARIABLE DUMP -->\n";

// dump_array() takes one array as a parameter
// It iterates through that array, creating a single 
// line string to represent the array as a set

function dump_array($array)
{
  if(is_array($array))
  {
    $size = count($array);
    $string = '';
    if($size)
    {
      $count = 0;
      $string .= '{ ';
      // add each element's key and value to the string
      foreach($array as $var => $value)
      {
        $string .= "$var = $value";
        if($count++ < ($size-1))
        {
          $string .= ', ';
        }
      }
      $string .= ' }';
    }
    return $string;
  }
  else
  {
    // if it is not an array, just return it
    return $array;
  }
}
?> 
Ensuite, à n'importe quel endroit d'un fichier PHP,

Code : Tout sélectionner

include ("dump.inc.php");
On exécute la page et on va voir dans le code source. Tout y est.

Ceci dit, un simple
echo $_POST['choix'];
donnerait déjà une indication. Mais ce que j'en dis...
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités