Php: formulaire submit + retour page appel

Résolu/Fermé
KANONJI Messages postés 15 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 10 septembre 2010 - 7 sept. 2010 à 09:07
KANONJI Messages postés 15 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 10 septembre 2010 - 7 sept. 2010 à 11:28
Bonjour,

voila mon soucis,

je fais un formulaire basique PHP dans lequel l'utilisateur va rentrer son pseudo, adresse e-mail et bien d'autres infos.

Parmi celles-ci, je demande à l'utilisateur de choisir une couleur.
Il clique sur un lien qui ouvre un petite fenetre à part et clique sur la couleur desirée.

Puisque cette couleur va etre utilisée en post traitement, je souhaitais la voir apparaitre sur la page principale de mon formulaire (first.php).

J'utilise donc un formulaire dans ma page de couleurs avec une variable
<input type="hidden" name="pixelcolor">
qui est rempli à l'aide d'un javascript.

<script language=javascript>
function Display_color(color) {
document.fcolor.pixelcolor.value = color;
document.fcolor.submit();
}
</script>

Mon problème est que la fonction submit() ouvre une nouvelle page first.php qui ne contient plus les infos préalablement remplies.

Ma question est donc : Comment faire pour qu'une fois le formulaire rempli, je n'ai qu'a fermer ma fenetre de couleurs manuellement (pas de soucis pour ca) et que la valeur de la couleur selectionnée (via onClick) apparaisse dans le champ concerné de first.php

Merci d'avance

Kanonji

A voir également:

3 réponses

KANONJI Messages postés 15 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 10 septembre 2010 3
7 sept. 2010 à 11:28
Salut desole de t'embrouiller mais c'est bon j'ai trouve ma solution :

function Display_color(color) {
window.opener.document.userinfo.colorchoice.value = color;
}

avec userinfo le formulaire present dans first.php et colorchoice le input text contenant la couleur..

Merci de ton aide.

Kanonji
2
KANONJI Messages postés 15 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 10 septembre 2010 3
7 sept. 2010 à 11:28
Reponse trouvée..
1
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
7 sept. 2010 à 09:18
Bonjour,

Je ne maitrise pas trop le javascritpt (on problème semble là), mais j'ai l'impresison que tu n'écris pas la couleur choisie dans ton formulaire.
A mon avis, ton champs "hidden", tu devrais rajouter un "value="aucune"", et avec le script en JS, faire un "replace" et modifier le "aucune", par la couleur.

Comment le faire, j'en sais rien, mais pour moi l'idée est là. Ensuite tu n'aurais plus qu'a appeller $_POST['pixelcolor'] pour avoir ta couleur.

EDIT: Après relecture de ton code, je pense que tu écris la valeur avec
document.fcolor.pixelcolor.value = color; 

Est-ce qu'elle apparait bien dans ton formulaire avant de l'envoyer? Essaie de faire un submit manuel pour vérifier.
Sinon, dans ton post traitement, essai eun
echo $_POST['pixelcolor'];

Voir si il y a quelque chose qui passe.
0
KANONJI Messages postés 15 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 10 septembre 2010 3
7 sept. 2010 à 09:50
Ma valeur est bien récupérée.
Mon problème est qu'une fois la valeur recuperée dans ma petite fenetre avec le panel de couleurs, j'aimerais que la valeur soit affichée dans mon ancienne page principale où des infos sont deja presentes.

Si j'essaie de faire un echo $_POST['pixelcolor']'; dans first.php, apres l'appel au javascript qui ouvre la nouvelle page, j'ai le message Undefined index 'pixelcolor'

Pourtant dans colors.php mon form a bien action="first.php" donc la variable pixel color devrait etre disponible.

Mon vrai pb est donc de pouvoir avoir cette valeur affichée dans la page principale et pas dans une nouvelle

Kanonji
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
7 sept. 2010 à 10:09
Euh.. colors.php? action => first.php?
Et le javascript est dans fisrt.php? J'y comprend plus rien..

Tu veux pas me coller tes deux codes, complets s'il te plait?
(Utilise la balise "code" par contre.. sinon c'est illisible les codes)
0