$_POST et _request

Bonjour,

Voilà je fais un formulaire avec une boucle auteur pour obtenir une liste déroulant de tous les auteurs. Method : POST
Pour récupérer mes variables $nom je fais $nom= _request('nom'); et ça ne marche pas
_request() est bien l'équivalent de $_POST[''], non?

Bernard

monnaieancienne a écrit :

Bonjour,

Voilà je fais un formulaire avec une boucle auteur pour obtenir une liste déroulant de tous les auteurs. Method : POST
Pour récupérer mes variables $nom je fais $nom= _request('nom'); et ça ne marche pas
_request() est bien l'équivalent de $_POST[''], non?

Bernard

Salut Bernard,

Je pense que la syntaxe en php serait plutôt $_REQUEST['']

François

François de Montlivault a écrit :

monnaieancienne a écrit :
  

Bonjour,

Voilà je fais un formulaire avec une boucle auteur pour obtenir une liste déroulant de tous les auteurs. Method : POST
Pour récupérer mes variables $nom je fais $nom= _request('nom'); et ça ne marche pas
_request() est bien l'équivalent de $_POST[''], non?

Bernard

Salut Bernard,

Je pense que la syntaxe en php serait plutôt $_REQUEST['']

François

Merci François,

Je me bats toujours avec ces fameux formulaires et plugin!
J'ai vu des tas de plugins utilisant _request(''); dans leur script, je pense qu'il doit faire partie de la classe spip, mais c'est très étonnant car ici ça ne donne rien, du moins en 1.9.2..
Je continue de chercher..

Bernard

monnaieancienne a écrit :

Bonjour,

Voilà je fais un formulaire avec une boucle auteur pour obtenir une liste déroulant de tous les auteurs. Method : POST
Pour récupérer mes variables $nom je fais $nom= _request('nom'); et ça ne marche pas
_request() est bien l'équivalent de $_POST[''], non?

Bernard

Ca devrait marcher pourtant.. T'es sûr de ton coup ?
_request examine $_GET puis $_POST.
Voici le code (v1.9.2) de _request :

// Renvoie le _GET ou le _POST émis par l'utilisateur
// ou pioche dans $c si c'est un array()
// http://doc.spip.org/@_request
function _request($var, $c=false) {
  if (is_array($c))
    return isset($c[$var]) ? $c[$var] : NULL;
  if (isset($_GET[$var])) $a = $_GET[$var];
  elseif (isset($_POST[$var])) $a = $_POST[$var];
  else return NULL;

(...)
  return $a;
}

Pat

Bonjour, en ce qui me concerne, c'est la première fois que je découvre cette commande - comme beaucoup d'autres, d'ailleurs, qui ne sont décrites nulle part !!

