[PHP] envoyer un texte d'une page a une autre

Fermé
cinthia - 18 déc. 2009 à 20:40
 cinthia - 19 déc. 2009 à 00:44
Bonjour,


je cherche la possibilité d'envoyer une information d'une page a une autre ..

en fait .. j'ai un formulaire sur une de mes pages contenant un champs text :

<input id="textField1" class="customization_block_input" type="text" value="" name="textField16"/>

je voudrais pouvoir à partir d'une autre page dans laquel je dois pouvoir proposer une sorte de catalogue image que lorsque une personne choisi tel ou tel image.. et qu'elle valide en appuyant sur un bouton, la référence ou valeur de l'image soit envoyer sur mon autre page dans le champs text ci-dessus et qu'elle prenne donc automatiquement la valeur.

Je pense que pour la page contenant toute mes image je dois créer un autre formulaire qui post dans l'autre page... mais par ou commencer ?

je suis débutante :$

pouvez-vous m'aider svp ?
A voir également:

13 réponses

Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
18 déc. 2009 à 20:48
Bonsoir,

C'est tout simple, en fait, voila grosso modo comment faire

Ta premiere page contient donc un premier formulaire :

<form action='ma_2eme_page.php' method='POST'>

<input name='1ere_image' type='text'>
<input name='2eme_image' type='text'>
<input name='3eme_image' type='text'>
<input type='submit' value='Valider'>

</form>

Puis, dans la page de destination (donc ici, ma_2eme_page.php), tu pourras recuperer les valeurs avec $_POST[]

Par exemple, dans ta 2eme page, tu aura :

<input id="textField1" class="customization_block_input" type="text" value=<?php $_POST['1ere_image'] ?> name="textField16"/>


Et ainsi, a la place de value, tu auras la valeur que tu aura rentré dans la 1ere page.

Est-ce que c'est assez clair, et surtout, est-ce que c'etait bien ta question ? ^^
0
merci Mopra, c'est déjà plus clair dans ma tête ^^

mais je me demande si je peux vraiment le faire car la page sur laquel je veux poster la valeur est une page dynamique .. c'est comme ça qu'on dit je crois

du style : monsite.com/product.php?id_product=12


mais quand je vais sur la page product.php je n'ai pas le champs text que j'ai dans la page product.php?id_product=12


mais ou il est alors ? lol
0
Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
18 déc. 2009 à 21:12
En fait, il y a 2 methodes pour passer des valeurs d'une page a une autre, le GET et le POST

Le POST, comme tu viens de le voir, passe les variables en "caché"

Le GET, en revanche, les affiche directement dans la barre d'adresse, comme avec monsite.com/product.php?id_product=12


Donc, la, pour récupérer la valeur de id_product dans la page, il suffit de faire $_GET['id_product']

C'est surement pour ca que tu n'as pas le champ text avec juste la page product.php, car du coup, id_product est vide
0
snif, la je suis pas sur de bien comprendre ...

je me suis peutetre mal exprimer ... mais je sent qu'on est pas loin :P

en fait j'ai plusieurs produits...

avec des pages comme
monsite.com/product.php?id_product=12
monsite.com/product.php?id_product=13
monsite.com/product.php?id_product=14

sur certaine de ces page j'ai le champs text
<input id="textField1" class="customization_block_input" type="text" value="" name="textField16"/>

et moi de ma page exterieur j'aimerai donc changer la valeur de ce champs.. mais pas spécifiquement sur la page id_product=12 ou id_product=13 ... mais sur celle qui est ouverte ... car si de la page d'ou j'envoi la valeur je dois envoyer vers la page 12, puis recréer un autre formulaire pour la page 13... vu que j'ai plusieurs centaine de produits je vais devoir créer plusieurs centaine de formulaire ?

ou alors.... pour être clair , la page d'où je vais chercher les valeurs images disons qu'elle s'appel image.php

donc admetons vu que c'est de monsite.com/product.php?id_product=12 ou 13 ou 14 que j'ouvre ma page image.php ... je devrais recupéré la variable "id_product" dans le liens pour ouvrir la page image.php . et dans image.php je recupere le "id_product" pour ensuite reformer ladresse de post du formulaire...

waaaa jmembrouille toute seul ...


