Précédent   Forum du club des développeurs et IT Pro > Webmasters - Développement Web > Général Conception Web
Général Conception Web Forum d'entraide sur les choix technologiques. Avant de poster : Cours Dév. Web, FAQs Dév. Web, Sources Dév. Web
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 28/11/2012, 23h52   #1
puce_84
Membre actif
 
Inscription : juin 2004
Messages : 815
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 815
Points : 178
Points : 178
Par défaut Formulaires, form, get, post et tout le bazard

Bonjour,

J'ai fait un "joli" (notez les guillemets) petit site.
Tout marche bien mais maintenant j'attaque le côté vraiment "méchant". Tout ce qui est formulaires.
En fait sur une page j'ai plusieurs champs et deux bouton "envoyer" et "annuler" sur une autre page j'ai un seul champs et juste un bouton "envoyer".

Je voudrais pour la page avec plusieurs champs envoyer les infos à une adresse mail.

Pour l'autre j'aimerais remplir une table de BD chez mon hébergeur.

Dans un cas comme dans l'autre je n'ai pas trop d'idées de comment on fait.

Quelqu'un pourrait me dire quel est le bon tuto pour commencer ? ou me conseiller pour arriver à quelque chose de simple et fonctionnel ?

Merci.
puce_84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2012, 08h20   #2
Bovino
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 18 135
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 42
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 18 135
Points : 64 929
Points : 64 929
T'as la flemme de chercher par toi-même...

http://php.developpez.com/cours/?pag...ge#formulaires
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2012, 15h48   #3
puce_84
Membre actif
 
Inscription : juin 2004
Messages : 815
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 815
Points : 178
Points : 178
La flemme non mais je ne sais jamais trop vers quoi allez !
Il y a tellement...
puce_84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2012, 23h26   #4
puce_84
Membre actif
 
Inscription : juin 2004
Messages : 815
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 815
Points : 178
Points : 178
C'est pas de la tarte

Bon j'ai fait un truc super basic et ça marche déjà pas

Voila mon p'tit code :

Code html :
1
2
3
4
5
6
7
8
9
10
11
<p>&nbsp;</p>
<table width="1150" border="0" align="center">
  <tr>
    <td width="2000" align="center">
      <FORM METHOD=POST ENCTYPE="text/plain" ACTION="mailto:info@espaceimagi.be"> 
<PRE>
    Votre nom : <INPUT NAME=Nom size=30><input type=SUBMIT value=Envoyer /><input type=RESET value=Effacer />
</PRE>
</FORM></td>
  </tr>
  <tr>

Et chaque fois que je fais Envoyer j'ai Internet explorer qui plante !
puce_84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2012, 23h53   #5
puce_84
Membre actif
 
Inscription : juin 2004
Messages : 815
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 815
Points : 178
Points : 178
Avec Chrome ca marche mais ca me plait pas parce que ça ouvre Outlook.
Du coup j'ai essayé autre chose !
Ce code dans ma page :
Code html :
1
2
3
4
5
6
    <td width="2000" align="center"><form method="post" action="mailphp.php">
   <input type="text" maxlength="120" size="25" name="sujet" title="sujet" value="" alt="Ici le sujet" />
 <input type="submit" title="valider" alt="valider le formulaire" value="Valider !" />
 </form>
     <FORM METHOD=POST ENCTYPE="text/plain" ACTION="mailphp.php"> 
</FORM></td>

Et j'ai fait une autre page qui s'appel mailphp.php et qui contient ceci :
Code php :
1
2
3
4
5
6
7
8
<title>Document sans titre</title>
</head>
<body>
<?php
mail($_POST["info@espaceimagi.be"], $_POST[sujet], $_POST[message]); 
?>
</body>
</html>
.

Là plus de plantage mais pas l'ombre d'un mail à l'horizon...
puce_84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2012, 12h08   #6
Vil'Coyote
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 701
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 701
Points : 5 383
Points : 5 383
évite de mettre 36 fois les balises form.
évite le postionnement de données avec table
et sort les balise form de ta table.

Citation:

<form method="post" action="mailphp.php">
<input type="text" maxlength="120" size="25" name="sujet" title="sujet" value="" alt="Ici le sujet" />
<input type="submit" title="valider" alt="valider le formulaire" value="Valider !" />
</form>
<FORM METHOD=POST ENCTYPE="text/plain" ACTION="mailphp.php">
</FORM>
pour ce qui est du mail,
as tu essayé au moins d'afficher les données dans ta page avant de partir sur de l'envoi?

$_POST["info@espaceimagi.be"] ne risque pas de marché, $_POST["machintruc"] sert à récupérer la valeur contenu dans l'en tête POST dans la variable machintruc.

