Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/03/2008, 10h31   #1
Invité de passage
 
Inscription : février 2007
Messages : 48
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 48
Points : 1
Points : 1
Par défaut Transmission de donnée par formulaire

Bonjour,

J'aurais besoin d'un peu d'aide svp sur des redirections de page web vers différente page (celon la case coché).

Voila je vais essayé de développer un peu ce dont j'aurais besoin d'aide et surtout je vais essayer de m'exprimer le plus clairement possible.

Je voudrais en faite, que les personnes venant sur mon site aient un formulaire, pseudo, adresse de site et l'essentiel, différent choix genre de paiement (allopass ou paypal) avec des boutons radio. Et, quand ils choisissent par exemple paypal, cela les renvois sur une page avec le formulaire de paypal et qu'il y ai aussi sur cette page le login d'indiqué et l'adresse du site.

J'espère avoir été le plus clair possible et que quelqu'un pourrait bien sur m'aider.

Merci beaucoup

Cordialement

Vincent
zoneech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 11h11   #2
Membre Expert
 
Avatar de Jumano
 
Inscription : février 2007
Messages : 1 162
Détails du profil
Informations personnelles :
Âge : 43
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : février 2007
Messages : 1 162
Points : 1 369
Points : 1 369
Bonjour,
Tu pourrais déjà commencer par lire la FAQ sur les redirections :
http://php.developpez.com/faq/?page=...ts_redirection
Jumano est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 11h14   #3
Invité de passage
 
Inscription : février 2007
Messages : 48
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 48
Points : 1
Points : 1
Bonjour,

J'ai déjà vu pas mal de site avec des redirections simple comme celle-ci mais pour ma part il s'agirait d'une redirection différente selon la case coché. Donc la je ne vois pas trop.

Merci beaucoup
zoneech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 11h23   #4
Membre Expert
 
Avatar de guigui5931
 
guillaume defrain
Inscription : avril 2006
Messages : 1 667
Détails du profil
Informations personnelles :
Nom : guillaume defrain
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : avril 2006
Messages : 1 667
Points : 2 099
Points : 2 099
Tu peux avoir une page de ce genre
Code :
1
2
3
4
5
 
if (case coché)
header('Location: page1.php');
else
header('Location: page2.php');
__________________
autant l'hiver éclate que l'hétéroclite
le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre
guigui5931 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 11h25   #5
Membre Expert
 
Avatar de Jumano
 
Inscription : février 2007
Messages : 1 162
Détails du profil
Informations personnelles :
Âge : 43
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : février 2007
Messages : 1 162
Points : 1 369
Points : 1 369
Re,
Tu peux faire comme ceci :
Code :
1
2
3
4
5
6
 
<form id="form1" name="form1" method="post" action="">
<input type="radio" name="radio_test" value="paypal" />Paypal
<input type="radio" name="radio_test" value="allopass" />Allopass
<input type="submit" name="button" id="button" value="Envoyer" />
</form>
Ensuite lorsque tu fais le "submit" de ton formulaire tu testes la valeur de la variable qui est transmise et en fonction tu rediriges :
Code :
1
2
3
4
5
6
7
8
9
10
 
<?php
if($_POST['radio_test'] == "paypal") {
je redirige vers la page paypal
}
 
if($_POST['radio_test'] == "allopass") {
je redirige vers la page allopass
}
?>
Essayes de commencer avec ceci ....
Jumano est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 11h25   #6
Invité de passage
 
Inscription : février 2007
Messages : 48
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 48
Points : 1
Points : 1
Oki super merci beaucoup je vais essayer sa mais je met cela au niveau du bouton de validation?

Merci beaucoup

Edit : Merci a tous les deux je penses que sa va aller je vous tiens au courant si sa fonctionne enfin je pense que sa ira. MErci beaucoup
zoneech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 12h00   #7
Invité de passage
 
Inscription : février 2007
Messages : 48
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 48
Points : 1
Points : 1
Bonjour,

Je ne sais pas trop comment tester la valeur du submit la je ne vois pas trop. Pourriez vous mettre un exemple du bouton par exemple s'il vous plait?

Merci beaucoup

Cordialement

Edit : Pourriez vous me faire un exemple par exemple si la case paypal est cocher que cela aille vers : http://site.tld/paypal.php

Merci beaucoup
zoneech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 12h42   #8
Membre Expert
 
Avatar de darkstar123456
 
Inscription : mars 2008
Messages : 1 180
Détails du profil
Informations personnelles :
Âge : 28
Localisation : Belgique

