Comment recolter des info vennant d'un formul

Richi -  
 richi -
Slu,

Je débute en PHP, et cherche un moyen pour pouvoir récolter des information rempli dans un formulaire HTML . En faite il s’agit d’un simple formulaire de vote. Ma question c’est ou vont les résultats ??

<td><form name="form1" method="post" action="">
<select name="select">
<option>Instrus 1</option>
<option>Instrus 2</option>
<option>Instrus 3</option>
</select>
<input type="radio" name="radiobutton" value="radiobutton">
</form></td>
<td><form name="form4" method="post" action="">
</form></td>
</tr>
<tr>
<td><strong><font color="#333333" size="1" face="Verdana, Arial, Helvetica, sans-serif">Les
Themes:</font></strong></td>
<td> </td>
</tr>
<tr>
<td><form name="form2" method="post" action="">
<select name="select2">
<option>Theme 1</option>
<option>Theme 2</option>
<option>Theme 3</option>
</select>
<input type="radio" name="radiobutton" value="radiobutton">
</form></td>

Merci D’avance.
A voir également:

23 réponses

ben
 
quand tu ecris name =" mon_nom " CELA est stocké dans la variable $mon_nom. Ensuite dans le script "mon_script.php" ( ACTION = "mon_script.php" ) tu peux tout simplement t'amuser avec tes variable et faire par ex print $nom si tu as donné ue valeur a celle-ci dans ton formulaire... SI tu veux, ya isset($ma_var) qui retourne vrai si t'a donné une valeur a celle-ci
0
richi
 
merci de ta réponse,

le problème c que je débute vraiment en PHP jai simplement pigé le principe mais jamais mis en application.
Donc si tu a le temps de m'expliquer ou de donner un expl crais cool.

gracias.
0
AsKy Messages postés 1003 Statut Contributeur 65
 
salut!

lorsque que tu insère une form dans une page html, la méthode par défaut est GET, elle est appliquée si tu ne précise rien.
avec get les variables et leurs valeurs sont visibles dans l'url, tu devrais donc laisser get pour commencer tu pourras plus facilement faire des tests.

le second argument de form est action qui définit la page a qui passer les les variables.
tu dois donc obligatoirement mettre qqchose, par ex:
action="/scripts/script1.php"

ensuite lorsque tu insère des objets avec input, tu leur donne un nom, par exemple:
<input type="text" name="test">
ce nom sera visible dans l'url sous la forme:
www.monsite.fr/scripts/script1.php?test=abcd

dans script1.php, tu auras une variable $test qui aura la valeur "abcd", soit ce qui a été entré dans la zone de texte "test".

n'oublies pas non plus le bouton submit qui permet d'envoyer le formulaire!
<input type="submit" value="Envoyer">

j'espere avoir été clair...

Lord AsKy
Keep smiling !
0
richi
 
merci, pour ton aide je crois avoir réussi la partie HTML, reste plus q'a écrire le scripte en PHP qui recolteras les info.

le formulaire donne qq'chose dans ce style la:

<form action="script???" method="get" enctype="text/plain">
<p><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Instrus 1
<input name="voteinstrus" type="radio" value="instrus1">
Theme 1</font>
<input type="radio" name="votetheme" value="theme1">
</font></p>
<p><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Instrus 2
<input type="radio" name="voteinstrus" value="instrus2"> Theme 2
<input type="radio" name="votetheme" value="theme2">
</font></p>
<p> <font size="1" face="Verdana, Arial, Helvetica, sans-serif">Instrus
3
<input type="radio" name="voteinstrus" value="instrus3">
Theme 3
<input type="radio" name="votetheme" value="theme3">
</font></p>
<p>
<input type="submit" name="Submit" value="vote">
</p>
</form>

As tu une idee pour le script PHP ??
ENCORE MERCI POUR TON AIDE!!!
0
AsKy Messages postés 1003 Statut Contributeur 65
 
salut ,
maintenant la partie html a l'air correcte (a part la valeur de 'action', mais je suppoe que c'est fait expres)
quels erreurs as tu asvec le script php?

Lord AsKy
Keep smiling !
0
Ricardo
 
salut,

