Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 17 sur 17
  1. #1
    Membre régulier
    Homme Profil pro Denis Ferdon
    aux études mais 40 ans
    Inscrit en
    juin 2004
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Nom : Homme Denis Ferdon
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : juin 2004
    Messages : 1 116
    Points : 98
    Points
    98

    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.

  2. #2
    Responsable Développement Web

    Avatar de Bovino
    Homme Profil pro Didier Mouronval
    Développeur Web
    Inscrit en
    juin 2008
    Messages
    22 413
    Détails du profil
    Informations personnelles :
    Nom : Homme Didier Mouronval
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : juin 2008
    Messages : 22 413
    Points : 87 159
    Points
    87 159
    Billets dans le blog
    4

    Par défaut

    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 !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre régulier
    Homme Profil pro Denis Ferdon
    aux études mais 40 ans
    Inscrit en
    juin 2004
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Nom : Homme Denis Ferdon
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : juin 2004
    Messages : 1 116
    Points : 98
    Points
    98

    Par défaut

    La flemme non mais je ne sais jamais trop vers quoi allez !
    Il y a tellement...

  4. #4
    Membre régulier
    Homme Profil pro Denis Ferdon
    aux études mais 40 ans
    Inscrit en
    juin 2004
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Nom : Homme Denis Ferdon
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : juin 2004
    Messages : 1 116
    Points : 98
    Points
    98

    Par défaut

    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 !

  5. #5
    Membre régulier
    Homme Profil pro Denis Ferdon
    aux études mais 40 ans
    Inscrit en
    juin 2004
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Nom : Homme Denis Ferdon
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : juin 2004
    Messages : 1 116
    Points : 98
    Points
    98

    Par défaut

    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...

  6. #6
    Modérateur
    Avatar de Vil'Coyote
    Profil pro
    Développeur Web
    Inscrit en
    février 2008
    Messages
    3 998
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : février 2008
    Messages : 3 998
    Points : 5 873
    Points
    5 873

    Par défaut

    évite de mettre 36 fois les balises form.
    évite le postionnement de données avec table
    et sort les balise form de ta table.


    <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 ...

  7. #7
    Membre régulier
    Homme Profil pro Denis Ferdon
    aux études mais 40 ans
    Inscrit en
    juin 2004
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Nom : Homme Denis Ferdon
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : juin 2004
    Messages : 1 116
    Points : 98
    Points
    98

    Par défaut

    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 :-)

  8. #8
    Membre Expert
    Homme Profil pro Aurélien VDC
    Développeur .NET / Biztalk
    Inscrit en
    octobre 2008
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Nom : Homme Aurélien VDC
    Âge : 26
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : octobre 2008
    Messages : 1 044
    Points : 1 637
    Points
    1 637

    Par défaut

    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

  9. #9
    Responsable Développement Web

    Avatar de Bovino
    Homme Profil pro Didier Mouronval
    Développeur Web
    Inscrit en
    juin 2008
    Messages
    22 413
    Détails du profil
    Informations personnelles :
    Nom : Homme Didier Mouronval
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : juin 2008
    Messages : 22 413
    Points : 87 159
    Points
    87 159
    Billets dans le blog
    4

    Par défaut

    @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 !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  10. #10
    Membre régulier
    Homme Profil pro Denis Ferdon
    aux études mais 40 ans
    Inscrit en
    juin 2004
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Nom : Homme Denis Ferdon
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : juin 2004
    Messages : 1 116
    Points : 98
    Points
    98

    Par défaut

    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

  11. #11
    Expert Confirmé Sénior
    Avatar de transgohan
    Homme Profil pro Baptiste ROUSSEL
    Développeur Temps réel Embarqué
    Inscrit en
    janvier 2011
    Messages
    1 766
    Détails du profil
    Informations personnelles :
    Nom : Homme Baptiste ROUSSEL
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : janvier 2011
    Messages : 1 766
    Points : 4 791
    Points
    4 791

    Par défaut

    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.

  12. #12
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro Fabien
    Conseil - Consultant en systèmes d'information
    Inscrit en
    mars 2012
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Nom : Homme Fabien
    Âge : 27
    Localisation : France

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

    Informations forums :
    Inscription : mars 2012
    Messages : 1 140
    Points : 2 407
    Points
    2 407

    Par défaut

    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.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  13. #13
    Membre régulier
    Homme Profil pro Denis Ferdon
    aux études mais 40 ans
    Inscrit en
    juin 2004
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Nom : Homme Denis Ferdon
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : juin 2004
    Messages : 1 116
    Points : 98
    Points
    98

    Par défaut

    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 :-)

  14. #14
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro Fabien
    Conseil - Consultant en systèmes d'information
    Inscrit en
    mars 2012
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Nom : Homme Fabien
    Âge : 27
    Localisation : France

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

    Informations forums :
    Inscription : mars 2012
    Messages : 1 140
    Points : 2 407
    Points
    2 407

    Par défaut

    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 .
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  15. #15
    Membre Expert
    Homme Profil pro Aurélien VDC
    Développeur .NET / Biztalk
    Inscrit en
    octobre 2008
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Nom : Homme Aurélien VDC
    Âge : 26
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : octobre 2008
    Messages : 1 044
    Points : 1 637
    Points
    1 637

    Par défaut

    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

  16. #16
    Expert Confirmé Sénior
    Avatar de transgohan
    Homme Profil pro Baptiste ROUSSEL
    Développeur Temps réel Embarqué
    Inscrit en
    janvier 2011
    Messages
    1 766
    Détails du profil
    Informations personnelles :
    Nom : Homme Baptiste ROUSSEL
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : janvier 2011
    Messages : 1 766
    Points : 4 791
    Points
    4 791

    Par défaut

    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.

  17. #17
    Membre régulier
    Homme Profil pro Denis Ferdon
    aux études mais 40 ans
    Inscrit en
    juin 2004
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Nom : Homme Denis Ferdon
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : juin 2004
    Messages : 1 116
    Points : 98
    Points
    98

    Par défaut

    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...

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •