FORMULAIRE DE CONTACT MULTICHAMPS

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 9 févr. 2008 à 13:25
mariemrzg Messages postés 1 Date d'inscription samedi 9 janvier 2010 Statut Membre Dernière intervention 7 avril 2010 - 7 avril 2010 à 15:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/45679-formulaire-de-contact-multichamps

mariemrzg Messages postés 1 Date d'inscription samedi 9 janvier 2010 Statut Membre Dernière intervention 7 avril 2010
7 avril 2010 à 15:52
merci beaucoup
ca m'aide beaucoup
cs_votreavenir Messages postés 2 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 16 décembre 2010
2 déc. 2009 à 19:27
Bonsoir à tous,

Voila, je suis desesperé, je suis en train de créer un site de voyance et je souhaiterais savoir si quelqu'un pourrais m'aider à creer un formulaire de contact qui serai variable afin de l'adapter a chacun des voyants. J'ai déja creer le formulaire en HTML mais apres je ne sais pas c'est quoi fair pour recevoir les informations chez moi, je sais que entendu parler d'un Script CGI mais je n'arrive pas à la programmer, si une personne pourrais m'aider à programmer un formulaire qui fonctionne, je lui en serais très reconnaissant, ce modèle me permettrai d'adapter pour mes autres voyants.

Je vous en remercie d'avance.
lyesben Messages postés 1 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 19 février 2009
19 févr. 2009 à 15:34
Il est nul ton code...
dsyann Messages postés 17 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 19 août 2009
17 juil. 2008 à 21:10
salut
je pense que ton code est bien a quelques exceptions pres:
tu pouvais simplifier la plupart des taches via des fontions ou methodes mais la n'est pas l'important.
Tu as en effet charge trop la memoire de variable disant le comme ca redondante:
mettre un post qlq chose dans @var. c la mm chose.
En plus j'aime pas sature mon serveur web ni de donnéee ou quoi que ce soit par des requetes tantot inutil.
J veux dire par la c'est qu'on a pas besoin d'aller envers le serveur web pour verifier la conformite de l'email par exmple: javascript peut le faire. c'est le cas avec des controls sur des champs vides. Ou est passe ces bon codes longs, droles qu'on adorait en javascript. en effet quand nous develloppons pour la maison ca marche mais plus le serveur est attaque faudrait peut etre reflechir a moins surcharge les serveurs, c'est pas une verite absolue mais juste ce que je pense
bil800 Messages postés 13 Date d'inscription lundi 25 juillet 2005 Statut Membre Dernière intervention 24 mars 2008
24 mars 2008 à 12:09
Important!

1- Petite correction dans la ligne $entete "From: ". $mon_mail ."\n il faudra la remplcer par $entete "From: ". $mon_email ."\n

Cela permet d'avoir l'entete exacte du message ;)
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
11 mars 2008 à 07:43
t'as qu'a aller voir leurs sources...
abouselmaa Messages postés 1 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 10 mars 2008
10 mars 2008 à 23:24
nboutron

