Du php dans une variable

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 : Du php dans une variable

par ouckileou » 30 août 2005, 16:58

$code = $_POST['allopass'];
$code = addSlashes($code);
$code = "echo '".$code."';";

Il insert par le contenut de $_POST :(
qu'est-ce que tu veux qu'on fasse de ça !!

si ça marche pas ne te contente pas de le dire avec un smiley qui pleure, ça n'avance à rien

si c'est un problème d'insertion, regarde du coté de la requête SQL, affiche les erreurs
et si tu postes ici, donne nous le code lié à l'insertion...

par Snoopy17 » 30 août 2005, 16:53

$code = $_POST['allopass'];
$code = addSlashes($code);
$code = "echo '".$code."';";

Il insert par le contenut de $_POST :(

par ouckileou » 30 août 2005, 16:38

On peut pas ajouter des \ automatiquement quand j'insere du code dans ma BDD ?
si c'est possible, voir stripSlashes et addSlashes

pour rajouter automatiquement echo et ;, tu les concatènes à ce que tu récupères du champ texte
<?php
// à réception du formulaire
$code = $_POST['code'];
$code = addSlashes($code);
$code = "echo '".$code."';"

// insertion de $code
?>

par Snoopy17 » 30 août 2005, 16:34

On peut pas ajouter des \ automatiquement quand j'insere du code dans ma BDD ?

De plus un autre question :

si ma premiere question est possible je voudrais juste inserer ce code dans mon champ :

<input type="hidden" name="DATAS" value="$_GET['id']">

Et que echo " ce mette devant automatiquement ainsi que "; a la fin de mon code :)

Serait ce possible ?

merci d'avance

par ouckileou » 30 août 2005, 16:31

oui j'avais mis ça car l'affectation utilisait les simples quotes, c'est ça qui s'appelle "adapter" ;)

pour ne pas mettre tout le temps les \, tu peux faire comme ça :
echo '<input type="hidden" name="DATAS" value="'.$_GET['id'].'">';
mais bon du coup il faudra échapper les apostrophes, c'est le même problème qu'avec les chaines classiques finalement

par Snoopy17 » 30 août 2005, 16:26

ca marche !!!! :) c'est génial merci xD

J'ai mis ce code dans ma BDD :
echo "<input type=\"hidden\" name=\"DATAS\" value=\"".$_GET['id']."\">";
Et toi tu m'avais donné :
echo "<input type=\"hidden\" name=\"DATAS\" value=\"".$_GET[\'id\']."\">";
Bon ca marche nickel le code est bien interpreté :)

Comment faire pour ne pas mettre des \ tout le temps ?

car si je mes un code plus grand :-(

Merci d'avance

par ouckileou » 30 août 2005, 16:21

ok, c'est déjà plus clair et ça fait moins faignant ;)

dans ta BDD tu mets le code PHP que tu veux exécuter, tel que tu le mettrais directement dans un script :
echo "<input type=\"hidden\" name=\"DATAS\" value=\"".$_GET[\'id\']."\">";
donc sans les quotes et le deuxième point-virgule

pour ce qui est des \, c'était pour échapper les guillemets lors de l'affectation

si tu récupères le code PHP depuis la base de données, à toi de voir si c'est nécessaire, je n'en sais rien

par Snoopy17 » 30 août 2005, 16:13

Me probleme c'est que je comprend a 70% ton exemple je n'arrive pas a l'adapter a moi.

J'ai bien compris ceci :
<?php echo eval($result2['allopass']); ?> 
maintenant le probleme c'est que je comprend mal ce que je dois mettre dans $result2['allopass'] c'est a dire dans ma BDD.

J'ai mis :

Code : Tout sélectionner

'echo "<input type=\"hidden\" name=\"DATAS\" value=\"".$_GET[\'id\']."\">";';
Ca ne marche pas ! il y a t'il des
'
en trop ? un
;
en trop ? je ne comprend pas bien ...

Le probleme c'est tout les
\
qui m'embrouillent :( et les
"'
! Je ne m'y retrouve plus !

Le principe je le comprend mais pour l'adapter a moi :S

Merci d'avance

par ouckileou » 30 août 2005, 16:06

Oui moi je veux que ma page lire.php affiche ce que contient ma BDD !
Donc je veux qu'elle m'affiche un champ caché avec pour valeur l'id qui est dans l'url :)
Donc je mes quand dans ma BDD et dans mon fichier php :)
OUI, j'ai bien compris
je t'ai d'ailleurs donné un exemple complet

dans ta BDD tu mets le code qui permet d'afficher un champ caché, avec la variable $_GET['id']

et dans ton script PHP, tu récupères ce code, et tu l'exécutes grâce à eval()

que veux-tu de plus ?
est-ce que tu fais des essais ? est-ce que tu cherches ?

j'ai pas vraiment l'impression :roll:
regarde mon exemple, avec la requête SQL, tu as quasiment tout ce qu'il faut faire, seulement à adapter à ta base

par Snoopy17 » 30 août 2005, 16:01

Oui moi je veux que ma page lire.php affiche ce que contient ma BDD !

Donc je veux qu'elle m'affiche un champ caché avec pour valeur l'id qui est dans l'url :)

Donc je mes quand dans ma BDD et dans mon fichier php :)

par ouckileou » 30 août 2005, 15:58

je dois mettre quoi exactement dans ma base de donnée ?
:shock:

ben le code PHP que tu souhaites stocker et interpréter plus tard...

par Snoopy17 » 30 août 2005, 15:57

je dois mettre quoi exactement dans ma base de donnée ?

par ouckileou » 30 août 2005, 15:51

chez moi cela marche très bien :
$_GET['id'] = 5;
$result2['allopass'] = 'echo "<input type=\"hidden\" name=\"DATAS\" value=\"".$_GET[\'id\']."\">";';
echo eval($result2['allopass']	); 
montre toutes les étapes du code alors

par Snoopy17 » 30 août 2005, 15:48

voila le code :
<?php eval($result2['allopass']); ?>
Et $result2['allopass'] contient :

Code : Tout sélectionner

echo "<input type=\"hidden\" name=\"DATAS\" value=\"".$_GET[\'id\']."\">";
Merci :)

par ouckileou » 30 août 2005, 15:46

on peut voir le code qui va avec ?