Informations forums :
Inscription : mars 2008
Messages : 1 180
Points : 1 357
Points : 1 357
Envoyer un message via Skype™ à darkstar123456
Si on reprend les noms et valeurs du formulaire de Jumano, ça donne :

Code :
1
2
3
4
5
6
7
8
9
10
 
if( $_POST["radio_test"] == "paypal" ) {
   header("Location: paypal.php"); // redirection vers Paypal
}
elseif( $_POST["radio_test"] == "allopass" ) {
   header("Location: allopass.php"); // redirection vers Allopass
}
else {
   header("Location: formulaire.php"); // aucun des boutons n'a été coché, retour au formulaire
}
darkstar123456 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 12h52   #9
Invité de passage
 
Inscription : février 2007
Messages : 48
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 48
Points : 1
Points : 1
Bonjour,

J'ai fait un test comme ceci mais je reste sur la même page. Meme en cochant une case.
Voici le code :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
if( $_POST["radio_test"] == "paypal" ) {
   header("Location: paypal.php"); // redirection vers Paypal
}
elseif( $_POST["radio_test"] == "allopass" ) {
   header("Location: allopass.php"); // redirection vers Allopass
}
else {
   header("Location: formulaire.php"); // aucun des boutons n'a été coché, retour au formulaire
}
?><html>
 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nouvelle page 1</title>
</head>
 
<body><form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="radio" name="radio_test" value="paypal" />Paypal
<input type="radio" name="radio_test" value="allopass" />Allopass
<input type="submit" name="button" id="button" value="Envoyer" />
</form>
</body>
 
</html>
Ou est-ce qu'il y a un problème qui m'empêche d'aller vers la page svp?

Merci beaucoup
zoneech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 12h56   #10
Membre Expert
 
Avatar de darkstar123456
 
Inscription : mars 2008
Messages : 1 180
Détails du profil
Informations personnelles :
Âge : 28
Localisation : Belgique

Informations forums :
Inscription : mars 2008
Messages : 1 180
Points : 1 357
Points : 1 357
Envoyer un message via Skype™ à darkstar123456
dans ton formulaire tu as :

action=""

en gros, ça veut dire que ça ne fera rien car il ne rechargera même pas la page.
Action doit contenir le nom de la page où se trouve le bout de code que j'ai mis plus haut.

Si tu souhaite garder le bout de code sur la même page, alors écrit :
Code :
action="<?php echo $_SERVER['PHP_SELF']; ?>"
darkstar123456 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 13h15   #11
Membre Expert
 
Avatar de Jumano
 
Inscription : février 2007
Messages : 1 162
Détails du profil
Informations personnelles :
Âge : 43
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : février 2007
Messages : 1 162
Points : 1 369
Points : 1 369
Petite précision il faut également vérifier si la variable existe si ton code PHP est sur la même page avec isset() :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<?php
if(isset($_POST["radio_test"])) {
if( $_POST["radio_test"] == "paypal" ) {
header("Location: paypal.php"); // redirection vers Paypal
}
elseif( $_POST["radio_test"] == "allopass" ) {
header("Location: allopass.php"); // redirection vers Allopass
}
else {
header("Location: formulaire.php"); // aucun des boutons n'a été coché, retour au formulaire
}
}
?>
Jumano est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 13h31   #12
Invité de passage
 
Inscription : février 2007
Messages : 48
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 48
Points : 1
Points : 1
Voila j'ai modifier mon message précédent en ajoutant l'action dans la forme. Maintenant quand je clique sur envoyé sa va vers le lien : http://domaine.tld/<?php%20echo%20$_SERVER['PHP_SELF'];%20?>

Il doit encore y avoir une erreur.
zoneech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 13h52   #13
Membre Expert
 
Avatar de Jumano
 
Inscription : février 2007
Messages : 1 162
Détails du profil
Informations personnelles :
Âge : 43
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : février 2007
Messages : 1 162
Points : 1 369
Points : 1 369
Essayes de modifier comme ceci :

Code :
1
2
 
action="formulaire.php"
Jumano est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 13h58   #14
Invité de passage
 
Inscription : février 2007
Messages : 48
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 48
Points : 1
Points : 1
Ok merci voila parfait sinon si je veux que sa releve le champ login dans la premiere page ou il y a le choix entre allopass et paypal. Une fois qu'il est redirigé vers paypal.php par exemple je veux qu'il y ai marqué bonjour login comment dois-je procédé?

Merci beaucoup
zoneech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 14h16   #15
Membre Expert
 