En fait j'ai reussi a faire afficher le contenue du formulaire, mais mon souci c'est d'enfaite pouvoir recevoir le resultats du form dans ma mailbox, tu peux m'aider pour ca? MERCI ENCORE!!!

voici le code html pour le form et le script en PHP:

<form action="resultatstest.php" method="get" enctype="text/plain">
<p><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Instrus 1
<input name="voteinstrus" type="radio" value="instrus1">
Theme 1</font>
<input type="radio" name="votetheme" value="theme1">
</font></p>
<p><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Instrus 2
<input type="radio" name="voteinstrus" value="instrus2"> Theme 2
<input type="radio" name="votetheme" value="theme2">
</font></p>
<p> <font size="1" face="Verdana, Arial, Helvetica, sans-serif">Instrus
3
<input type="radio" name="voteinstrus" value="instrus3">
Theme 3
<input type="radio" name="votetheme" value="theme3">
</font></p>

<p>
<input type="submit" name="Submit" value="vote">
</p>
</form>

----------------------------------
<?php
//Récupération des Résultats
$voteinstrus = $_GET["voteinstrus"];
$votetheme = $_GET["votetheme"];
print("<right>Resultats du vote ---> $voteinstrus $votetheme </right>");
?>
0

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

Posez votre question
AsKy Messages postés 1003 Statut Contributeur 65
 
la comande php pour envoyer des emails est mail(), prototype:
bool  mail ( string   to  , string   subject  , string   message  , string   additional_headers  , string   additional_parameters  )

exemple:
mail("AsKy@asky.net", "Hello", "Bonjour,\nvoici les resultats du vote:\n$voteinstrus $votetheme\nAsKy");
les \n équivalent a un retour chariot (crlf), les 2 derniers parametres sont optionnels; mail() renvoie true si le mail a été correctement envoyé, false en ca d'erreur.

par contre, elle est tres souvent bloquée par les hébergeurs gratuits, pour des raisons de sécurité (fake mail);pour ma part je n'en connais qu'un qui l'autorise.

qui est ton hébergeur?

Lord AsKy
Keep smiling !
0
Richi
 
slu encore my,

Pour le moment je ne serais pas te donner le nom de l'hebergeur (c'est mon compadre qui s'occupe de ca mais ils est en vacances ... fait chier!)
Je peux te dire que j'utilise easyPHP (Un server apache et Mysql, si j'ai tout pigé??) pour les testes.

J'ai ajouter la commande, mais ca marche po! --> Warning: Unexpected character in input: '\' (ASCII=92) state=1 in d:\program files\easyphp\www\project1\resultatstest.php on line 13
Parse error: parse error, unexpected T_STRING in d:\program files\easyphp\www\project1\resultatstest.php on line 13

--> le code: (je dois laisser la commande print???)
<?php
//Récupération des Résultats
$voteinstrus = $_GET["voteinstrus"];
$votetheme = $_GET["votetheme"];
$nom = $_GET["nom"];
print("<right>Resultats du vote ---> $voteinstrus $votetheme $nom </right>");
mail("teekilla@hotmail.com", "resultat du vote", \nvoici les resultats due vote: \n$voteinstrus $votetheme \nAsKy");
?>
0
AsKy Messages postés 1003 Statut Contributeur 65
 
print n'est pas obligatoire.

a quoi correspond la ligne 13? ton code php ne fait que 8 lignes ?!
on dirait que tu as mis qqpart le caractère antislash queqlque part et que php n'a pas appécié.
Vérifie qu'il n'est pas non plus dans une variable.
php est tres susceptible avec certains caractères (les accents en particulier)

Lord AsKy
Keep smiling !
0
richi
 
slu!

attend voici le code complets, avec l'erreur dans le script.

<html>
<head>
<title>Résultats du vote</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
//Récupération des Résultats
$voteinstrus = $_GET["voteinstrus"];
$votetheme = $_GET["votetheme"];
$nom = $_GET["nom"];
print("<right>Ton vote a été enovoyer avec succes. Merci pour ta participation.</right>");
mail("teekilla@hotmail.com", "resultat du vote", voici les resultats, $voteinstrus, $votetheme, $nom");
?>
</body>
</html>

Parse error: parse error, unexpected T_STRING in d:\program files\easyphp\www\script\resultatstest.php on line 13

(line13 correspond a la ligne mail )

merci
0
AsKy Messages postés 1003 Statut Contributeur 65
 
il manque des guillemets dans le 3e argument de mail() :-)
mail("teekilla@hotmail.com", "resultat du vote", "voici les resultats, $voteinstrus, $votetheme, $nom");


Lord AsKy
Keep smiling !
0
AsKy Messages postés 1003 Statut Contributeur 65
 
ps : dis moi si ca marche!

Lord AsKy
Keep smiling !
0
richi
 
non :-( la j'ai ca comme erreur :

Parse error: parse error, unexpected '\"' in d:\program files\easyphp\www\script\resultatstest.php on line 13

<html>
<head>
<title>Résultats du vote</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
//Récupération des Résultats
$voteinstrus = $_GET["voteinstrus"];
$votetheme = $_GET["votetheme"];
$nom = $_GET["nom"];
print("<right>Ton vote a été enovoyer avec succes. Merci pour ta participation.</right>");
mail("teekilla@hotmail.com", "resultat du vote", "voici les resultats", $voteinstrus, $votetheme, $nom");
?>
</body>
</html>
0
richi
 
tu crois que l'adresse email pourrais en etre pour qq chose?
0
AsKy Messages postés 1003 Statut Contributeur 65
 
essaie de changer les guillemets doubles (") par des guillemets simples (') dans différents endroits (remarque : je dis ca un peu au hasard, mais sur google les problemes que j'ai trouvés venaient souvent de qqchose comme ca)

ca m'étonnerait que l'@ email provoque une erreur puisqu'apparement il n'a meme pas le tps d'envoyer le mail.

Lord AsKy
Keep smiling !
0
AsKy Messages postés 1003 Statut Contributeur 65
 
attends, je viens de m'en apercevoir, tu as pas mis
mail("teekilla@hotmail.com", "resultat du vote", "voici les resultats, $voteinstrus, $votetheme, $nom");
(post 11)
mais
mail("teekilla@hotmail.com", "resultat du vote", "voici les resultats", $voteinstrus, $votetheme, $nom");

ca en fait un de trop :-)

Lord AsKy
Keep smiling !
0
richi
 
haha! je crois q'on brulll...

Ton vote a été envoyer avec succes. Merci pour ta participation.
Warning: Failed to Connect in d:\program files\easyphp\www\script\resultatstest.php on line 13
0
richi
 
<html>
<head>
<title>Résultats du vote</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
//Récupération des Résultats
$voteinstrus = $_GET["voteinstrus"];
$votetheme = $_GET["votetheme"];
$nom = $_GET["nom"];
print("<right>Ton vote a été envoyer avec succes. Merci pour ta participation.</right>");
mail("rmsolar@mail.mobistar.be", "resultat du vote", "voici les resultats, $voteinstrus, $votetheme, $nom");
?>
</body>
</html>
0
AsKy Messages postés 1003 Statut Contributeur 65
 
oui ca chauffe :-)
tu as un firewall?
as tu autorisé l'interpréteur php à aller sur internet?

Lord AsKy
Keep smiling !
0
richi
 
non j'ai pas de firewall sur mon pc.

normalement rien devrait me blocker les ports..
0
AsKy Messages postés 1003 Statut Contributeur 65
 
essaie d'envoyer a une autre adresse email (je te prete la mienne :-)

Lord AsKy
Keep smiling !
0
richi
 
toujours rien :-( encore cette ligne "13" de malheur!!!

Ton vote a été envoyer avec succes. Merci pour ta participation.
Warning: Failed to Connect in d:\program files\easyphp\www\script\resultatstest.php on line 13

<html>
<head>
<title>Résultats du vote</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
//Récupération des Résultats
$voteinstrus = $_GET["voteinstrus"];
$votetheme = $_GET["votetheme"];
$nom = $_GET["nom"];
print("<right>Ton vote a été envoyer avec succes. Merci pour ta participation.</right>");
mail("first3132@yahoo.fr", "resultat du vote", "voici les resultats, $voteinstrus, $votetheme, $nom");
?>
</body>
</html>
0