Aide en php

Résolu
Bonjour,
J aimerai savoir si vous ne connaisser pas un script qui demande le mon prenon, date de naissance et adresse mail et qui es stocker dans une base de donnée

je ne mis connait pas en php

merci de votra aide
Configuration: Windows Vista
Internet Explorer 7.0

29 réponses

Résumé de la discussion

Un script PHP permettant de collecter nom, prénom, date de naissance et adresse mail via un formulaire et de stocker ces informations dans une base de données est discuté. Des réponses insistent sur l’importance de récupérer correctement les variables POST comme nom et mot de passe, d’éviter les erreurs classiques et de sécuriser la connexion et les requêtes SQL. D’autres conseils proposés incluent la vérification de l’identification utilisateur, la comparaison des mots de passe avec des requêtes SQL sécurisées, et l’éducation sur les fondamentaux du formulaire et du traitement côté serveur. En cas de besoin, des ressources pratiques évoquent des exemples étape par étape et des conseils sur la création de tables et de colonnes pour structurer l’enregistrement des données.

Bobot (l’IA à votre service)
  1. En fait, plutôt que te dise directement quoi faire sans que tu le comprenne, le mieux serai que tu te renseigne sérieusement sur le sujet et que tu prenne le temps de comprendre ce que tu fait.

    Regarde ce site par exemple: https://openclassrooms.com/fr/
    1
    1. Bonjour,

      tous les exemples de formulaires sur le net vous donnerons la réponse. il faut cependant adapter les zones à votre contexte.
      0
      1. merci de votre reponse

        Mais les formulaires que j ai trouver envoi uniquement des mails et ne saont pas stocker dans une base
        0
        1. alors vous avez lmal cherché.

          form name=formulaire action='majbd.php' method='post'>
          <input type='text' name='nom' value=''>
          <input type='text' name='prenom' value='''>
          etc
          <input type=submit value='insérer'>
          </form>

          ----------------------------
          majbd.php
          <?php
          $nom=$_POST['nom'];
          $prenom=$_POST['prenom'];

          squery="insert into ma_bdd values('".$nom."','".$prenom."', etc
          0
          1. oui peut etre j ai recherche base de donné client

            il faut cherche sous quoi?

            je ne comprend pas trop ce que vous avez mis comme formule?
            0
            1. Bonjour,
              ce que j'ai mis c'est tout d'abord un résumé de création de formulaire, puis un début de programme php qui récupère les informations et les injecte dans une base de données.

              ce que vous devez chercher c'est création d'un formulaire
              puis utilisation des données issues d'un formulaire
              et enfin injection dans une base de données.

              à moins que quelqu'un ecrive complètement ce que vous voulez faire il vous faudra maîtriser un minimum de html de php et de mysql

              -------
              JL,
              m'enfin c'est juste mon avis
              0
          2. re bonjour

            je vient d essaier de creer une base

            Mais le probleme c es que je n arrive pas a l enregistrer dans sql

            je me suis aide de se site http://www.coursphp.com/cours/cours.php?id=24&idaff=3

            je ne sais pas comment creer la table c es mal expliqué lol

            est ce que l on peut la creer directment sur free?
            moi sur free j ai fait operations puis j ai crer une nouvelle table que j ai nommé mysql_connect mais je ne sais pas si c es ca le nom et j ai mis nombre de colonne 3
            puis excecuter

            puis j ai mis le nom des champ
            sur type j ai mis int pour num et bob pour non et prenom
            et apres je ne sais pas ou mettre le rest lol

            merrci de votre aide
            0
            1. dsl mais j ai fait une erreur j ai nomme ma table essai
              0
              1. Bonsoir,

                oui on peut céer une base et des tables chez free avec phpmyadmin.
                une fois cela fait, il faudra enregsiter des données dans ces tables.
                mais encore une fois si c'est à partir de programmes il vous faudra apprendre un peu de html et de php.

                sincèrement avant de vous lancer, recherchez à savoir ce que vous voulez faire, puis analyser la façon de faire et prenez les bons outils pour le faire.

                0
              2. c'est résolu ?
                0
            2. ok mais j aimerais essaier lol

              je dispose de 2 fichier

              test.php qui est le fichier suivant
              <form method='POST' action='test2.php' name='mon_formulaire'>
              <font face='Verdana' size='2'>Votre nom : <input type='text' name='nom' size='20' value=''><br>
              Votre prénom : <input type='text' name='prenom' size='20' value=''><br><br>
              <input type='submit' value='Valider'></font></form>

              et test2.php
              <?php
              // Vérification des champs nom et prenom (si il ne sont pas vides ?)
              if($nom != "" && $prenom != "")
              {
              // Connexion a Mysql (changer l'host, le login et le mot de passe SVP)
              $mysql_link = mysql_connect("localhost","pseudoi","mot de passe");

              // Vérification de la validité de la connexion MYSQL
              if($mysql_link)
              {
              // Requete d'insertion MYSQL
              $requete = "INSERT INTO valeurs (nom,prenom) VALUES ('$nom','$prenom')";
              // Execution de cette requete dans la base essai
              $execution = mysql_db_query("essai", $requete);
              echo "<font face='Verdana' size='2'>Les valeurs ont bien été enregistrées dans la table <b>valeurs</b></font>";
              }
              // La connexion Mysql est indisponible
              else echo "<HTML><HEAD><TITLE>Erreurs</TITLE></HEAD><BODY><font face='Verdana' size='2'>Vous avez du faire une erreur : Ce problème se pose soit : <br>- Parce que vous n'avez pas créer la base, ni la table MYSQL;<br>- Parce que vous n'avez pas changé le Mot de passe d'accès a MYSQL dans ce programme (Par défaut, c'est Host : 'localhost', login : 'root', MDP : '[vide]';<br>- Soit vous n'avez pas lancé MYSQL.</font></body></html>";
              // Les champs ne sont pas tous remplis
              }
              else echo "<HTML><HEAD><TITLE>Erreurs</TITLE></HEAD><BODY><font face='Verdana' size='2'>ATTENTION : Le champs nom ou prénom n'a pas été remplis correctement, veuillez vérifier</font></body></html>";
              ?>

              j ai bien entendu renseigner les case pseudo et mot de passe

              apres cela il me suffit de parametrer ma base mysql non?
              0
              1. Bonsoir,
                au début de test2 il faut récupérer les varaibles passées par la méthode post du formulaire avant de pouvoir utiliser les variables $nom et $prenom

                soit :
                $nom=$_POST['nom'];
                $prenom=$_POST['prenom'];

                0
            3. bonsoir merci de votre aide
              ah oui c es vrai il faut recuperer les variables

              Je viens d essaier mais ca ne vas toujours pas il n y a rien qui s ecrit dans la base de donnée

              j ai rajouté apres la balise php
              comme ceci:

              <?php
              $nom=$_POST['nom'];
              $prenom=$_POST['prenom'];

              // Vérification des champs nom et prenom (si il ne sont pas vides ?)
              if($nom != "" && $prenom != "")
              {
              // Connexion a Mysql (changer l'host, le login et le mot de passe SVP)
              $mysql_link = mysql_connect("localhost",...................

              Pourtant ma base de donné est bien créer
              Je ne comprend pas

              Merci de votre aide
              0
              1. bonjour,
                essaie ceci

                $requete = "INSERT INTO valeurs (nom,prenom) VALUES ('".$nom."','".$prenom."')";

                et comme dit arthezius se faire aider n'est pas faire faire son travail, mais comprendre ce que l'on fait.
                le copier coller c'est bien mais ....................
                0
                1. Bonjour

                  Apres un bon momment de lecture
                  j ai pu bidouiller un truc il fonctionne bien

                  mais j aimerais avoir votre avis si celui ci est bon?

                  je vous met les fichiers

                  fichier 1 nommé indext:

                  <form action="testphp.php" method='post'>
                  <p class="grostitre" align="center">Bienvenue sur votre espace d'administration</p>
                  <table align="center" border="0" width="267">
                  <tr>
                  <td class="titre" width="97" nowrap>Mot de passe</td>
                  <td width="160">
                  <input type="password"name="passuser" maxlength="20">
                  </td>
                  </tr>
                  <tr>
                  <td colspan="2" align="center">
                  <input type="submit" value="valider">
                  </td>
                  </tr>
                  </table>
                  </form>

                  fichier2 nommée testphp.php

                  <?
                  include("setup/settings2.php");
                  include("setup/lang.php");

                  $queryt = "SELECT * FROM $table_user where pass='$passuser'";

                  @mysql_connect($DBHost, $DBUser, $DBPass);

                  $resultt = @mysql_db_query($DBName, $queryt);

                  if ($resultt){$flag=0;
                  while ($r = mysql_fetch_array($resultt))
                  {
                  $pass2=$r["pass"];

                  echo "votre mail est $passuser";
                  $ip = $_SERVER['REMOTE_ADDR']; echo "votre adresse IP est $ip ";
                  include("test2.php");

                  }}
                  if ($pass2!="$passuser"){echo"<span class=\"grostitre\">$c57<br><a href=\"indext.html\"> $c10</a></span>";}
                  if ($passuser==""){echo"<span class=\"grostitre\">$c58<a href=\"indext.html\"> $c10</a></span>";}
                  ?>

                  Vous en pensez quoi?
                  Merci de vos renseignement
                  0
                  1. bonsoir,

                    Non, il y a des soucis.

                    1 il est étrange de demander un mot de passe et pas de login ou d'identification.
                    en général on demande les deux et on vérifie que le mot de passe donné correspond à celui qui est dans la table en fonction de l'identifiant.

                    2 dans testphp.php, vous n'avez rien dans la variable $passuser car elle n'est pas initialisée.
                    il faut la récupérer avec :
                    $passuser = $_POST['passuser'];

                    0
                    1. Merci de votre reponse giheller

                      Si je demande une adresse mail et un mot de passe
                      j ai du mal copier desolé

                      ci joint le fichier index

                      <form action="testphp.php" method='post'>
                      <p class="grostitre" align="center">Bienvenue sur votre espace d'administration</p>
                      <table align="center" border="0" width="267">
                      <tr>
                      <td class="titre" width="97" nowrap>Adresse Mail </td>
                      <td width="160">
                      <input type="text"name="passuser" maxlength="50">
                      </td>
                      </tr>
                      <tr>
                      <td class="titre" width="97" nowrap>Mot de passe</td>
                      <td width="160">
                      <input type="password"name="motpasse" maxlength="20">
                      </td>
                      </tr>
                      <tr>
                      <td colspan="2" align="center">
                      <input type="submit" value="valider">
                      </td>
                      </tr>
                      </table>
                      </form>

                      et ici testphp.php
                      <?
                      include("setup/settings2.php");
                      include("setup/lang.php");

                      $queryt = "SELECT * FROM $table_user where nom='$passuser'";
                      $queryt = "SELECT * FROM $table_user where pass='$motpasse'";
                      @mysql_connect($DBHost, $DBUser, $DBPass);

                      $resultt = @mysql_db_query($DBName, $queryt);

                      if ($resultt){$flag=0;
                      while ($r = mysql_fetch_array($resultt))
                      {
                      $pass2=$r["pass"];

                      echo "votre mail est $passuser ";
                      $ip = $_SERVER['REMOTE_ADDR']; echo "votre adresse IP est $ip ";
                      include("test2.php");

                      }}
                      if ($pass2!="$passuser"){echo"<span class=\"grostitre\">$c57<br><a href=\"indext.html\"> $c10</a></span>";}
                      if ($passuser==""){echo"<span class=\"grostitre\">$c58<a href=\"indext.html\"> $c10</a></span>";}
                      ?>

                      Comment ca je n es rien dans la variable $passuser

                      merci de votre aide
                      0
                      1. ici il n'y a rien

                        et ici testphp.php
                        <?
                        include("setup/settings2.php");
                        include("setup/lang.php");

                        $queryt = "SELECT * FROM $table_user where nom='$passuser'";

                        de plus si je traduis cette ligne :
                        selectionner tous les enegistrements del table user où le nom correspond au mot de passe !

                        étrange.

                        0
                        1. quoi ici il n y a rien?tu parle de ces fichiers include("setup/settings2.php");
                          include("setup/lang.php"); ?
                          si dans settings2 il y a mes mot de passe et dans le 2eme
                          <?

                          $c1="Ajouter un utilisateur";

                          $c2="Mot de passe";

                          $c3="Commentaires";

                          $c4="Liste des utilisateurs";

                          $c5="Nom d'utilisateur";...........
                          mais bon ca ne sert pas a grand chose c es si tu veut le mettre en plusieurs langue
                          car mon site sera en 2 langue francais et italien

                          oui tu as raison je vient de tester
                          il suffit que je tape un bonmot de passe et je peut me connecter il ne verifie pas les 2 champs adresse mail et mot de passe

                          je peut tous recommencer je crois

                          merci giheller
                          0
                          1. je persiste à dire que la variable $passuser est vide en début du second programme.
                            pour vous en convaincre avec l'instruction select mettez :

                            echo "passuser =".$passuser;
                            0
                        2. j ai essaier mais il me met erreur Parse error: syntax error, unexpected ....

                          je le met ou excactement?
                          0
                          1. et ici testphp.php
                            <?
                            include("setup/settings2.php");
                            include("setup/lang.php");

                            echo "contenu de la variable : ".$passuser;

                            ...
                            0
                        3. ca ne marche pas il me met erreur : Parse error: syntax error, unexpected $end in /mnt/164/sda/2/0/picobello/login/testphp.php on line 142

                          j ai peut etre oublier de fermer une parenthese?

                          <?
                          include("setup/settings2.php");
                          include("setup/lang.php");

                          echo "passuser =".$passuser;
                          $queryt = "SELECT * FROM $table_user where nom='$passuser'";
                          $queryt1 = "SELECT * FROM $table_user where pass='$motpasse'";
                          @mysql_connect($DBHost, $DBUser, $DBPass);

                          $resultt = @mysql_db_query($DBName, $queryt);

                          if ($resultt){$flag=0;
                          while ($r = mysql_fetch_array($resultt))
                          {
                          $pass2=$r["pass"];
                          $resultt1 = @mysql_db_query($DBName, $queryt1);

                          if ($resultt){$flag=0;
                          while ($r = mysql_fetch_array($resultt1))
                          {
                          $pass2=$r["pass"];

                          echo "votre mail est $passuser ";
                          $ip = $_SERVER['REMOTE_ADDR']; echo "votre adresse IP est $ip ";
                          include("test2.php");

                          }}
                          if ($pass2!="$passuser"){echo"<span class=\"grostitre\">$c57<br><a href=\"indext.html\"> $c10</a></span>";}
                          if ($passuser==""){echo"<span class=\"grostitre\">$c58<a href=\"indext.html\"> $c10</a></span>";}
                          ?>
                          0
                          1. il manque un }

                            il y en a trois ouverts et deux fermés

                            je pasr diner sorry, je regarde plus tard la suite ou demain
                            0
                        4. ok j ai regarder et rajouter la par celle qui manqauit

                          mais ca ne marche tjrs pas

                          pas de probleme bon appetit

                          merci de ton aide
                          0
                          1. Bonsoir,
                            il va falloir faire quelque chose car ce que je teste fonctionne.
                            exception fite des particularités : css et sgbd

                            premier fichier
                            <html>
                            <form action="testphp.php" method='post'>
                            <p class="grostitre" align="center">Bienvenue sur votre espace d'administration</p>
                            <table align="center" border="0" width="267">
                            <tr>
                            <td class="titre" width="97" nowrap>Adresse Mail </td>
                            <td width="160">
                            <input type="text" name="passuser" maxlength="50">
                            </td>
                            </tr>
                            <tr>
                            <td class="titre" width="97" nowrap>Mot de passe</td>
                            <td width="160">
                            <input type="password" name="motpasse" maxlength="20">
                            </td>
                            </tr>
                            <tr>
                            <td colspan="2" align="center">
                            <input type="submit" value="valider">
                            </td>
                            </tr>
                            </table>
                            </form>
                            </html>

                            second fichier

                            <?
                            //include("setup/settings2.php");
                            //include("setup/lang.php");
                            $passuser = $_POST['passuser'];
                            echo $passuser;

                            /*

                            $queryt = "SELECT * FROM $table_user where nom='$passuser'";
                            $queryt = "SELECT * FROM $table_user where pass='$motpasse'";
                            @mysql_connect($DBHost, $DBUser, $DBPass);

                            $resultt = @mysql_db_query($DBName, $queryt);
                            */
                            if ($resultt){$flag=0;
                            while ($r = mysql_fetch_array($resultt))
                            {
                            $pass2=$r["pass"];

                            echo "votre mail est $passuser ";
                            $ip = $_SERVER['REMOTE_ADDR']; echo "votre adresse IP est $ip ";
                            include("test2.php");

                            }}
                            if ($pass2!="$passuser"){echo"<span class=\"grostitre\">$c57<br><a href=\"indext.html\"> $c10</a></span>";}
                            if ($passuser==""){echo"<span class=\"grostitre\">$c58<a href=\"indext.html\"> $c10</a></span>";}
                            ?>

                            à demain
                            JL
                            0
                            1. Bonsoir

                              Je viens de bidouiller mais je n arrive pas a trouver

                              j ai essaier avec ca mais ca ne va pas non plu
                              $queryt = "SELECT passs FROM $table_user where nom='$passuser'";
                              0
                              1. bonsoir,
                                déjà ça serait mieux.

                                $queryt = "SELECT passs FROM $table_user where nom='.$passuser."'";

                                une autre chose avant de bidouiller, essayez de voir la syntaxe des commandes, puis l'algorithmie de ce que vous voulez faire.
                                --
                                0
                            • 1
                            • 2