tu test ton sript php en local ou sur un hébergeur? si c'est en local ça risque aps de partir tu ne dispose pas de serveur smtp. il faudra configurer le php.ini pour utiliser un serveur smtp autre que ton pc (éventuellement celui de ton provider).
__________________
la vie n'est pas cirrhose des foies ...
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2012, 13h27   #7
puce_84
Membre actif
 
Inscription : juin 2004
Messages : 815
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 815
Points : 178
Points : 178
Non Non j'ai essayé de mettre ça chez mon hébergeur et puis de tester...
Par contre je ne pige vraiment pas le principe de l'envoi.

J'ai compris (je crois) qu'il faut sur la page du formulaire avoir des champs (ou autres inputs) qu'on rempli et puis on envoi le contenu avec post vers une autres page PHP. Ensuite c'est cette autre page qui reçois ce contenu, qui le met éventuellement en forme et l'envoi sur une adresse mail.

Est ce bien ça ?

Si oui pourrais tu me montrer juste un bout de code avec un champs et un bouton et un bout de code avec juste la commande d'envoi.

En fait c'est surtout l'envoi que je ne comprends pas bien comment il marche...

Merci :-)
puce_84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2012, 17h23   #8
bob633
Membre Expert
 
Homme Aurélien VDC
Développeur .NET / Biztalk
Inscription : octobre 2008
Messages : 980
Détails du profil
Informations personnelles :
Nom : Homme Aurélien VDC
Âge : 25
Localisation : France, Pyrénées Atlantiques (Aquitaine)

Informations professionnelles :
Activité : Développeur .NET / Biztalk

Informations forums :
Inscription : octobre 2008
Messages : 980
Points : 1 498
Points : 1 498
les $_POST["value"] contiennent le value du name de tes input.

Si tu as un <input name="toto" /> alors ton $_POST sera $_POST["toto"] pour récupérer sa valeur.

Dans ton cas :
Code html :
1
2
3
4
5
<form method="post" action="mailphp.php">
   <input type="text" maxlength="120" size="25" name="sujet" title="sujet" value="" alt="Ici le sujet" />
   <textarea name="message" rows="5" cols="20"></textarea>
   <input type="submit" title="valider" alt="valider le formulaire" value="Valider !" />
</form>

Tu avais oublié le champs pour le message nom ? J'ai ajouté un textarea pour ça.

Ensuite, la fonction mail, pour le mail met là en dur :
Code php :
1
2
3
<?php
    mail("info@espaceimagi.be", $_POST["sujet"], $_POST["message"]); 
?>

Par contre, lis les tutos sur la sécurité, car là ...
__________________
Règle N° 1 : Si tout va bien, ne touchez à rien.

Je ne réponds pas au MP technique, inutile donc de poser vos questions. Le forum est là pour ça
bob633 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2012, 17h41   #9
Bovino
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 18 135
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 42
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 18 135
Points : 64 929
Points : 64 929
@puce_84 : vu la façon dont tu écris ton code et les erreurs que tu commets, je te conseille encore une fois vivement de reprendre les bases des langages HTML et PHP (au minimum...) sinon, tu ne t'en sortiras jamais !
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2012, 00h29   #10
puce_84
Membre actif
 
Inscription : juin 2004
Messages : 815
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 815
Points : 178
Points : 178
Merci Bovino, je comprends pourquoi tu dis ça mais je suis réfractaire à une certaine manière d'apprendre et vu que mes aspirations ne sont pas pro finalement tout ça n'est pas bien grave...
Ceci étant dit je lis ce que je peux quand je peux :-)


Pour ce qui est de mon formulaire je comprends mieux avec cet exemple simple... a ma partée

Pour ce qui est de la sécurité je comprends ce qui peut être fait mais je ne comprends pas en pratique le risque.

