Base dedonnées

Résolu
tanon - 18 nov. 2013 à 13:41
jordane45
Messages postés
35793
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
- 19 nov. 2013 à 18:13
Bonjour,
excusez moi énormément j'ai besoin d'une grande par rapport a mon enregistrement dans ma base car je ne sais pas mais lorsque je renseigne certains champs de mon formulaire par exemple : DATE et TYPE d'incident il n'affiche rien dans ma base de donnée et je ne sais pas pourquoi . svp aidez moi

4 réponses

jordane45
Messages postés
35793
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
358
18 nov. 2013 à 14:31
Bonjour,

Là comme ça.. a vue de nez.. je dirais....Je n'en sais rien...!

Par contre, si tu prends le temps de nous montrer le code qui te pose problème (et UNIQUEMENT la partie du code qui ne fonctionne pas (pas toute ta page !! )) on pourrai essayer de t'aider.

Encore une fois,(j'espère la dernière) je t'invite à lire les conseils d'écriture du règlement du site : conseils-d-ecriture

Donc :
Tu nous montres :
- La partie "Formulaire"
- Le code qui fait l'INSERT (ou l'UPDATE) de ta BDD
- La description des champs de ta table
0
merci pour ton aide voila le code de mon formulaire :<tr>
<td><strong> Type : </strong> </td>
<td><select name="type de demande" style=" width:150px;">
<option value="Travaux">Travaux </option>
<option value="Assistance"> Assistance </option>
<option value="Fourniture"> Fourniture </option>
<option value="Formation">Formation </option>
</select>
<td width="74" align="right"><strong> Delai :</strong> </td>
<td width="250"><input type="text" name="delai" maxlength="65" style="width:250px;" /></td>

</tr>
<tr>
<td><strong> Date : </strong> </td>
<td><input type="text" name="date" maxlength="65" style="width:180px;" /></td>

</tr>
<tr>
<td><strong> Etat: </strong> </td>
<td><input type="checkbox" name="etat" value="URGENCE"
checked = "checked" />
URGENCE
<input type="checkbox" name="etat" value="A PREVOIR" />
A PREVOIR
<input type="checkbox" name="etat" value="EN ATTENTE" />
EN ATTENTE</td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="submit" type="submit" value="Envoyer" />
<input name="reset" type="reset" value="Annuler" />
</div></td>
</tr>
voici les descriptions des champs de ma table demande :date(type=date,null=non, defaut= aucune)
type (type=varchar(250, null=non, defaut= aucune)
0
jordane45
Messages postés
35793
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
358
18 nov. 2013 à 17:37
Bonjour,

Déjà, merci d'utiliser la coloration syntaxique lorsque tu poste du code !!
Regarde ici si tu ne sais pas le faire : http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

ensuite......
- Je ne trouve pas tes balises FORM
- Je ne vois pas ton code PHP qui est censé faire l'Insert dans ta BDD
- As-tu essayé d'ajouter des ECHO ( ou Print_r ) dans ton script PHP pour essayer de voir ce qui ne se passait pas correctement ?
- As-tu essayé de regarder ce que ton formulaire te renvoyait comme requête ? Fonctionne-t'elle "manuellement" ?
0
au fait le problème se situe au niveau des descriptions des champs de mon formulaire par exemple pour un champ date lorsque je veux faire un enregistrement il ne donne rien dans la base sachant que j'inserer la date il en est de même pour mon champ type . donc je te donne la description de mon script PHP :
<?php

//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "GEST_INC" ) ;

//récupération des valeurs des champs:

//etat :

@$etat = $_POST["actif"];

//id:

@$id = $_POST["id"];

//utilisateur
$utilisateur = $_POST["utilisateur"] ;
//type:
@$type = $_POST["type"] ;

//date:
@$date = $_POST["date"] ;
//etat :
$etat= $_POST["etat"];

//délai:
$delai= $_POST["delai"];

//création de la requête SQL:
$sql = "INSERT INTO demande (id ,utilisateur , type , date, etat , delai)
VALUES ( '', '$utilisateur', '$type','$date','$etat', '$delai') " ;

//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;

//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{
echo(" <b>L'insertion a été correctement effectuée </b>") ;
//ici s'affiche mon tableau

echo "<table align=center border=1>
<tr>";
//titre de mon tableau
echo "<th>id</th>
<th>utilisateur</th>
<th>type</th>
<th>date</th>
<th>etat</th>
<th>delai</th>" ;



echo "</tr>";

// affiche mes variables


echo "<td>".$id ."</td>";
echo "<td>".$utilisateur."</td>";
echo "<td>".$type. "</td>";
echo "<td>".$date. "</td>";
echo "<td>".$etat. "</td>";
echo "<td>".$delai. "</td>";

echo "</tr>" ;

//fin du tableau
echo"</table>";
}
else
{
echo("l'insertion à échouée");
}