merci , en lisant les comm des admin je me disait qu'est ce qu'ils racontent en parlant de simplifié sans rien montrer ;(php c'est pas simple lol,,,, on debute normal)
la sa va j'ai pas tout capter la facon de cogiter mais je vois le dieze , sisi

cool
merci tout le monde
nboutron Messages postés 1 Date d'inscription vendredi 14 juillet 2006 Statut Membre Dernière intervention 11 février 2008
11 févr. 2008 à 09:58
Bonjour vicky,
Je crois bien que Socrate disait c'est quand on sait que l'on se rend compte qu'on ne sait pas grand chose. AU fur et à mesure de la progression on se rend compte effectivement qu'en matière de php on peut automatiser beaucoup de choses et obtenir un code plus lisible avec moins de risques d'erreur. Par exemple pour tes ifisset post et leur traitement à répétition, sache que tu peux simplifier avec:
//Le fait d'envoyer un formulaire crée un tableau associatif $cle $valeur - enfin je crois - s'il y a des experts sur le forum, les critiques sont les bienvenues
foreach ($_POST as $cle=>$valeur)
{
// dans le if tu mets tout ce que tu ne veux pas traiter
if ($cle !="date" & $cle !="valider")
//Là c'est le traitement de tes valeurs POST
$valeur=trim(stripslashes($valeur);
}


Tu peux aussi utiliser des fonctions pour te faciliter les formulaires, du type :

//génère un input formaté dans une ligne de tableau - tu mets cette fonction à fin de ton code, ou alors dans une feuille externe où tu rassembles toutes tes fonctions
function input ($intitule,$inputname,$inputvalue,$taille)
{
echo "<tr>
<td width='150' align='left'>$intitule :
</td>
<td width='500' align='left'>
</td>
</tr>";
}
et tu l'appelles comme ça :
input ('email','email',"$email",'50');

Tu peux aussi rajouter les styles dans ta fonction, tout ce que tu veux en fait !!

L'idéal, bien sûr, après c'est de passer en programmation orienté objet (poo) avec PHP5 - mais là moi, je trouve ça un peu dur, je suis autodidacte et je ne me suis mise au PHP que depuis 2 ans et je n'ai pas encore cette logique d'esprit. Il parait que quand on y touche on ne peut plus s'en passer, alors pour le moment je ne fait qu'observer !!

Ah oui, puis je voulais te dire, sur ce forum, les gens qui t'ont répondu sont quand même vachement gentils, parce qu'en général, les informaticiens ils veulent préserver leur pré carré et quand tu leur poses une question, ils te répondent plutot : c'est trop grave de vouloir faire une application professionnelle quand on est aussi débutant et quand on a pas des bases solides ! Et tu peux toujours attendre pour avoir la réponse et je me demande toujours pourquoi ils répondent sur le forum si c'est pas pour aider les débutants ?

Mais c'est vrai ils ont raison les autres, ton code est bien pour aider les débutants, mais il gagnerait à être simplifié. C'est sympa aussi de contribuer à aider les autres en laissant ton code source - Y en a que ça aide.

Et en ce qui me concerne, je ne me prends pas pour Socrate, mais je sais que ce que j'ai écrit n'est pas non plus la panacée (c'est pas bien de faire des tableaux, il faut faire des css et du style !!) - n'empêche que le PHP c'est passionnant et je te conseille vraiment d'y associer les bases de données (Mysql) si ce n'est déjà fait.

Bon courage !!
viki53 Messages postés 31 Date d'inscription samedi 9 février 2008 Statut Membre Dernière intervention 11 septembre 2008
10 févr. 2008 à 13:27
Merci mais là j'ai du mal à utiliser cette fonction, je sais pas pourquoi :s

Eh oui, je suis TREEEES loin de votre niveau :p
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
10 févr. 2008 à 13:19
pour les failles que j'ai mises en evidence, ce sont des XSS du genre :

mysql_query('select ... from table where id='.$_GET['id']);
moi j'injecte un UNION SELECT

une solution : tu verifies si $_GET['id'] est bien un nombre (is_numeric)
viki53 Messages postés 31 Date d'inscription samedi 9 février 2008 Statut Membre Dernière intervention 11 septembre 2008
10 févr. 2008 à 13:15
Je sais que je suis pas nul au sens propre, je rigole (j'adore l'auto dérision :p)

Sinon pour l'aide c'est pas grave, je prends mon temps, mais je vais aller voir sur le forum.

Merci en tout cas et bonne continuation ;)
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
10 févr. 2008 à 13:12
J'ai jamais dit que tu était nul, j'ai juste dit que tu avait des progrès à faire, tout comme tout le monde ici, personne n'est jamais très bon, on a toujours des nouveaux trucs à apprendre (:

Par contre je pourrai pas t'aider, j'ai absolument pas le temps (je l'ai même pas pour moi :/). Mais demande de l'aide sur le forum, tu trouvera peut-etre ce qu'il faut là bas ? :)
viki53 Messages postés 31 Date d'inscription samedi 9 février 2008 Statut Membre Dernière intervention 11 septembre 2008
10 févr. 2008 à 00:08
XD

Oui j'suis bien d'accord

Je sais que je suis ... humm ... nul :D

Mais bon, on fait avec :p

En tout cas si une bonne âme charitable passe par ici et serait d'accord pour m'aider sur mon site merci de me le dire (une bonne raison de tester mon script de contact :p)
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
10 févr. 2008 à 00:05
L'avantage de ta progression (et sa constatation), c'est quand tu relira ce code dans ... un an :p
viki53 Messages postés 31 Date d'inscription samedi 9 février 2008 Statut Membre Dernière intervention 11 septembre 2008
9 févr. 2008 à 22:50
Il faut modifier les lignes 181, 182 et 183 affichées ici.

Ce sont les variables "mon_mail", "mon_url" et "mon_pseudo"

Et voilà

Sinon merci à tous pour vos remarques, j'ai commencé le PHP il y a seulement 3 ou 4 mois, donc je me construit. Je trouve quand même que mon script est pas trop mal :p (à mon avis).

Et pour le hacking du site, je n'y peux rien pour l'instant, je viens de commencer à refaire le système de news, mais j'aurais besoin d'aide :s

Merci à tous
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
9 févr. 2008 à 21:48
http://viki53.free.fr/voir-article.php?news=12%20UNION%20SELECT%201&titre=Des%20bugs%20chez%20Skyrock%20Blog?

ideal pour un site cible d'attaques ! plein de failles, et facile a spammer...

PS: en exploitant ca, on peut extraire un password admin
Utilisateur anonyme
9 févr. 2008 à 20:57
Vous pouvez SVP indiquer les ligne ou il faut faire des changement.... Merci d'avance.
Utilisateur anonyme
9 févr. 2008 à 20:52
Bonjour, SVP aide... je suis debutatn et je ne trouve pas l'endrois ou l'on dois inscrir son email dans le code... svp
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
9 févr. 2008 à 19:11
Yop :)

J'irai dans le sens de Malalam, l'idée qu'il ne faut pas oublier, c'est que Php te permet du dynamisme ; si je te demande un champs en plus ? ou deux en moins, tu fait comment ? Il faut que tu modifie tout ton code rien que pour ca.

Pourquoi ne pas faire un script qui prends en parametre d'entreé les différents champs à afficher (label, type, longueur, message par défaut, etc), et en sortie il va analyser les valeurs entrées, et valider (ou non) le formulaire.

Il faut penser Flexibilité car ton cas ne sera pas forcément celui de la personne en face.

Finalement, il est déconseillé de mettre des superlatifs, Idéal, parfait, ne conviennent jamais pour un code :p (Et si tu regarde, tous les codes avec un "super", "idéal", "meilleur" ne sont pas les meilleurs :p).

En tout cas bon courage pour ta quete du Php :), c'est en faisant des erreurs que l'on progresse, alors courage ! :)
viki53 Messages postés 31 Date d'inscription samedi 9 février 2008 Statut Membre Dernière intervention 11 septembre 2008
9 févr. 2008 à 13:53
Je sais que c'est loin d'être le meilleur de tous!