Imaginons (c'est le cas) que je veux juste faire sur mon site une case ou les gens mettent un chiffre de 1 à 10 et me l'envoi.
Quel est le risque si je fais un truc pas sécurisé du tout ?

Et en tous cas un tout grand merci à toi BOB663 pour ton aide très didactique
puce_84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2012, 13h36   #11
transgohan
Expert Confirmé
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Développeur Temps réel Embarqué
Inscription : janvier 2011
Messages : 1 297
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Développeur Temps réel Embarqué

Informations forums :
Inscription : janvier 2011
Messages : 1 297
Points : 2 877
Points : 2 877
Citation:
Envoyé par puce_84 Voir le message
Imaginons (c'est le cas) que je veux juste faire sur mon site une case ou les gens mettent un chiffre de 1 à 10 et me l'envoi.
Quel est le risque si je fais un truc pas sécurisé du tout ?
Qu'un petit malin rentre 11 ?
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/12/2012, 18h18   #12
XxArchangexX
Modérateur
 
Avatar de XxArchangexX
 
Homme Fabien
Conseil - Consultant en systèmes d'information
Inscription : mars 2012
Messages : 842
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Communication - Médias

Informations forums :
Inscription : mars 2012
Messages : 842
Points : 1 714
Points : 1 714
J'aime bien l'image du 11 .

il y a plusieurs faille de sécurité possible à ouvrir un flux d'information sur un site. Par exemple, si ton champ a un lien avec la base de données, tu risques de l'SQL injection :

http://fr.wikipedia.org/wiki/Injection_SQL

Ou si tu passes tes données en get, il ne faut pas passer des données critique sinon les personnes qui maitrisent un minimum ou qui sont curieuses peuvent les changer ou alors il faut les crypter.

Il doit être possible de faire des exécutions de script aussi.
__________________
La solution ça se passe entre vous et google, moi je me charge de faire les présentations .

Modérateur BI
XxArchangexX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2012, 01h28   #13
puce_84
Membre actif
 
Inscription : juin 2004
Messages : 815
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 815
Points : 178
Points : 178
Ouai c'est bien ce que je pensais. Le pauvre perdu que je suis avec un site totalement sans intérêt pour 99 % des gens et qui ne contient aucune donnée ni aucun BD n'a absolument rien à craindre. Non pas qu'il soit sécurisé mais simplement parceque a quoi bon fermer la porte à clef quand la maison est vide...

Et si quelqu'un m'envoi 11 et ben je recevrai 11 ou 12 ou 13 et je me dirai juste bon ben ce con la a rien compris et je foutrai son mail à la poubelle. Je pourrais même faire une règle Outlook pour que ça se fasse tout seul :-)
puce_84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2012, 10h18   #14
XxArchangexX
Modérateur
 
Avatar de XxArchangexX
 
Homme Fabien
Conseil - Consultant en systèmes d'information
Inscription : mars 2012
Messages : 842
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Communication - Médias

Informations forums :
Inscription : mars 2012
Messages : 842
Points : 1 714
Points : 1 714
Bonjour,

Tu t'entraine donc c'est une vision qui se défend, mais si tu continues dans le développement de site ou d'application cliente, il y a une règle d'or, toujours prendre l'utilisteur pour "un abruti" qui fera tout sauf ce que tu veux qu'il fasse, il faut donc le contrôler ou l'orienter dans la bonne direction.

Bon courage pour la suite .
__________________
La solution ça se passe entre vous et google, moi je me charge de faire les présentations .

Modérateur BI
XxArchangexX est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/12/2012, 11h03   #15
bob633
Membre Expert
 
Homme Aurélien VDC
Développeur .NET / Biztalk
Inscription : octobre 2008
Messages : 980
Détails du profil
Informations personnelles :
Nom : Homme Aurélien VDC
Âge : 25
Localisation : France, Pyrénées Atlantiques (Aquitaine)

Informations professionnelles :
Activité : Développeur .NET / Biztalk

Informations forums :
Inscription : octobre 2008
Messages : 980
Points : 1 498
Points : 1 498
Tu peux aussi faire une liste déroulante de 1 à 10 pour limiter l'insertion d'autres valeurs.

Code html :
1
2
3
4
5
<select name="toto">
   <option value="1">1</option>
   ...
   <option value="10"></option>
</select>

Et dans ta page tu récupères la valeur de la même façon $_POST['toto'].

Tu peux rajouter un léger traitement de vérifier si l'utilisateur à bien selectionner une valeur avec
Code php :
!empty($_POST['toto']) { // Ton traitement } else { // L'utilisateur est couillon, valeur vide }
__________________
Règle N° 1 : Si tout va bien, ne touchez à rien.

Je ne réponds pas au MP technique, inutile donc de poser vos questions. Le forum est là pour ça
bob633 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2012, 13h14   #16
transgohan
Expert Confirmé
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Développeur Temps réel Embarqué
Inscription : janvier 2011
Messages : 1 297
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Développeur Temps réel Embarqué

Informations forums :
Inscription : janvier 2011
Messages : 1 297
Points : 2 877
Points : 2 877
Quitte à tester autant faire :
Code php :
if( isSet($_POST['toto']) && filter_var($_POST['toto'], FILTER_VALIDATE_INT, array('option' => array( 'min_range' => 1, 'max_range' => 10)) )
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2012, 23h45   #17
puce_84
Membre actif
 
Inscription : juin 2004
Messages : 815
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 815
Points : 178
Points : 178
Merci les gars, franchement là j'ai bien progressé Grace à vous.

Je tiens tout de même à en rassurer certain je ne serai JAMAIS un vrai développeur de site ou de quoi que ce soit d'ailleurs. Je bidouille un peu pour faire des petits sites amateurs pour mes artistes débutants mais dès qu'ils deviennent un peu connus (et donc payés) on investira alors dans un vrai site fait par des vrais webdesigners, de vrais graphistes, etc...
puce_84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h53.


 
 
 
 
Partenaires

Hébergement Web