Base de donnée

Résolu/Fermé
Balise - 18 mai 2015 à 16:58
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 - 19 mai 2015 à 21:11
Bonjour tout le monde! J'ai crée ma bd et mon formulaire.J'ai connecté les 2
Mais quand j'insère des données dans mon formulaire, et que j'envoie, je ne les retrouve pas dans ma bd.J'utilise wampserver.Besoin d'aide!
<html>
<head>
<title>Connection</title>
</head>
<body>
<form name="mon_formulaire" action="Traitement.php" method="post">
Nom<input type="text" name="Nom"></br>
Prenom<input type="text" name="Prenom"></br>
Adresse<input type="text" name="Adresse"></br>
Nationalite<input type="text" name="Nationalite"></br>
<input type="submit" value="Envoyer le fichier">
</form>
</body>
</html>
<?php
mysql_connect("localhost","root","") or die (mysql_error());
mysql_select_db("evolution")or die (mysql_error());
?>

Ma page traitement.php est :
<?php
if (isset ($_POST['Nom'])&& isset($_POST['Prenom'])&& isset ($_POST['Adresse']) && isset($_POST['Nationalite']))
{
echo' Votre inscription a ete prise en compte ';
echo' Votre nom est '.$_POST['Nom'].' ,votre prenom est ' .$_POST['Prenom'] .' ,votre adresse est ' .$_POST['Adresse']. ' et votre nationalité est '.$_POST['Nationalite'];
}
?
>

2 réponses

Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
18 mai 2015 à 17:12
Bonjour,
mettre ces 2 lignes plutot dans le fichier traitement.php
mysql_connect("localhost","root","") or die (mysql_error());
mysql_select_db("evolution")or die (mysql_error()); 

0
drBalise Messages postés 28 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 6 juillet 2016
18 mai 2015 à 17:35
Compris!
0
VlkPr3s Messages postés 235 Date d'inscription vendredi 30 mai 2014 Statut Membre Dernière intervention 27 juin 2016 130
18 mai 2015 à 17:15
Salut,

Tu essaies en fait de créer un utilisateur c'est ça ??

certains trucs me plaisent pas forcément ...

ton php avant ton formulaire c'est mieux ..

Ensuite comment veux tu que ta base de donnée reçoivent quelques choses si tu ne fait aucune requete ?
0
drBalise Messages postés 28 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 6 juillet 2016
Modifié par drBalise le 18/05/2015 à 17:37
Salut! Oui je veux créer un utilisateur.
Mais les requêtes, ne l'ai fait-on pas lorsqu'on a déjà inséré des données dans la base?Je veux dire lorsqu'on recherche une donnée dans la base de donnée?
0
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
18 mai 2015 à 21:12
Bonsoir,
Il existe des requête d'affichage, de suppression et d'ajout. Dans votre cas il faut, vous devez bien vous en rendre compte, enregistrer les données fournies par l'utilisateur. Pour ce faire il faut absolument utiliser une requête : INSERT INTO. Vous trouverez toute une flopée d'explications en cherchant un peu sur le web.

Cordialement,

hharchi9.
0
drBalise Messages postés 28 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 6 juillet 2016
18 mai 2015 à 23:04
Salut!Je vois!Voici ce que j'ai produit après ces quelques remarques
MON FORMULAIRE
<html>
<head>
<title></title>
</head>
<body>
<form name="mon_formulaire" action="Traitement.php" method="post">
<input type="hidden" name="Id"></br>
Nom<input type="text" name="Nom"></br>
Prenom<input type="text" name="Prenom"></br>
Adresse<input type="text" name="Adresse"></br>
Nationalite<input type="text" name="Nationalite"></br>
<input type="submit" value="Envoyer le fichier">
</form>
</body>
</html>

MA PAGE TRAITEMENT.PHP
<?php
$id=$_POST['Id'];
$nom=$_POST['Nom'];
$pren=$_POST['Prenom'];
$adr=$_POST['Adresse'];
$nat=$_POST['Nationalite'];
$base= mysql_connect("localhost","root", "");
mysql_select_db("evolution", $base);
//execution de requete
$sql="INSERT INTO evolution.personne(Nom,Prenom,Adresse,Nationalite) VALUES('','$nom','$pren','$adr','$nat')"or die (mysql_error());
mysql_query($sql) or die (mysql_error());
mysql_close();
echo 'Votre enregistrement est une reussite';
?>

Le message d'erreur Column count doesn't match value count at row 1affiche et je ne vois pas l'erreur.
Prière de bien vouloir m'aider svp! Merci!
0
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
18 mai 2015 à 23:12
Attention l'utilisation de mysql_select/query... est obsolète préférez utiliser PDO

Voici ce que donnerait votre code :

try
{
	// On se connecte à MySQL
	$bdd = new PDO(sprintf('mysql:host=%s;dbname=%s', $host, $dbname), $user, $pass);
	$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e)
{
	// En cas d'erreur, on affiche un message et on arrête tout
	die('Erreur : '.$e->getMessage());
}

//On insère les données
$req = $bdd->prepare('INSERT INTO evolution (Nom,Prenom,Adresse,Nationalite) VALUES(:Nom, :Prenom, :Adresse, :Nationalite)');
$req->execute(array( 
	:Nom => $nom,
         :Prenom => $pren,
         :Adresse => $adr,
         :Nationalite => $nat));
						
$req->CloseCursor(); //On ferme le curseur
0
drBalise Messages postés 28 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 6 juillet 2016 > drBalise Messages postés 28 Date d'inscription lundi 18 mai 2015 Statut Membre Dernière intervention 6 juillet 2016
19 mai 2015 à 00:33
Merci !!!
0