Mais je le propose car beaucoup de débutants en cherche et que la plupart de ceux que l'on trouve n'ont que 3 ou 4 champs.

Et si je dis qu'il peut servir sur un site pro, j'entend par là un site par exemple pour des petites entreprises ou des petites associations, etc.

En tout cas merci, l'avis d'un pro peut toujours servir pour me fair évoluer. Toute critique ou encouragement est toujours bon à prendre :)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 févr. 2008 à 13:25
Hello,

bon...je vais tâcher d'être le plus objectif possible :
- je suis gêné par tes commentaires "formulaire idéal", "idéal pour un site pro"...il ne faut pas exagérer. Je suis un pro (j'entends par là que le développement web, c'est mon boulot) et les formulaires que je peux avoir sur mes applicatifs web ne ressemblent jamais à ça. Le code est long et n'est lié à rien. Généralement, on a une base de données derrière, et on condense le code en se basant sur les champs de notre bdd. Il faut savoir rester modeste.
- des formulaires de ce type, on en trouve des tonnes que ce soit sur ce site, ou sur le net en général.
- tu as fait un effort évident sur le html et sur la sécurisation...sauf que ta sécurisation n'est que très partielle. Il n'y a rien de dangereux dans ce formulaire puisqu'on ne fait que le poster par email. Sauf qu'on peut facilement te spammer avec, par exemple.
- tu ne gères qu'une seule erreur à la fois.
- les champs non obligatoires ne sont pas vérifiés : on peut saisir n'importe quoi dans le champ téléphone, ou code postal.
- le php est vieillot ou mal optimisé : des " quand des ' suffisent (gain de place, et de rapidité), assignations de variables inutiles ($nom = $_POST["nom"] : pour quoi faire au juste ? A part doubler le volume de tes variables en mémoire ?

Bref, ton code n'est pas mauvais : simplement, il n'a rien d'un code pour professionnels, et rien d'idéal non plus. C'est par contre un bon code pour grands débutants : il est meilleur dans son genre que bien d'autres. Mais il est loin d'être idéal.