Extract() et POST...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Extract() et POST...

par Aureusms » 29 janv. 2009, 20:31

Moi pour ma part, je n'avais pas lu jusqu'au bout (méhacoolpas : je préfère cette écriture LOL)

Pour ton problème, il est préférable de remplacer le - par le _ qui sera obligatoire, aussi :
<?php
extract($_POST, EXTR_PREFIX_ALL, "post");
?>
si tu veux vraiment garder ton "-", essaye cela :
<?php

foreach ($_POST as $cle => $valeur)
{
$cle = "post-".$cle;
$tab_post[$cle] = $valeur;
}

extract($tab_post);
?>

par Berzemus » 28 janv. 2009, 23:47

et pourquoi y a t il un _ entre wddx et la variable ? Si je met "post-" n'obtiendrais-je pas plutôt $post-_color ?
Sacro-saint manuel, tu représente tout pour moi..
Les préfixes sont automatiquement séparés de l'index du tableau par un caractère de soulignement

par Jeremieca » 28 janv. 2009, 18:07

Hahaha !
Je l'ai également lu seulement je ne comprenais pas quelque chose :
<?php

/* Supposons que $var_array est un tableau retourné par
   wddx_deserialize */

$size = "large";
$var_array = array("color" => "blue",
                   "size"  => "medium",
                   "shape" => "sphere");
extract($var_array, EXTR_PREFIX_SAME, "wddx");

echo "$color, $size, $shape, $wddx_size\n";

?>
Pourquoi $color affiche quelque chose ? n'est ce pas plutot $wddx_color qui affiche ? et pourquoi y a t il un _ entre wddx et la variable ? Si je met "post-" n'obtiendrais-je pas plutôt $post-_color ?


Alors voila je n'ai pas compris et non pas lu ! :)

+

par Aureusms » 28 janv. 2009, 17:03

Aureusms à lu la doc, lui... :roll:
LOL

par Berzemus » 28 janv. 2009, 16:59

Aureusms à lu la doc, lui... :roll:

par Aureusms » 28 janv. 2009, 16:44

En clair j'aimerai transformer le tableau :

$_POST['titre'], $_POST['texte'], $_POST['coms']

en :

$_POST['post-titre'], $_POST['post-texte'], $_POST['post-coms']

Pour obtenir après un extract() : $post-titre, $post-texte, $post-coms

Ok ?

++
Esaye cela
<?php

extract($_POST, EXTR_PREFIX_ALL, "post-");
?>
J'ai trouvé cela ici http://fr.php.net/manual/fr/function.extract.php

par Jeremieca » 28 janv. 2009, 16:25

Désolé mais je ne vois pas ou ne comprend pas ou ça ?

+

par Berzemus » 28 janv. 2009, 15:20

En lisant bien toute la documentation de la fonction extract() , je crois qu'elle fait exactement ce que tu as envie de faire.

par Jeremieca » 28 janv. 2009, 15:15

En clair j'aimerai transformer le tableau :

$_POST['titre'], $_POST['texte'], $_POST['coms']

en :

$_POST['post-titre'], $_POST['post-texte'], $_POST['post-coms']

Pour obtenir après un extract() : $post-titre, $post-texte, $post-coms

Ok ?

++

par rolusseum » 27 janv. 2009, 23:53

Comment obtenir $post-titre, $post-texte, $post-coms à la place ? En clair comment modifier mon tableau initial $_POST ?
Je n'ai pas vraiment compris...

Extract() et POST...

par Jeremieca » 27 janv. 2009, 23:15

Bonsoir,
Tout d'abord j'aimerai savoir par curiosité si extract() marche avec tous les tableaux comme par exemple après un mysql_fetch_array.

J'aimerai ensuite savoir comment faire pour ajouter une chaine quelconque : par exemple :

Soit : $_POST['titre'], $_POST['texte'], $_POST['coms']

extract($_POST); me donne $titre, $texte et $coms

Comment obtenir $post-titre, $post-texte, $post-coms à la place ? En clair comment modifier mon tableau initial $_POST ?

Merci d'avance !

+ :D

Et au passage, merci pour toutes les fois ou vous m'avez aidé efficacement; C'est rare sur les forums d'avoir des bonnes réponses rapides bien que sur PHPFrance ce soit toujours ! :D