Rien ne s'enregistre sur la Base de Données.
Résolu
lDarkRaven
Messages postés
72
Date d'inscription
Statut
Membre
Dernière intervention
-
Bionik Messages postés 4232 Date d'inscription Statut Modérateur Dernière intervention -
Bionik Messages postés 4232 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous ,
Je vous explique mon problème , ressament , on m'a demander de créer une base de données avec une interface Web (par navigateur). Et tous cela a mettre sur un serveur Web.
Donc me voila partit , on ne ma pas laisser le choix , je doit utiliser Xampp.
Etant donner que je ne connaissais pas forcement son fonctionnement , je decide de faire une petite base sur phpmyadmin nommer Test1 avec une table utilisateur.
Donc je fais deux petite pages PHP et je fais un formulaire d'enregistrement.
C'est la ou sa coince , lorsque je veut envoier les données du formulaire vers la BDD , la page ce recharge , et aucune données ne s'enregistre sur la base.
Pourtant j'ai utilisé les méme script que j'ai l'habitude d'utiliser. Mais cela ne marche pas
Donc je ne sais pas si c'est un problème de code ou de config du serveur.
Je vous copie-colle le formulaire + le code PHP.
<center><form action="" method="post">
<div>
<label for="nom">Nom :</label>
<input type="text" id="Nom" />
</div>
<div>
<label for="prenom">Prenom :</label>
<input type="text" id="Prenom" />
</div>
<div class="button">
<button name="envoyer" type="submit">Enregistrement</button>
</div>
<?php
if(isset($_POST['envoyer']))
{
$Nom=isset($_POST['Nom']);
$Prenom=isset($_POST['Prenom']);
$Age=isset($_POST['Age']);
$base=mysqli_connect('localhost','root','root');
mysql_select_db('test1');
$sql='INSERT INTO utilisateur VALUES("","'.$Nom.'","'.$Prenom.'")';
mysqli_query($base,$sql);
mysqli_close($base);
}
?>
Voila , en ésperant que vous pourez me donner une solution, car cela fait 2 jours que je suis bloquer dessus.
Je vous explique mon problème , ressament , on m'a demander de créer une base de données avec une interface Web (par navigateur). Et tous cela a mettre sur un serveur Web.
Donc me voila partit , on ne ma pas laisser le choix , je doit utiliser Xampp.
Etant donner que je ne connaissais pas forcement son fonctionnement , je decide de faire une petite base sur phpmyadmin nommer Test1 avec une table utilisateur.
Donc je fais deux petite pages PHP et je fais un formulaire d'enregistrement.
C'est la ou sa coince , lorsque je veut envoier les données du formulaire vers la BDD , la page ce recharge , et aucune données ne s'enregistre sur la base.
Pourtant j'ai utilisé les méme script que j'ai l'habitude d'utiliser. Mais cela ne marche pas
Donc je ne sais pas si c'est un problème de code ou de config du serveur.
Je vous copie-colle le formulaire + le code PHP.
<center><form action="" method="post">
<div>
<label for="nom">Nom :</label>
<input type="text" id="Nom" />
</div>
<div>
<label for="prenom">Prenom :</label>
<input type="text" id="Prenom" />
</div>
<div class="button">
<button name="envoyer" type="submit">Enregistrement</button>
</div>
<?php
if(isset($_POST['envoyer']))
{
$Nom=isset($_POST['Nom']);
$Prenom=isset($_POST['Prenom']);
$Age=isset($_POST['Age']);
$base=mysqli_connect('localhost','root','root');
mysql_select_db('test1');
$sql='INSERT INTO utilisateur VALUES("","'.$Nom.'","'.$Prenom.'")';
mysqli_query($base,$sql);
mysqli_close($base);
}
?>
Voila , en ésperant que vous pourez me donner une solution, car cela fait 2 jours que je suis bloquer dessus.
A voir également:
- Rien ne s'enregistre sur la Base de Données.
- Fuite données maif - Guide
- Base de registre - Guide
- Effacer les données de navigation sur android - Guide
- Tnt base de données vide - Forum TNT / Satellite / Réception
- Formules mathématiques de base - Télécharger - Études & Formations
5 réponses
Je pense que ce n'est pas une obligation non plus dans le sens où s'il reconnait bien l'envoi par le bouton submit, les autres champs seront soumis aussi, il pourront être vide mais ils existeront. Il faudrait vérifier en plus : !empty($_POST['Prenom'])
Je pense que tu avais un défaut d'index car tes champs input ne possèdent pas l'attribut name dont tu a besoin pour récupérer les variables :
Pour un élément tel que
<input type="text" name="Prenom" />
Tu récupère avec :
$_POST['Prenom']
Du coup tu n'as peut être plus d'erreur d'index mais les conditions ne sont pas remplies et tes variables($Nom, $Prenom..) sont surement vides.
Il y a plsieurs petites chose qui posent problème..
Résolu? ===> [RESOLU]
Je pense que tu avais un défaut d'index car tes champs input ne possèdent pas l'attribut name dont tu a besoin pour récupérer les variables :
Pour un élément tel que
<input type="text" name="Prenom" />
Tu récupère avec :
$_POST['Prenom']
Du coup tu n'as peut être plus d'erreur d'index mais les conditions ne sont pas remplies et tes variables($Nom, $Prenom..) sont surement vides.
Il y a plsieurs petites chose qui posent problème..
Résolu? ===> [RESOLU]
Salut salut,
Tout d'abord dans ton code es tu sûr que isset($_POST['Nom']) retourne une variable, pour moi isset renvoie vrai ou faux.
Est ce que tu as des messages d'erreur ça nous aidera à t'aider plus rapidement.
Tout d'abord dans ton code es tu sûr que isset($_POST['Nom']) retourne une variable, pour moi isset renvoie vrai ou faux.
Est ce que tu as des messages d'erreur ça nous aidera à t'aider plus rapidement.
Tu oublies le nom des champs dans la requête.
Elle devrait plutôt ressembler à ça :
$sql='INSERT INTO utilisateur(ID, NOM, PRENOM) VALUES("","'.$Nom.'","'.$Prenom.'")';
En admettant bien sûr que tes champs s'appellent ID, NOM et PRENOM. A toi de remplacer !
Elle devrait plutôt ressembler à ça :
$sql='INSERT INTO utilisateur(ID, NOM, PRENOM) VALUES("","'.$Nom.'","'.$Prenom.'")';
En admettant bien sûr que tes champs s'appellent ID, NOM et PRENOM. A toi de remplacer !
Ah ouais ? Bon, j'ai appris un truc ! ça fait longteeeeemps que j'ai pas touché à ces machins...
Sinon, je me pose une question là, dans cette partie :
<?php
if(isset($_POST['envoyer']))
{
$Nom=isset($_POST['Nom']);
$Prenom=isset($_POST['Prenom']);
$Age=isset($_POST['Age']);
Est ce que les trois "isset" avant les $_POST sont utiles ?
Sinon, je me pose une question là, dans cette partie :
<?php
if(isset($_POST['envoyer']))
{
$Nom=isset($_POST['Nom']);
$Prenom=isset($_POST['Prenom']);
$Age=isset($_POST['Age']);
Est ce que les trois "isset" avant les $_POST sont utiles ?
Salut,
Normal, t'as un problème à ce niveau:
$Nom=isset($_POST['Nom']);
$Prenom=isset($_POST['Prenom']);
$Age=isset($_POST['Age']);
isset est une fonction qui renverra true ou false, donc dans tes variables $Nom, $Prenom et $Age c'est true ou false qui s'y trouve.
Enlève les isset et échappes les données que t'as reçu du formulaire aavec htmlspecialchars avant de les insérer dans ta base de données vu que t'utilises pas de requête préparée.
Normal, t'as un problème à ce niveau:
$Nom=isset($_POST['Nom']);
$Prenom=isset($_POST['Prenom']);
$Age=isset($_POST['Age']);
isset est une fonction qui renverra true ou false, donc dans tes variables $Nom, $Prenom et $Age c'est true ou false qui s'y trouve.
Enlève les isset et échappes les données que t'as reçu du formulaire aavec htmlspecialchars avant de les insérer dans ta base de données vu que t'utilises pas de requête préparée.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voici le nouveau code , compte tenu de vos réponce (j'ai fait au mieu je ne suis que un debutant en php)
<?php
if(isset($_POST['envoyer']))
{
if (!empty($_POST['Nom'])&&!empty($_POST['Prenom']))
{
$Name=htmlspecialchars($_POST['Nom']);
$Prename=htmlspecialchars($_POST['Prenom']);
$base=mysql_connect('localhost','root','root');
mysql_select_db('test1');
$sql='INSERT INTO utilisateur VALUES("","'.$Name.'","'.$Prename.'")';
mysqli_query($base,$sql);
mysqli_close($base);
}
}
?>
<?php
if(isset($_POST['envoyer']))
{
if (!empty($_POST['Nom'])&&!empty($_POST['Prenom']))
{
$Name=htmlspecialchars($_POST['Nom']);
$Prename=htmlspecialchars($_POST['Prenom']);
$base=mysql_connect('localhost','root','root');
mysql_select_db('test1');
$sql='INSERT INTO utilisateur VALUES("","'.$Name.'","'.$Prename.'")';
mysqli_query($base,$sql);
mysqli_close($base);
}
}
?>
Essaies de suivre le conseil de kyser en ajoutant un attribut name dans tes input comme ceci:
Le reste tu changes pas, ça devrait fonctionner maintenant!
<center><form action="" method="post"> <div> <label for="nom">Nom :</label> <input type="text" id="Nom" name="Nom" /> </div> <div> <label for="prenom">Prenom :</label> <input type="text" id="Prenom" name="Prenom"/> </div> <div class="button"> <button name="envoyer" type="submit">Enregistrement</button> </div>
Le reste tu changes pas, ça devrait fonctionner maintenant!