IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Formulaire livre d'or


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 132
    Points : 69
    Points
    69
    Par défaut Formulaire livre d'or
    j'ai fait un formulaire pour un livre d'or mais il est pas sécurisé pour un sou.
    je décide de mettre un captcha venant du site captcha.fr

    voici le code de ma page formulaire.php puis celle de la page ajouter.php qui incorpore les données

    le soucis c'est que le formulaire ne vérifie pas la cohérence entre l'image du captcha et le texte que je tape. du coup il insère quand même les infos donc sécurité=0

    code de formulaire.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    <?php 
    $cryptinstall="./crypt/cryptographp.fct.php";
    include $cryptinstall;  
    ?>
    <?
    //// On inclut le fichier de connexion à la base SQL ////
     
    echo "<html> \n";
    echo "<head> \n";
    echo "<script language=\"JavaScript\" type=\"text/javascript\"> \n";
    echo "function smiley(ajj) \n";
    echo "{ \n";
    echo "document.form.message.value+=ajj; \n";
    echo "} \n";
    echo "</script> \n";
     
    //// On inclut le fichier de connexion à la base SQL ////
     
    include("inc/connect.php");
     
    echo "<title>Livre d'or - Index</title> \n";
    echo "</head> \n";
    echo "<body> \n";
    echo "<form name=\"form\" method=\"post\" action=\"ajouter.php?SID\">";
    echo "<table border=\"0\" align=\"center\" cellpadding=\"2\" cellspacing=\"1\" width=\"400\"> \n";
    echo " <tr>\n";
    echo "     <td colspan=\"2\" class=\"row_1\"> \n";
    echo "         <b>Poster un commentaire sur le livre d'or</b> \n";
    echo "     </td> \n";
    echo " </tr> \n";
    echo " <tr>\n";
    echo "     <td class=\"row_2\"> \n";
    echo "         <b>Auteur :</b> \n";
    echo "     </td>\n";
    echo "     <td class=\"row_2\"> \n";
    echo "         <input type=\"text\" name=\"auteur\" class=\"input1\"><font color=red>*</font> \n";
    echo "     </td>\n";
    echo " </tr>\n";
    echo " <tr>\n";
    echo "     <td class=\"row_2\"> \n";
    echo "         <b>Email :</b> \n";
    echo "     </td>\n";
    echo "     <td class=\"row_2\"> \n";
    echo "         <input type=\"text\" name=\"email\" class=\"input1\"><font color=red>*</font> \n";
    echo "     </td> \n";
    echo " </tr> \n";
    echo " <tr> \n";
    echo "     <td valign=\"top\" class=\"row_2\"> \n";
    echo "     </td> \n";
    echo "     <td valign=\"top\" class=\"row_2\"> \n";
    echo "         <b>Commentaire :</b><br> \n";
    echo "         <textarea name=\"message\" wrap=\"VIRTUAL\" cols=\"40\" rows=\"6\" class=\"input1\"></textarea><font color=red>*</font><br> \n";
    echo "     </td> \n";
    echo " </tr> \n";
    echo "<tr>";
    echo '<td align="center">';
    dsp_crypt(0,1);
    echo '</td>';
    echo '</tr>';
    echo '<tr>';
    echo '<td align="center">Recopier le code:<br><input type="text" name="code">';
    echo '</td>';
    echo '</tr>';
    echo " <tr>\n";
    echo "     <td colspan=\"2\" class=\"row_1\">\n";
    echo "         <input type=\"submit\" value=\"Envoyer\" class=\"input2\"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=red>*</font> Champs obligatoires\n";
    echo "     </td>\n";
    echo " </tr>\n";
    echo "</table>\n";
    echo "</form>\n";
    ?>
    code de ajouter.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    <?php 
    $cryptinstall="./crypt/cryptographp.fct.php";
    include $cryptinstall;  
    ?>
    <?
    include("/crypt/verifier.php");
    //// On vérifie que les champs auteur et commentaire sont bien remplis ////
    $_POST['message']=trim($_POST['message']);
    $_POST['auteur']=trim($_POST['auteur']);
     
    if(empty($_POST['auteur']) || empty($_POST['message']))
    {
     echo "Erreur \n";
    }
     
    else
     {
     
     
    //function checkmail ($email) {
     
    //if (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email)) {
    //	return true;
    //}else {
    //	return false;
     
     
     
      //// On inclut le fichier de connexion à la base SQL ////
     
      include("inc/connect.php");
     
      //// Récupération de la date actuelle ////
     
      $date=date("d/m/Y H:i");
     
     
      //// On récupère l'adresse IP du visiteur ////
     
      $ip="$_SERVER[REMOTE_ADDR]";
     
     
      //// On nettoie le commentaire et le pseudo ////
     
      if($html=="non")
       {
        $_POST['message']=ereg_replace("<[^>]*>", "", $_POST['message']);
        $_POST['message']=htmlspecialchars($_POST['message']);
       }
     
      $_POST['message']=stripslashes($_POST['message']);
      $_POST['message']=str_replace(chr(10)," <br> ",$_POST['message']);
      $_POST['message']=str_replace(chr(13),"",$_POST['message']);
     
      $_POST['auteur']=htmlspecialchars($_POST['auteur']);
      $_POST['email']=htmlspecialchars($_POST['email']);
     
      //// Connexion à la base mySQL ////
     
      @MYSQL_CONNECT($serveur,$utilisateur,$mdp) or die ("Connexion impossible");
      @MYSQL_SELECT_DB($db) or die ("Connexion à la base $base impossible");
     
     
      //// On insère le nouveau commentaire ////
     
      mysql_query("INSERT INTO nanda_messages VALUES (\"\",\"$_POST[auteur]\",\"$date\", \"$_POST[email]\", \"$_POST[message]\",\"$ip\")");
      echo "<meta http-equiv=\"refresh\" content=\"0;url=http://www.last-chronicle.com/Nanda/frame.php?go=5\">\n ";
     
      //// On ferme la connexion à la base mySQL ////
     
      mysql_close();
     }
    ?>
    merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu ne nous as pas mis la partie qui pose probleme, qui je suppose, est dans verifier.php

    juste une remarque tu as mis une fois "/crypt" et ensuite "./crypt" comme chemin... tu n'aurais pas une alerte pour un des deux include car si tu n'es pas a la racine du site, les deux chemins ne sont pas équivalents ?


    Et sinon, epargne toi d'echapper tous tes guillemets html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "     <td colspan=\"2\" class=\"row_1\">\n";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<td colspan="2" class="row_1" />',"\n";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 132
    Points : 69
    Points
    69
    Par défaut merci pour le coup de main
    grâce à ta réflexion j'ai modifier le code avec le rajout du "." manquant dans mon chemin et ... ça marche


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

Discussions similaires

  1. Formulaire critique de livre
    Par nicosmash dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 3
    Dernier message: 07/09/2013, 12h10
  2. Formulaire d'un livre d'or
    Par Spike21 dans le forum Langage
    Réponses: 3
    Dernier message: 18/04/2007, 09h31
  3. [langage] Je cherche un bon livre ?
    Par Anonymous dans le forum Langage
    Réponses: 13
    Dernier message: 09/04/2003, 13h16
  4. [web] Cherche un conseil pour un livre perl-tk
    Par Anonymous dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 29/04/2002, 15h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo