Aide en php

Résolu
audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   -  
 giheller -
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

  • 1
  • 2
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. arthezius Messages postés 3756 Statut Membre 475
     
    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
  2. giheller
     
    Bonjour,

    tous les exemples de formulaires sur le net vous donnerons la réponse. il faut cependant adapter les zones à votre contexte.
    0
  3. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    merci de votre reponse

    Mais les formulaires que j ai trouver envoi uniquement des mails et ne saont pas stocker dans une base
    0
  4. giheller
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    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. giheller
       
      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
  7. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    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
  8. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    dsl mais j ai fait une erreur j ai nomme ma table essai
    0
    1. giheller
       
      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. toto
       
      c'est résolu ?
      0
  9. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    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. giheller
       
      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
  10. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    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
  11. giheller
     
    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
  12. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    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
  13. giheller
     
    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
  14. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    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
  15. giheller
     
    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
  16. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    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. giheller
       
      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
  17. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    j ai essaier mais il me met erreur Parse error: syntax error, unexpected ....

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

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

      ...
      0
      1. toto > giheller
         
        ?
        0
  18. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    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. giheller
       
      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
  19. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    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
  20. giheller
     
    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
  21. audi68 Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   9
     
    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. giheller
       
      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