Probleme insertion dans bdd
Résolu/Fermé
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
-
Modifié par jordane45 le 17/12/2014 à 16:54
Dilidim Messages postés 106 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 25 janvier 2017 - 18 déc. 2014 à 15:46
Dilidim Messages postés 106 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 25 janvier 2017 - 18 déc. 2014 à 15:46
A voir également:
- Probleme insertion dans bdd
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Touche insertion clavier - Guide
3 réponses
jordane45
Messages postés
38308
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
Modifié par jordane45 le 17/12/2014 à 17:08
Modifié par jordane45 le 17/12/2014 à 17:08
Bonjour,
1 - Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
2 - Ces messages ne sont "que" des alertes ....
Ca ne gène en rien le fonctionnement de tes scripts PHP.
Ils t'informent que tu as des variables non définies .... que tu utilises l'extension Mysql qui va devenir (peut être un jour) obsolète ....
Tu peux éventuellement désactiver l'affichage de ces messages d'erreur :
en plaçant cette ligne de code au début de tes pages :
L'idéal serait tout de même de corriger certains de ces "notices" :
en vérifiant... avant de les utiliser.. que les variables existent :
Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
1 - Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
2 - Ces messages ne sont "que" des alertes ....
Ca ne gène en rien le fonctionnement de tes scripts PHP.
Ils t'informent que tu as des variables non définies .... que tu utilises l'extension Mysql qui va devenir (peut être un jour) obsolète ....
Tu peux éventuellement désactiver l'affichage de ces messages d'erreur :
en plaçant cette ligne de code au début de tes pages :
error_reporting(E_ALL & ~E_NOTICE);
L'idéal serait tout de même de corriger certains de ces "notices" :
en vérifiant... avant de les utiliser.. que les variables existent :
if(isset($_POST)){ $nom_ent = isset($_POST["nom_ent"])?$_POST["nom_ent"] :''; $nom_cl = isset($_POST["nom_cl"])? $_POST["nom_cl"] :'' ; $fonc = isset($_POST["fonc"])?$_POST["fonc"]:''; //etc... }else{ echo "<br> Aucune variable POST n'est disponible !<br>"; }
Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
jordane45
Messages postés
38308
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
Modifié par jordane45 le 17/12/2014 à 17:40
Modifié par jordane45 le 17/12/2014 à 17:40
Testes ce code :
Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
<?php // Desactiver les "notice" //error_reporting(E_ALL & ~E_NOTICE); // Connexion à la BDD $cnx = mysql_connect( "localhost", "root", "root" ); $db = mysql_select_db( "actiline" ) ; //Fonction de récupération des variables POST function getPost($variableName,$defaultValue=''){ return isset($_POST[$variableName])?$_POST[$variableName]:$defaultValue; } //On vérifie qu'on a bien des données dans $_POST // Avant de continuer : if(isset($_POST)){ // récupération des variables $nom_ent = getPost("nom_ent") ; $nom_cl = getPost("nom_cl") ; $fonc = getPost("fonc"); $civ = getPost("civ"); $groupe = getPost("fonction"); $contrat = getPost("contrat"); $fixe = getPost("fixe"); $mob = getPost("mob"); $fax = getPost("fax"); $mail = getPost("mail"); $web = getPost("web"); $adr = getPost("adr"); $ville = getPost("ville"); $cp = getPost("cp"); $sql = "INSERT INTO client_tb ( nom_ent , nom_cl , fonc , civ , groupe , contrat , fixe , mob , fax , mail , web , adr , ville , cp ) VALUES ( '$nom_e' ,'$nom_cl' ,'$fonc' ,'$civ' ,'$groupe' ,'$contrat' ,'$fixe' ,'$mob' ,'$fax' ,'$mail' ,'$web' ,'$adr' ,'$ville' ,'$cp' ) " ; $requete = mysql_query($sql, $cnx) or die( mysql_error() . " <br> REQUETE : <pre>".$sql."</pre>" ) ; if($requete) { echo("<br>L'insertion a été correctement effectuée") ; } else { echo("<br>L'insertion à échouée") ; } }else{ echo "<pre>Aucune donnée présente dans _POST </pre>"; } ?>
Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
17 déc. 2014 à 18:05
17 déc. 2014 à 18:05
Deux indications d'erreurs : une à la ligne 7 et une autre à la ligne 54.
le echo("<br>L'insertion a été correctement effectuée") ; apparait. Par contre dans la dbb il n'y a que l'ajout d'un no_client, le reste n'apparait pas.
le echo("<br>L'insertion a été correctement effectuée") ; apparait. Par contre dans la dbb il n'y a que l'ajout d'un no_client, le reste n'apparait pas.
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
18 déc. 2014 à 09:54
18 déc. 2014 à 09:54
Voici mon formulaire :
<html> <head> <meta charset="utf-8" /> <title>ActiLine</title> <link rel="stylesheet" href="style/style.css" /> </head> <body> <form name="formulaire" action="traitement.php" method="POST"> <input type="submit" value="Valider"> <input type="button" value="Modifer"> <table> <tr> <td>Entreprise</td> <td><input type="text" id="nom_ent"></td> <td>Fixe</td> <td><input type="text" id="fixe" /></td> </tr> <tr> <td>Contact </td> <td><input type="text" id="nom_cl" /></td> <td> Mobile</td> <td><input type="text" id="mob" /></td> </tr> <tr> <td>Fonction</td> <td><input type="text" id="fonc" /> </td> <td>Fax</td> <td><input type="text" id="fax" /></td> </tr> <tr> <td>Civilité</td> <td><input name="civ" value="me" type="radio"> Madame <input name="civ" value="me" type="radio"> Monsieur</td> <td>Email</td> <td> <input type="text" id="mail" /></td> </tr> <tr> <td>Groupe</td> <td><select> <option>Particulier</option> <option>Pro</option></select></td> <td>Web</td> <td> <input type="text" id="web" /></td> </tr> <tr> <td>Contrat</td> <td><input name="contrat" value="me" type="radio"> Oui <input name="contrat" value="me" type="radio"> Non</td> <td>Adresse</td> <td><input type="text" id="adr" /></td> </tr> <tr> <td>Ville</td> <td><input type="text" id="ville" /> </td> <td>CP</td> <td><input type="text" id="cp" /></td> </tr> </table> <h3>historique</h3> <textarea name="commentaire" id="commentaire" rows="10" cols="50"></textarea> </form> </body> </html>
jordane45
Messages postés
38308
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
18 déc. 2014 à 10:25
18 déc. 2014 à 10:25
Bonjour,
Si tu fais un print_r($_POST); au début de ta page traitement.php .. tu vas voir qu'il y a un souci....
En effet... tes INPUT (dans ton formulaire) n'ont "que" des ID ...
hors... il leur faut aussi des "name"...
Si tu fais un print_r($_POST); au début de ta page traitement.php .. tu vas voir qu'il y a un souci....
En effet... tes INPUT (dans ton formulaire) n'ont "que" des ID ...
<td><input type="text" id="nom_ent"></td>
hors... il leur faut aussi des "name"...
<td><input type="text" name = "nom_ent" id="nom_ent"></td>
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
18 déc. 2014 à 10:42
18 déc. 2014 à 10:42
En ajoutant print_r($_POST); il m'indique : Array ( [nom_ent] => 5646 [fixe] => 868 [nom_cl] => 468468 [mob] => 464 [fonc] => 64 [fax] => 4 [mail] => [web] => [adr] => [ville] => [cp] => [commentaire] => )
Le id sert simplement pour le css ?
J'ai remplacé "id' par "name" comme tu me l'as indiqué et ça fonctionne.
Dans mon formulaire la partie "groupe" ne remonte pas, que mettre pour régler ce souci ?
Le id sert simplement pour le css ?
J'ai remplacé "id' par "name" comme tu me l'as indiqué et ça fonctionne.
Dans mon formulaire la partie "groupe" ne remonte pas, que mettre pour régler ce souci ?
jordane45
Messages postés
38308
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
18 déc. 2014 à 11:49
18 déc. 2014 à 11:49
Je ne t'ai pas dit de remplacer l'un par l'autre .... mais d' AJOUTER le NAME ....
(regarde mon exemple)....
les ID sont peut être utilisés pour du JAVASCRIPT et/ou du CSS.....
(regarde mon exemple)....
les ID sont peut être utilisés pour du JAVASCRIPT et/ou du CSS.....
jordane45
Messages postés
38308
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
Modifié par jordane45 le 18/12/2014 à 11:51
Modifié par jordane45 le 18/12/2014 à 11:51
Pour la parti GROUPE .. il faut mettre des VALUE dans tes OPTION
<td>Groupe</td> <td> <select> <option value="particuler">Particulier</option> <option value="Pro">Pro</option> </select></td>
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
18 déc. 2014 à 12:29
18 déc. 2014 à 12:29
C'est noté pour l'utilisation de "id".
j'ai rajouté "value" comme dans l'exemple mais cela ne fonctionne pas. Ne faut il pas ajouter "name" comme pour les checkboxs ?
j'ai rajouté "value" comme dans l'exemple mais cela ne fonctionne pas. Ne faut il pas ajouter "name" comme pour les checkboxs ?
jordane45
Messages postés
38308
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
18 déc. 2014 à 12:38
18 déc. 2014 à 12:38
Oui je n'avait pas tout regarde. .
il faut mettre un name sur le SELECT
il faut mettre un name sur le SELECT
17 déc. 2014 à 17:10
La création de variable s'effectue en même temps que la création de la table non ?
17 déc. 2014 à 17:34
Hein ???
$toto est une variable
$_POST est un "tableau" de variables
$_POST['titi'] est une variable (contenu dans $_POST)
Aucun rapport avec une table....
17 déc. 2014 à 18:01
17 déc. 2014 à 18:08
Il faut donc que tu récupères ces données.. pour ensuite les insérer dans ta BDD.
Tu le faisais déjà (en parti) lorsque tu écrivais par exemple :
Mais pour plus de sécurité .. on vérifie d'abord que la variable $_POST["nom_ent"] existe AVANT de l'utiliser. Pour cela ... on utilise la fonction ISSET()
Testes le code que je t'ai posté (ci dessous) et dis moi si ça fonctionne