Bon, as-tu essayé avec les crochets (comme c'est du spip, ça pourrait aider ?)

Comme ça : $nom = [_request('nom')]

Ça ne changera peut-être rien, mais ça vaut le coup d'essayer ?

A+

Marc

Le 6 avr. 07 à 13:42, Pat a écrit :

monnaieancienne a écrit :

Bonjour,

Voilà je fais un formulaire avec une boucle auteur pour obtenir une
liste déroulant de tous les auteurs. Method : POST
Pour récupérer mes variables $nom je fais $nom= _request('nom'); et ça
ne marche pas
_request() est bien l'équivalent de $_POST[''], non?

Bernard

Ca devrait marcher pourtant.. T'es sûr de ton coup ?
_request examine $_GET puis $_POST.
Voici le code (v1.9.2) de _request :

// Renvoie le _GET ou le _POST émis par l'utilisateur
// ou pioche dans $c si c'est un array()
// http://doc.spip.org/@_request
function _request($var, $c=false) {
  if (is_array($c))
    return isset($c[$var]) ? $c[$var] : NULL;
  if (isset($_GET[$var])) $a = $_GET[$var];
  elseif (isset($_POST[$var])) $a = $_POST[$var];
  else return NULL;

(...)
  return $a;
}

Pat

Marc Valleteau de Moulliac a écrit :

Bonjour, en ce qui me concerne, c'est la première fois que je découvre cette commande - comme beaucoup d'autres, d'ailleurs, qui ne sont décrites nulle part !!

Bon, as-tu essayé avec les crochets (comme c'est du spip, ça pourrait aider ?)

Comme ça : $nom = [_request('nom')]

Ça ne changera peut-être rien, mais ça vaut le coup d'essayer ?

A+

Marc

Le 6 avr. 07 à 13:42, Pat a écrit :

monnaieancienne a écrit :
    

Bonjour,

Voilà je fais un formulaire avec une boucle auteur pour obtenir une
liste déroulant de tous les auteurs. Method : POST
Pour récupérer mes variables $nom je fais $nom= _request('nom'); et ça
ne marche pas
_request() est bien l'équivalent de $_POST[''], non?

Bernard
      

Ca devrait marcher pourtant.. T'es sûr de ton coup ?
_request examine $_GET puis $_POST.
Voici le code (v1.9.2) de _request :

// Renvoie le _GET ou le _POST émis par l'utilisateur
// ou pioche dans $c si c'est un array()
// http://doc.spip.org/@_request
function _request($var, $c=false) {
  if (is_array($c))
    return isset($c[$var]) ? $c[$var] : NULL;
  if (isset($_GET[$var])) $a = $_GET[$var];
  elseif (isset($_POST[$var])) $a = $_POST[$var];
  else return NULL;

(...)
  return $a;
}

Pat
    

Non Marc, la syntaxe est bien correcte. En fait je suis en train de faire un plugin et je déclare ma balise formulaire avec la fonction adéquate. Dans ce fichier php je tente en vain depuis pas mal de temps de récupérer les infos de mon formulaire, mais rien!
Et pour répondre aussi à Pat, ben oui, je croyais être sûr de mon coup, mais si je valide le formulaire, je tombe sur une page blanche et il n'y a aucun code généré sur cette page.
Je fais bêtement :
$noms=_request('noms');
et ma requête d'insertion dans la table.
Un echo $noms ne me retourne rien non plus.
C'est dans mon fichier balise que ça se passe, mais je ne trouve pas et franchement, je coince sérieux sur le coup...

Bernard

Non Marc, la syntaxe est bien correcte. En fait je suis en
train de faire un plugin et je déclare ma balise formulaire
avec la fonction adéquate. Dans ce fichier php je tente en
vain depuis pas mal de temps de récupérer les infos de mon
formulaire, mais rien!
Et pour répondre aussi à Pat, ben oui, je croyais être sûr de
mon coup, mais si je valide le formulaire, je tombe sur une
page blanche et il n'y a aucun code généré sur cette page.
Je fais bêtement :
$noms=_request('noms');
et ma requête d'insertion dans la table.
Un echo $noms ne me retourne rien non plus.
C'est dans mon fichier balise que ça se passe, mais je ne
trouve pas et franchement, je coince sérieux sur le coup...

Essaie de faire un print_r($_POST);.

Bonjour, en ce qui me concerne, c'est la première fois que je
découvre cette commande - comme beaucoup d'autres,
d'ailleurs, qui ne sont décrites nulle part !

Qu'est ce que tu raconte, on trouve cette fonction dans tous les fichier
formulaires de la dist...

Olivier GENDRIN a écrit :

Non Marc, la syntaxe est bien correcte. En fait je suis en train de faire un plugin et je déclare ma balise formulaire avec la fonction adéquate. Dans ce fichier php je tente en vain depuis pas mal de temps de récupérer les infos de mon formulaire, mais rien!
Et pour répondre aussi à Pat, ben oui, je croyais être sûr de mon coup, mais si je valide le formulaire, je tombe sur une page blanche et il n'y a aucun code généré sur cette page.
Je fais bêtement :
$noms=_request('noms');
et ma requête d'insertion dans la table.
Un echo $noms ne me retourne rien non plus.
C'est dans mon fichier balise que ça se passe, mais je ne trouve pas et franchement, je coince sérieux sur le coup...
    
Essaie de faire un print_r($_POST);.

_______________________________________________

Merci je vais essayer. Mais n'y aurait il pas des changements entre la 1.9.1 et la 1.9.2 ?
J'ai l'impression que le balisage des formulaires ne se traitent plus correctement d'une version à l'autre?

Bernard