Connexion à une base de données

raamzee Messages postés 66 Statut Membre -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour, a tous
j'aimerai me inserer les données d'un formulaire dans une base de données

le script est le suivant index.php
<?php

//on récupère nos valeurs
$ide = $_POST['id'];
$passwd = $_POST['password'];

// Variables de connexion
$user = "patou";
$host = "localhost";
$bdd = "courrier";
// Connexion au serveur
mysql_connect($host, $user) or die("erreur de connexion au serveur");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");

// Creation de la requete
$strSQL = "INSERT INTO `identification`(`id`, `password`) VALUES ($ide, $passwd);";

//execution de la requete
mysql_query($strSQL) or die ("erreur d'insertion dans la BDD");

//fermeture de la connexion a la base de donnees
mysql_close();
?>

le script du de création du formulaire est le suivant:
<body>
<p align="center"><strong>Identifiant :</strong>
<input type="text" name="id" >
</p>
<p align="center"><strong>Mot de Passe</strong>:
<input name="password" type="password" value="" />
</br>
</p>
<p align="center">
<input type="submit" name="Submit" value="Envoyer" />
</blockquote>
</div>
<input type ="submit" name="Submit2" value="Annuler" />
</form>
</body>

apres exécution de tout ceci j'ai comme message

Notice: Undefined index: id in C:\wamp\www\index.php on line 41

Notice: Undefined index: password in C:\wamp\www\index.php on line 42
erreur d'insertion dans la BDD

Merci pour votre bonne compréhension
A voir également:

4 réponses

Alain_42 Messages postés 5413 Statut Membre 894
 
il faut tester si le formulaire a té posté ensuite il te manque le pass pour la connexion au serveur, je t'ai aussi modifié le name des boutons

<?php
if(isset($_POST['envoyer']) && $_POST['envoyer'] =="Envoyer"){
//on récupère nos valeurs
$ide = $_POST['id'];
$passwd = $_POST['password'];


// Variables de connexion
$user = "patou";
$host = "localhost";
$pass_bdd="xxxxx";
$bdd = "courrier";

// Connexion au serveur
mysql_connect($host, $user,$pass_bdd) or die("erreur de connexion au serveur");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");

// Creation de la requete
$strSQL = "INSERT INTO `identification`(`id`, `password`) VALUES ($ide, $passwd);";

//execution de la requete
mysql_query($strSQL) or die ("erreur d'insertion dans la BDD");

//fermeture de la connexion a la base de donnees
mysql_close();
}
?>

le script du de création du formulaire est le suivant:
<body>
<form name="form1" method="post" action="">
<p align="center"><strong>Identifiant :</strong>
<input type="text" name="id" >
</p>
<p align="center"><strong>Mot de Passe</strong>:
<input name="password" type="password" value="" />
</br>
</p>
<p align="center">
<input type="submit" name="envoyer" value="Envoyer" />
</blockquote>
</div>
<input type ="submit" name="annuler" value="Annuler" />
</form>
</body>
0
raamzee Messages postés 66 Statut Membre 1
 
Bonsoir Alain_42 apres modification voila le script que j'exécute et en retour je n'ai aucun message d'erreur mais je n'est pas toujours d'insertion dans la base de données

<?php
//on récupère nos valeurs
if(isset($_POST['id']) && $_POST['password'] =="Envoyer"){
$ide = $_POST['id'];
$passwd = $_POST['password'];

// Variables de connexion
$user = "patou";
$host = "localhost";
$pass_bdd="changement";
$bdd = "courrier";

// Connexion au serveur
mysql_connect($host, $user, $pass_bdd) or die("erreur de connexion au serveur");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");

// Creation de la requete
$strSQL = "INSERT INTO `identification`(`id`, `password`) VALUES ($ide, $passwd);";

//execution de la requete
mysql_query($strSQL) or die ("erreur d'insertion dans la BDD");

//fermeture de la connexion a la base de donnees
mysql_close();
}
?>
0
cheese42 Messages postés 890 Statut Membre 120
 
slt, tu as bien un champs id et un champs password dans ta table identification ???
0
Alain_42 Messages postés 5413 Statut Membre 894
 
//on récupère nos valeurs
if(isset($_POST['id']) && $_POST['password'] =="Envoyer"){


NON !!! tu n'as pas compris

je t'avais mis:

if(isset($_POST['envoyer']) && $_POST['envoyer'] =="Envoyer"){
//on récupère nos valeurs
$ide = $_POST['id'];


c'est pour tester que le formulaire a été posté, envoyer c'est le name= du bouton type Submit donc on vérifie ainsi qu'il a été cliqué

toi tu teses que le password est égal à Envoyer ?? normal que l'on ne passes jamais dans la partie de code ensuite

une petite modif pour donner un message de résultat d'insertion:

<?php
if(isset($_POST['envoyer']) && $_POST['envoyer'] =="Envoyer"){
//on récupère nos valeurs
$ide = $_POST['id'];
$passwd = $_POST['password'];


// Variables de connexion
$user = "patou";
$host = "localhost";
$pass_bdd="xxxxx";
$bdd = "courrier";

// Connexion au serveur
mysql_connect($host, $user,$pass_bdd) or die("erreur de connexion au serveur");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");

// Creation de la requete
$strSQL = "INSERT INTO `identification`(`id`, `password`) VALUES ($ide, $passwd);";

//execution de la requete
$insert=mysql_query($strSQL) or die ("erreur d'insertion dans la BDD");
if($insert){
// c'est a dire si $insert vaut true, si la requette a fonctionne 
  echo "Insertion reussie dans la BDD ";
}else{
   echo "Probleme d'insertion  dans la BDD ";
}

//fermeture de la connexion a la base de donnees
mysql_close();
}
?>

le script du de création du formulaire est le suivant:
<body>
<form name="form1" method="post" action="">
<p align="center"><strong>Identifiant :</strong>
<input type="text" name="id" >
</p>
<p align="center"><strong>Mot de Passe</strong>:
<input name="password" type="password" value="" />
</br>
</p>
<p align="center">
<input type="submit" name="envoyer" value="Envoyer" />
</blockquote>
</div>
<input type ="submit" name="annuler" value="Annuler" />
</form>
</body>
0