Aide en php
Résolugiheller -
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
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.
Regarde ce site par exemple: https://openclassrooms.com/fr/
tous les exemples de formulaires sur le net vous donnerons la réponse. il faut cependant adapter les zones à votre contexte.
Mais les formulaires que j ai trouver envoi uniquement des mails et ne saont pas stocker dans une base
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionil faut cherche sous quoi?
je ne comprend pas trop ce que vous avez mis comme formule?
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
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
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.
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?
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
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 ....................
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
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'];
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
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.
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
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>";}
?>
mais ca ne marche tjrs pas
pas de probleme bon appetit
merci de ton aide
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
- 1
- 2