Avatar de Jumano
 
Inscription : février 2007
Messages : 1 162
Détails du profil
Informations personnelles :
Âge : 43
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : février 2007
Messages : 1 162
Points : 1 369
Points : 1 369
Tu peux procèder comme ceci en passant ta variable dans l'url lors de la redirection :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<?php
if(isset($_POST["radio_test"])) {
if( $_POST["radio_test"] == "paypal" ) {
header("Location: paypal.php?login=".$_POST['login']); // redirection vers Paypal
}
elseif( $_POST["radio_test"] == "allopass" ) {
header("Location: allopass.php?login=".$_POST['login']); // redirection vers Allopass
}
else {
header("Location: formulaire.php"); // aucun des boutons n'a été coché, retour au formulaire
}
}
?>
Ton formulaire :
Code :
1
2
 
<input type="text" name="login" id="login">
Sur ta page de redirection tu récupères ta variable login avec $_GET et non pas $_POST puisque ta varible est transmis dans l'url , ce qui te donne :
Code :
1
2
 
<?php echo "Bonjour".$_GET['login'] ; ?>
Jumano est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 14h41   #16
Invité de passage
 
Inscription : février 2007
Messages : 48
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 48
Points : 1
Points : 1
Oki super merci beaucoup. Et si on veut conserver deux champs comment cela se passe? Je pense cela dois être pareil mais ses au niveau de l'adresse que je ne vois pas trop.

A se niveau la :
header("Location: paypal.php?login=".$_POST['login']); // redirection vers Paypal

Merci beaucoup
zoneech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 14h49   #17
Membre Expert
 
Avatar de Jumano
 
Inscription : février 2007
Messages : 1 162
Détails du profil
Informations personnelles :
Âge : 43
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : février 2007
Messages : 1 162
Points : 1 369
Points : 1 369
Si tu as un deuxième champs "test" par exemple :

Code :
1
2
 
header("Location: paypal.php?login=".$_POST['login']."&test=".$_POST['test']);
Sinon tu as toujours la possibilité d'utiliser les variables de SESSION.
Jumano est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 19h02   #18
Invité de passage
 
Inscription : février 2007
Messages : 48
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 48
Points : 1
Points : 1
Bonsoir,

Encore un besoin d'un petit coup de main. Si je veux que sur la page d'allopass par exemple cela m'envoye un mail me disant que le pseudo vinc par exemple est aller sur la page de d'allopass comment dois-je procéder? Merci beaucoup
zoneech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 19h08   #19
Membre Expert
 
Avatar de Jumano
 
Inscription : février 2007
Messages : 1 162
Détails du profil
Informations personnelles :
Âge : 43
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : février 2007
Messages : 1 162
Points : 1 369
Points : 1 369
Un petit peu de lecture :
http://php.developpez.com/faq/?page=mail#envoi-mail
Jumano est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2008, 20h18   #20
Invité de passage
 
Inscription : février 2007
Messages : 48
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 48
Points : 1
Points : 1
Bonsoir,

Malheureusement même avec ce lien je n'arrive même pas à m'envoyer un mail avec le login. Pourriez vous me dire ou sont les erreurs svp?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
$destinataire = 'vinc@domaine.tld';
// Pour les champs $expediteur / $copie / $destinataire, séparer par une virgule s'il y a plusieurs adresses
$expediteur = 'robot@domaine.tld';
$copie = '';
$copie_cachee = '';
$objet = 'Test'; // Objet du message
$headers  = 'MIME-Version: 1.0' . "\n"; // Version MIME
$headers .= 'Reply-To: '.$expediteur."\n"; // Mail de reponse
$headers .= 'From: "Nom_de_expediteur"<'.$expediteur.'>'."\n"; // Expediteur
$headers .= 'Delivered-to: '.$destinataire."\n"; // Destinataire
$headers .= 'Cc: '.$copie."\n"; // Copie Cc
$headers .= 'Bcc: '.$copie_cachee."\n\n"; // Copie cachée Bcc        
$message = 'Bonjour,
 
Renouvellement du pseudo : <?php echo "".$_GET['login'] ; ?>
commentaire : <?php echo "".$_GET['coms'] ; ?>';
 
 
if (mail($destinataire, $objet, $message, $headers)) // Envoi du message
{
    echo 'Votre message a bien été envoyé ';
}
else // Non envoyé
{
    echo "Votre message n'a pas pu être envoyé";
}
?>
Merci beaucoup
zoneech est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h18.


 
 
 
 
Partenaires

Hébergement Web