a mon avis je dois te soulé.. je suis dsl :( jsuis une boulette :P
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
18 déc. 2009 à 22:59
Boulette, nan, noobette, on va dire :D

Bon, alors je vais essayer d'etre assez clair, pour comprendre moi aussi :p

La page product.php recevra plusieurs valeurs, selon le produit, donc le produit 12, 13, 14, etc.

Donc, au final, c'est qu'une seule et même page, pas besoin d'avoir une centaine a changer, c'est un bon point ^^.

Ensuite, c'est la page product.php qui recevra la variable $_GET['id_product'], reste a savoir si c'est elle que tu veux utiliser ou non.

Si tu veux envoyer le id_product de product.php vers image.php (c'est bien ca ?), il va falloir donc faire un formulaire, en POST ou GET, au choix.

Au final, il te suffit d'aller dans le fichier product.php, et de remplacer la ligne :

<input id="textField1" class="customization_block_input" type="text" value="" name="textField16"/>

par :

<input id="textField1" class="customization_block_input" type="text" value="$_GET['id_product']" name="textField16"/>


J'ai tout bon ou tout faux ? :D

Edit : D'ailleurs, une question, tu parle de page exterieur...mais la page product.php est une page que tu as crée, ou une page d'un site ?
0
re Mopra =)

alors je te cite ^^:

Au final, il te suffit d'aller dans le fichier product.php, et de remplacer la ligne :

<input id="textField1" class="customization_block_input" type="text" value="" name="textField16"/>

par :

<input id="textField1" class="customization_block_input" type="text" value="$_GET['id_product']" name="textField16"/>


moi je veux bien mais le probleme c'est que dans product.php je n'ai pas de
<input id="textField1" class="customization_block_input" type="text" value="" name="textField16"/>

car ce champs doit être généré par la fiche produit 12 , 13 etc... car il lui appartient..


et faudrais que la valeur s'adresse a l'id et non au name ... car celui ci change selon les produits ...

et faire ça de la page product.php pour évité de renvoyé via un formulaire sur une autre page exterieur ça pourrai être bien aussi...

et la page product.php c'est pas moi qui l'a créer elle fait partit du script php que j'ai télécharger.. et que j'ai installer sur mon serveur..
0
en fait faudrais que je trouve un code à metre sur la page product.php qui vérifie la présence de l'id textfield1 .. et si elle est présente elle met en valeur $_GET['id_product']

no ? =)
0
Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
18 déc. 2009 à 23:35
Le probleme, c'est que pour faire ca, va falloir toucher au code de la page product.php, quoi qu'il arrive, parce que tu ne peux pas (à ma connaissance) modifier une page a partir d'une autre, comme ca.

Donc faudrait modifier ton script PHP, sinon, pas possible d'attribuer une valeur a l'input du product.php comme ca.

Enfin je peux me tromper, mais c'est la conclusion que j'en tire ^^
0
ben je veux bien la modifier ma product.php ^^

le tout est de savoir comment lol..

je vais essayer de trouvé comment vérifier la présence d'une partie de code si c'est possible.. j'espere jfait pas fausse route ^^

merci de ton aide =) , et si une idée te passe par la tête pense a moi :D


bisous
0
Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
18 déc. 2009 à 23:45
Ben si tu peux trouver la partie ou se fait la creation de l'input, c'est gagné, comme dirait Dora :D

Pas sur j'ai plus d'idée plus tard, mais bon, on sait jamais.

Bonne chance !
0
je sais pas c'est quoi ce fameux input lol...

mais esque ceci peut aider ?

function textRecord(Product $product, Cart $cart)
{
global $errors;

if (!$fieldIds = $product->getCustomizationFieldIds())
return false;
$authorizedTextFields = array();
foreach ($fieldIds AS $fieldId)
if ($fieldId['type'] == _CUSTOMIZE_TEXTFIELD_)
$authorizedTextFields[intval($fieldId['id_customization_field'])] = 'textField'.intval($fieldId['id_customization_field']);
$indexes = array_flip($authorizedTextFields);
foreach ($_POST AS $fieldName => $value)
if (in_array($fieldName, $authorizedTextFields) AND !empty($value))
{
if (!Validate::isMessage($value))
$errors[] = Tools::displayError('Invalid message');
else
$cart->addTextFieldToProduct(intval($product->id), $indexes[$fieldName], $value);
}
elseif (in_array($fieldName, $authorizedTextFields) AND empty($value))
$cart->deleteTextFieldFromProduct(intval($product->id), $indexes[$fieldName]);
}
0
Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
19 déc. 2009 à 00:36
Ca peut aider, oui et non...

C'est bien la que le texte se crée, mais apres, faut aller fouiller dans toutes les classes, car c'est du PHP Objet...
Faudrait bien du courage :D

C'est pour ca que c'est une mauvaise idée d'utiliser les scripts, parfois, parce que si ca colle pas a ce qu'on veut, dur dur de modifier :p
0
snif c'est perdu alors :'(

pas le choix d'utiliser des scripts.. surtout un comme ça même si je maitriser le php me faudrais 10 ans pour le faire :'(
0