6 réponses
Salut,
Tu peux être plus précis, on ne peux rien faire pour toi avec les informations que tu nous donne.
Te connecté a ta BDD comment?
via un site internet, (quel langage de programmation, php/mysql?), si oui, donne nous le code que l'on regarde
avec phpmyAdmin, autre?
Tu peux être plus précis, on ne peux rien faire pour toi avec les informations que tu nous donne.
Te connecté a ta BDD comment?
via un site internet, (quel langage de programmation, php/mysql?), si oui, donne nous le code que l'on regarde
avec phpmyAdmin, autre?
ok voici mon code
if (is_numeric ($tel)) //&& !is_numeric ($nom) && !is_numeric ($pren))
{
mysql_connect ("localhost", "root", "") or die ("Noon ! ! !"); // Connexion à MySQL
mysql_select_db ("exo_bd_01"); // Connexion à la base de données "exo_bd_01"
$requete = "INSERT INTO gagnants VALUES ('', '$nom', '$pren', '$tel');"; // Réquête SQLrequete = "INSERT INTO gagnants VALUES ('', 'caca', 'pipi', '33259874');"; // Réquête SQL
mysql_query ($requete); // Exécution de la réquête
mysql_close (); // Déconnexion de MySQL
echo "!";
}
if (is_numeric ($tel)) //&& !is_numeric ($nom) && !is_numeric ($pren))
{
mysql_connect ("localhost", "root", "") or die ("Noon ! ! !"); // Connexion à MySQL
mysql_select_db ("exo_bd_01"); // Connexion à la base de données "exo_bd_01"
$requete = "INSERT INTO gagnants VALUES ('', '$nom', '$pren', '$tel');"; // Réquête SQLrequete = "INSERT INTO gagnants VALUES ('', 'caca', 'pipi', '33259874');"; // Réquête SQL
mysql_query ($requete); // Exécution de la réquête
mysql_close (); // Déconnexion de MySQL
echo "!";
}
Voila, ton code en corrigé :
<?php
$nom = 'toto';
$pren = 'titi';
$tel = 021425; //si c'est bien un numéro de telephone, te conseil de le mettre en chaine de caractére,
//car avec un 0 devant, le type numeric va l'enlever vu qu'il ne sert a rien
$connect = mysql_connect("localhost", "root", "") or die ("Noon ! ! !");
mysql_select_db("exo_bd_01", $connect);
$requete = "INSERT INTO gagnants(nom, prenom, tel) VALUES ('$nom', '$pren', '$tel');"; //je supose que la 1er champs etait un id en auto-increment non?
mysql_query($requete);
echo "!";
?>
Rien ne s'insère, etrange, moi sa marche....
Je vois 2 raisons a sa :
- les noms des champs sont les bons dans la ligne $requete = "INSERT INTO gagnants(nom, prenom, tel) VALUES ('$nom', '$pren', '$tel'); les noms des champs que j'ai mit dans ma requete corresponde a ceux de ma base, faut pas oublié de les modifiers si il sont différents.
- Tu rentre pas dans ton if car $tel est pas numéric, tu recupere les valeurs a partir d'un formulaire je suppose?
Essai se code :
et dit moi se qu'il t'affiche
Je vois 2 raisons a sa :
- les noms des champs sont les bons dans la ligne $requete = "INSERT INTO gagnants(nom, prenom, tel) VALUES ('$nom', '$pren', '$tel'); les noms des champs que j'ai mit dans ma requete corresponde a ceux de ma base, faut pas oublié de les modifiers si il sont différents.
- Tu rentre pas dans ton if car $tel est pas numéric, tu recupere les valeurs a partir d'un formulaire je suppose?
Essai se code :
<?php
if (is_numeric($tel)) {
$connect = mysql_connect("localhost", "root", "") or die ("Noon ! ! !");
mysql_select_db("exo_bd_01", $connect);
$requete = "INSERT INTO gagnants(nomchamp2, nomchamp3, nomchamp4) VALUES ('$nom', '$pren', '$tel');"; //je supose que la 1er champs etait un id en auto-increment non?
echo $requete;
mysql_query($requete);
echo "!";
}else
{
echo "raté";
}
?>
et dit moi se qu'il t'affiche
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon! Voici tout le code:
************************
*********************************
Il n'affiche rien de particulier sur la page;
n'envoie aucune erreur;
n'enregistre rien dans la base de données non plus.
Je commence à désespérer...
************************
<html>
<head><title> </title></head>
<body>
<form action = "bd_01.php" method = "POST">
<h2 align = "center"> Enregistrement des gagnants </h2>
<hr /> <br />
<table align = "center">
<tr>
<td> Nom : </td>
<td colspan = 2> <input type = "text" name = "nom"> </td>
</tr>
<tr>
<td> Prénoms : </td>
<td colspan = 2> <input type = "text" name = "pren"> </td>
</tr>
<tr>
<td> N° de téléphone : </td>
<td colspan = 2> <input type = "text" name = "tel"> </td>
</tr>
<tr>
<td> </td>
<td> <input type = "submit" value = "OK"> </td>
<td> <input type = "reset" value = "Cancel"> </td>
</tr>
</table>
</form>
<?php
if (isset ($_POST['nom']) && isset ($_POST['pren']) && isset ($_POST['num']))
{
$nom = $_POST['nom'];
$pren = $_POST['pren'];
$tel = $_POST['tel'];
}
else
{
$nom = 0;
$pren = 0;
$tel = "";
echo "NB : veuillez renseigner tous les champs... <br> <br>";
}
if (is_numeric ($tel)) //&& !is_numeric ($nom) && !is_numeric ($pren))
{
$connexion = mysql_connect ("localhost", "root", "") or die ("Noon ! ! !"); // Connexion à MySQL
mysql_select_db ("exo_bd_01", $connexion); // Connexion à la base de données "exo_bd_01"
$requete = "INSERT INTO gagnants ('id', 'nom', 'prenoms', 'numtel') VALUES ('', '$nom', '$pren', '$tel');"; // Réquête SQL
mysql_query ($requete); // Exécution de la réquête
mysql_close (); // Déconnexion de MySQL
echo "Youpi ! ! !";
}
?>
</body>
</html>
*********************************
Il n'affiche rien de particulier sur la page;
n'envoie aucune erreur;
n'enregistre rien dans la base de données non plus.
Je commence à désespérer...
Le formulaire est bon donc je ne le remet pas, voici le code php corrigé avec en commentaires, les erreurs trouver:
Voila, enjoy!!
<?php
//Je t'ai simplifier un peu ton code, il est inutile d'initialiser des variables si elle ne servent a rien!!
if (isset ($_POST['nom']) && isset ($_POST['pren']) && isset ($_POST['tel'])) //tu avait mit $_POST['num'] au lieu de $_POST['tel'] donc tu ne rentrais jamais dans ton code...
{
$nom = $_POST['nom'];
$pren = $_POST['pren'];
$tel = $_POST['tel'];
if (is_numeric($tel)) //&& !is_numeric ($nom) && !is_numeric ($pren))
{
$connexion = mysql_connect ("localhost", "root", "") or die ("Noon ! ! !");
mysql_select_db ("exo_bd_01", $connexion);
$requete = "INSERT INTO gagnants (nom, prenoms, numtel) VALUES ('$nom', '$pren', '$tel');";//Inutile de mettre l'id si il est en auto_increment., de plus, il n'y a pas de ' ' pour le nom des champs. Pour eviter se genre d'erreur, affiche la requête dans un écho et test la directement dans PhpMyAdmin, tu verra si il y a pas une erreur de syntaxe
mysql_query ($requete);
echo "Youpi ! ! !";
}
}
else
{
echo "NB : veuillez renseigner tous les champs... <br> <br>";
}
?>
Voila, enjoy!!
if (is_numeric ($tel)) //&& !is_numeric ($nom) && !is_numeric ($pren))
{
mysql_connect ("localhost", "root", "") or die ("Noon ! ! !"); // Connexion à MySQL
mysql_select_db ("exo_bd_01"); // Connexion à la base de données "exo_bd_01"
$requete = "INSERT INTO gagnants VALUES ('', '$nom', '$pren', '$tel');"; // Réquête SQLrequete = "INSERT INTO gagnants VALUES ('', 'caca', 'pipi', '33259874');"; // Réquête SQL
mysql_query ($requete); // Exécution de la réquête
mysql_close (); // Déconnexion de MySQL
echo "Youpi ! ! !";
}
les données ne s' enregistrent toujours pas dans la base de données