?>
0
jordane45
Messages postés
35793
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
358
18 nov. 2013 à 18:14
=>>>>>>> Où est la coloration SYNTAXIQUE ?????? !!!!!!
Dernière fois que je te le demande... après... je ne répond plus !


Quoi qu'il en soit.. merci de remplacer le code qui se trouve entre :
//création de la requête SQL:
et //affichage des résultats, pour savoir si l'insertion a marchée:

par celle que je te colle ci-dessous et de nous dire ce que tu obtiens.

//création de la requête SQL:
$sql = "INSERT INTO demande (id ,utilisateur , type , date, etat , delai)
VALUES ( '', '$utilisateur', '$type','$date','$etat', '$delai') " ;

Echo " Variables passees en POST : <br>";
Print_r($_POST);
Echo " Requête : <br>";
Print_r($sql);

//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx)  ; 

0
BONJOUR jordane45 je viens juste de tester le code que tu m'a remis et voila comment il fonctionne lorsque je faire mon enregistrement :Variables passees en POST :
Array ( [utilisateur] => user012 [type_de_demande] => Formation [delai] => [date_] => [etat] => URGENCE [submit] => Envoyer ) Requête :
INSERT INTO demande (id ,utilisateur,type ,date, etat ,delai) VALUES ( '','user012','','','URGENCE', '') L'insertion a été correctement effectuée
0
voici mon code html des champs DATE et TYPE:
<tr>
<td><strong> Type : </strong> </td>
<td><select name="type" style=" width:150px;">
<option value="Travaux">Travaux </option>
<option value="Assistance"> Assistance </option>
<option value="Fourniture"> Fourniture </option>
<option value="Formation">Formation </option>
</select>
<td width="74" align="right"><strong> Delai :</strong> </td>
<td width="250"><input type="text" name="delai" maxlength="65" style="width:250px;" /></td>

</tr>
<tr>
<td><strong> Date : </strong> </td>
<td><input type="text" name="date" maxlength="65" style="width:180px;" /></td>

</tr>
0
jordane45
Messages postés
35793
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
358
Modifié par jordane45 le 19/11/2013 à 10:33
Bonjour,

La réponse à ton souci est dans ce que tu viens de nous poster....

Comme tu as pu le voir (enfin j'espère que tu as essayé de comprendre ...) tes variables DATE et ETAT sont vide....dès le passage en POST.

Donc je pense que tu n'as pas inséré ces champs DANS LES BALISES FORM !

maintenant, peux-tu, nous montrer le code HTML qui contient les champs DATE et TYPE ainsi que les balises <form> qui constituent ton formulaire ??


EDIT : Pardon, les champs concernés sont DATE et DELAI
 delai] => [date_] => 
0
jordane45
Messages postés
35793
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
358
Modifié par jordane45 le 19/11/2013 à 10:39
Au passage, évite d'utiliser la suppression des messages d'erreur (avec le @ )...
Car sinon, tu risques d'avoir des soucis de fonctionnement de ton application auxquelles tu n'aurais peut-être pas pensé.

Lorsque tu récupère des variables ( POST ou GET ) le mieux c'est de tester avec ISSET.
Tu peux écrire par exemple :

//date: 
(isset($_POST["date"] ))? $date=$_POST["date"] : $date="ERROR" ;

/* 
C'est la syntaxe d'un  IF Mavariable est initialisée...alors... sinon..
Tu peux remplacer ERROR par n'importe quelle valeur par défaut qui t'interesse...
Ou même mettre à la place un ECHO
*/
(isset($_POST["date"] ))? $date=$_POST["date"] : Echo "ERROR" ;



0
jordane45 j'ai remarqué que lorsque je met les isset pour le test de mes variable là ou j'ai ma requête sql : la date change de couleur et s'affiche automatiquement en bleu au lieu du noir comme il était précedement
0
jordane45
Messages postés
35793
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
358
19 nov. 2013 à 11:19
Je ne répondrais plus tant que tu n'utiliseras pas la coloration syntaxique du site !!!
0
excuses moi jordane45 mais je ne sais pas comment utiliser la coloration syntaxique du site pour le mettre dans mon commentaire
0
jordane45
Messages postés
35793
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
358
19 nov. 2013 à 11:40
Relis mes messages. ..l'explication est dedans !
0
jordane45
Messages postés
35793
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
358
19 nov. 2013 à 11:49
Bon, je vais faire un dernier petit effort....

Le code HTML contenant tes champs DATE et TYPE... se trouvent t'ils DANS tes balises FORM ?


<form name="form1" method="post" action="demande.php">

// ICI TES CHAMPS DATE,TYPE,ETAT,UTILISATEUR etc...

</form>



Merci de nous montrer, donc ton code contenant les balises <form> ET les champs DATE et TYPE.

En utilisant LA COLORATION SYNTAXIQUE :
GUIDE COLORATION SYNTAXIQUE ICI !


Si tes champs ne se trouvent pas DANS les balises FORM... c'est normal qu'ils n'arrivent pas dans tes variables POST.


0
Merci jordane45 et maintenant que je sais le faire par ton aide je te le transmettrai tout de suite :
p><div align="center"><strong>NOUVELLE DEMANDE</strong></div></p>
<table width="812" height="144" align="center" >
<form name="form1" method="post" action="demande.php">
<tr>
<td width="106"><strong> Utilisateur:</strong> </td>
<td width="362"><select name="utilisateur" style="width:230px">
<option value="user001">KEBE YACOUBA</option>
<option value="user002">TOURE SARAN</option>
<option value="user003">N'GUESSAN BERNISE</option>
<option value="user004">BERTE MARIE ANTOINETTE</option>
<option value="user005">Mme GANON</option>
<option value="user006">LOU VIVIANE</option>
<option value="user007">BROU YAO PAUL</option>
<option value="user008">KASSI DAMO</option>
<option value="user009">TRAORE FATOUMATA</option>
<option value="user010">THIAM KADIATOU</option>
<option value="user011">DICKO ALY</option>
<option value="user012">ABOUGNAN ESTHER</option>
<option value="user013">CAMARA BANGALI</option>
<option value="user014">ABBE N'CHO</option>
<option value="user015">LEVRY TOUSSAINT</option>
<option value="user016">KOUADIO JOSEPH</option>
<option value="user017">TROBIA HELENE</option>
<option value="usr018">KOUASSI PARFAIT</option>
<option value="user019">KOUAKOU HERMANN</option>
<option value="usr020">KONE MAMADOU</option>
<option value="user021">NIAMIEN YAO THEODORE</option>
<option value="user022">BIDI SANDRA</option>
<option value="user023">CARLTON COULIBALY</option>
<option value="usr024">GBIZIE NICOLAS</option>
</select>
</td>
</tr>
<tr>
<td><strong> Type : </strong> </td>
<td><select name="type" style=" width:150px;">
<option value="Travaux">Travaux </option>
<option value="Assistance"> Assistance </option>
<option value="Fourniture"> Fourniture </option>
<option value="Formation">Formation </option>
</select>
<td width="74" align="right"><strong> Delai :</strong> </td>
<td width="250"><input type="text" name="delai" maxlength="65" style="width:250px;" /></td>

</tr>
<tr>
<td><strong> Date : </strong> </td>
<td><input type="hidden" name="date" maxlength="65" style="width:180px;" /></td>

</tr>
<tr>
<td><strong> Etat: </strong> </td>
<td><input type="checkbox" name="etat" value="URGENCE"
checked = "checked" />
URGENCE
<input type="checkbox" name="etat" value="A PREVOIR" />
A PREVOIR
<input type="checkbox" name="etat" value="EN ATTENTE" />
EN ATTENTE</td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="submit" type="submit" value="Envoyer" />
<input name="reset" type="reset" value="Annuler" />
</div></td>
</tr>
</form>
</table>
</body>
0
jordane45
Messages postés
35793
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
358
19 nov. 2013 à 12:14
???? et la coloration syntaxique ????......
0
p><div align="center"><strong>NOUVELLE DEMANDE</strong></div></p>
<table width="812" height="144" align="center" >
<form name="form1" method="post" action="demande.php">
<tr>
<td width="106"><strong> Utilisateur:</strong> </td>
<td width="362"><select name="utilisateur" style="width:230px">
<option value="user001">KEBE YACOUBA</option>
<option value="user002">TOURE SARAN</option>
<option value="user003">N'GUESSAN BERNISE</option>
<option value="user004">BERTE MARIE ANTOINETTE</option>
<option value="user005">Mme GANON</option>
<option value="user006">LOU VIVIANE</option>
<option value="user007">BROU YAO PAUL</option>
<option value="user008">KASSI DAMO</option>
<option value="user009">TRAORE FATOUMATA</option>
<option value="user010">THIAM KADIATOU</option>
<option value="user011">DICKO ALY</option>
<option value="user012">ABOUGNAN ESTHER</option>
<option value="user013">CAMARA BANGALI</option>
<option value="user014">ABBE N'CHO</option>
<option value="user015">LEVRY TOUSSAINT</option>
<option value="user016">KOUADIO JOSEPH</option>
<option value="user017">TROBIA HELENE</option>
<option value="usr018">KOUASSI PARFAIT</option>
<option value="user019">KOUAKOU HERMANN</option>
<option value="usr020">KONE MAMADOU</option>
<option value="user021">NIAMIEN YAO THEODORE</option>
<option value="user022">BIDI SANDRA</option>
<option value="user023">CARLTON COULIBALY</option>
<option value="usr024">GBIZIE NICOLAS</option>
</select>
</td>
</tr>
<tr>
<td><strong> Type : </strong> </td>
<td><select name="type" style=" width:150px;">
<option value="Travaux">Travaux </option>
<option value="Assistance"> Assistance </option>
<option value="Fourniture"> Fourniture </option>
<option value="Formation">Formation </option>
</select>
<td width="74" align="right"><strong> Delai :</strong> </td>
<td width="250"><input type="text" name="delai" maxlength="65" style="width:250px;" /></td>

</tr>
<tr>
<td><strong> Date : </strong> </td>
<td><input type="hidden" name="date" maxlength="65" style="width:180px;" /></td>

</tr>
<tr>
<td><strong> Etat: </strong> </td>
<td><input type="checkbox" name="etat" value="URGENCE"
checked = "checked" />
URGENCE
<input type="checkbox" name="etat" value="A PREVOIR" />
A PREVOIR
<input type="checkbox" name="etat" value="EN ATTENTE" />
EN ATTENTE</td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="submit" type="submit" value="Envoyer" />
<input name="reset" type="reset" value="Annuler" />
</div></td>
</tr>
</form>
</table>
</body>
0
jordane45
Messages postés
35793
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
358
Modifié par jordane45 le 19/11/2013 à 12:24
De toutes façons, tu as , en effet, des soucis sur tes champs date et etat...


<tr>
<td><strong> Date : </strong> </td>

<td><input type="hidden" name="date" maxlength="65" style="width:180px;" /></td>

</tr>
<tr>
<td><strong> Etat: </strong> </td>

<td><input type="checkbox" name="etat" value="URGENCE"
checked = "checked" />

URGENCE
<input type="checkbox" name="etat" value="A PREVOIR" />
A PREVOIR

<input type="checkbox" name="etat" value="EN ATTENTE" />
EN ATTENTE</td>

</tr>

Ton champ Date est de type HIDDEN... donc tu n'y mets rien ?
Tu n'as pas mis de VALUE ...

Pour ce qui est de ETAT... tu utilises des checkBox..ok.. mais vu que tu veux pouvoir en cocher plusieurs il faut utiliser des crochets dans le nom :
name="etat[]" ... Vas regarder ce tuto :
http://creer-un-site.fr/comment-recuperer-les-valeurs-d-un-checkbox-multiple-285.php
0
ok mais je crois que concernant le champ ÉTAT. je n'ai pas de soucis a ce niveau . ce qui me tracasse c'est le champ type et date que je ne sais pas comment remédier car malgré tout ce que tu m'as dire de faire il reste toujours intact et je ne comprends rien a tout ça.
0