Base qui ne se remplit pas

Résolu/Fermé
cinefever Messages postés 68 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 29 février 2012 - 22 févr. 2009 à 16:37
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 22 févr. 2009 à 18:50
Bonjour,

Je me permets de vous solliciter pour vous faire part d'un problème : quand je remplis mon formulaire, ma base ne se remplit pas (si ce n'est le champ id qui est en auto increment), les autres champs sont vierges.

Voici mon code... Si quelque chose vous semble bizarre...

Merci pour votre aide

<?php
$db = mysql_connect('rdbms.strato.de', 'mon utilisateur', 'mon mdp') or die('Erreur de connexion '.mysql_error());
mysql_select_db('ma base'$db) or die('Erreur de selection '.mysql_error());

$sql=" insert into courrier (type,date_reception,nomsociete,titre,civilite,nom,prenom,adresse,boitepostale,code_postal,ville,telephone,thematique_courrier,objet_courrier,transfere_a,autrep,date_reponse,dateadjoint)
values ('$type','$date_reception','$nomsociete','$titre','$civilite','$nom','$prenom','$adresse','$boitepostale','$code_postal','$ville','$telephone','$thematique_courrier','$objet_courrier','$transfere_a','$autrep','$date_reponse','$dateadjoint')";

mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

echo "Le courrier a été ajouté dans la base";
mysql_close(); // on ferme la connexion
?>

4 réponses

arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
22 févr. 2009 à 17:00
Bonjour,
Premièrement, les requètes SQL se mettent normalement en majuscule exemple:
$sql=" INSERT INTO courrier

Ensuite tu places des variables dans celle-ci mais à quel moment remplis tu ces variables ?
Si tu récupères tes données d'un formulaire tu dois récupérer les données avec un $_POST['variable']
Je te suggère de modifier ça comme suis:
$sql = 'INSERT INTO courrier VALUES("", "'.mysql_escape_string($_POST['variable']).'"

en supposant que dans ta table le premier champ est l'id en auto-increment il doit resté vide dans la requète.
mysql_escape_string() te permet de protéger ta base des injections SQL.
A toi d'adapter à ton code.
Dit moi ensuite si ça fonctionne mieux.
0
cinefever Messages postés 68 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 29 février 2012 8
22 févr. 2009 à 17:02
merci pour ta réponse. Le POST se fait dans un autre fichier (celui qui contient le formulaire)

Je vais quand même modifier avec ce que tu me propose et je te dis ça après,
merci
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
22 févr. 2009 à 17:03
Et tu les fait transiter comment entre les deux?
Sur cette page tu peux vérifier tes variables en rajoutant provisoirement un
echo $variable;

pour les contrôler une à une.
0
cinefever Messages postés 68 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 29 février 2012 8
22 févr. 2009 à 17:11
Pour que tu comprenne mieux, voici une partie du code de mon fichier saisie.html (qui contient le formulaire de saisie des renseignements)

J'ai fais la modif mais rien ne change

<strong>SAISIE D'UN COURRIER</strong></p>

<div align="center">
<form name="frm" method="POST" action="creacourrier.php" onSubmit="return verif()">
<table border="0" width="60%" id="table1" cellspacing="1" class="style9">
<tr>
<td align="left" valign="top" class="style3" style="width: 26%">
<strong>Type de courrier</strong></td>
<td align="left" valign="top" class="style3" style="width: 63%">
<select name="type">
<option selected="selected" value="A">Courrier arrivé
</option>
<option value="D">Courrier départ</option>
</select> </td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="width: 26%">
<strong>Date de réception ou de départ</strong></td>
<td align="left" valign="top" class="style3" style="width: 63%">
<strong>
<input type="text" name="date_reception" size="10" class="style3" style="width: 124px"></strong></td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="width: 26%">
<strong>Société</strong></td>
<td align="left" valign="top" class="style3" style="width: 63%">
<strong>
<input type="text" name="nomsociete" size="50" class="style3"></strong></td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="width: 26%">
<strong>Titre du correspondant</strong></td>
<td align="left" valign="top" class="style3" style="width: 63%">
<strong>
<input type="text" name="titre" size="50" class="style3"></strong></td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="width: 26%">
<strong>Civilité</strong></td>
<td align="left" valign="top" class="style3" style="width: 63%">
<strong>
<select name="civilite" class="style3">
<option value="Monsieur" selected="selected">Monsieur</option>
<option value="Madame">Madame</option>
<option value="Mademoiselle">Mademoiselle</option>
<option value="Association">Association</option>
<option value="Société">Société</option>
</select></strong></td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="width: 26%">
<strong>Nom</strong></td>
<td align="left" valign="top" class="style3" style="width: 63%">
<strong>
<input type="text" name="nom" size="50" class="style3"></strong></td>
</tr>
<tr>

<td align="left" valign="top" class="style3" style="width: 26%">
<strong>Prénom </strong> </td>
<td align="left" valign="top" class="style3" style="width: 63%">
<strong>
<input type="text" name="prenom" size="50" class="style3"></strong></td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="width: 26%">
<strong>Adresse </strong> </td>
<td align="left" valign="top" class="style3" style="width: 63%">
<strong>
<input type="text" name="adresse" size="50" class="style3"></strong></td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="width: 26%">
<strong>BP</strong></td>
<td align="left" valign="top" class="style3" style="width: 63%">
<strong>
<input type="text" name="boitepostale" size="10" class="style3" style="width: 124px"></strong></td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="width: 26%">
<strong>Code Postal </strong> </td>
<td align="left" valign="top" class="style3" style="width: 63%">
<strong>
<input type="text" name="code_postal" size="50" class="style3" value="69006"></strong></td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="width: 26%">
<strong>Ville</strong></td>
<td align="left" valign="top" class="style3" style="width: 63%">
<strong>
<input type="text" name="ville" size="50" class="style3" value="LYON"></strong></td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="width: 26%">
<strong>Téléphone</strong></td>
<td align="left" valign="top" class="style3" style="width: 63%">
<strong>
<input type="text" name="telephone" size="50" class="style3"></strong></td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="width: 26%">
<strong>Thématique </strong>
</td>
<td align="left" valign="top" class="style3" style="width: 63%">
<strong>
<select name="thematique_courrier" class="style3">
<option value="Sécurité" selected="selected">Sécurité</option>
<option value="Déplacement">Déplacement</option>
<option value="Stationnement">Stationnement</option>
<option value="Personnes âgées">Personnes âgées</option>
<option value="Affaires scolaires">Affaires scolaires</option>
<option value="Logements sociaux">Logements sociaux</option>
<option value="Espaces verts">Espaces verts</option>
<option value="Voirie">Voirie</option>
<option value="Propreté">Propreté</option>
<option value="Commerce">Commerce</option>
<option value="Patrimoine">Patrimoine</option>
<option value="Conseils de quartier">Conseils de quartier</option>
<option value="Urbanisme">Urbanisme</option>
<option value="Ecologie">Ecologie</option>
<option value="Insertion - Handicap">Insertion - Handicap</option>
<option value="Petite enfance">Petite enfance</option>
<option value="Animation">Animation</option>
<option value="Culture">Culture</option>
<option value="Sports">Sports</option>
<option value="Anciens combattants">Anciens combattants</option>
<option value="Vie associative">Vie associative</option>
<option value="Demande de subvention">Demande de subvention</option>
<option value="Invitation">Invitation</option>
<option value="Emploi">Emploi</option>
<option value="Divers">Divers</option>
</select></strong></td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="height: 25px; width: 26%;">
<strong>Objet</strong></td>
<td align="left" valign="top" style="height: 25px; width: 63%;" class="style3">
<strong>
<input type="text" name="objet_courrier" size="50" class="style3" id="objet">
</strong></td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="width: 26%">
<strong>Courrier transféré à</strong></td>
<td align="left" valign="top" class="style3" style="width: 63%">
<strong>
<select name="transfere_a" class="style3" style="width: 213px">
<option value="JD" selected="selected">JD</option>
<option value="DN">DN</option>
<option value="LL">LL</option>
<option value="Autre personne">Autre personne</option>
</select></strong></td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="width: 26%">
<strong>Autre personne</strong></td>
<td align="left" valign="top" class="style3" style="width: 63%">
<strong>
<input type="text" name="autrep" size="50" class="style3"></strong></td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="width: 26%">
<strong>Date de réponse</strong></td>
<td align="left" valign="top" class="style3" style="width: 63%">
<strong>
<input type="text" name="date_reponse" size="50" class="style3"></strong></td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="width: 26%">
<strong>Date de réponse de l'Adjoint</strong></td>
<td align="left" valign="top" class="style3" style="width: 63%">
<strong>
<input type="text" name="dateadjoint" size="10" class="style3"></strong></td>
</tr>
<tr>
<td align="left" valign="top" class="style3" style="width: 26%"> </td>
<td align="left" valign="top" class="style3" style="width: 63%"> </td>
</tr>
<tr>
<td align="center" valign="top" colspan="2" class="style3">
<strong>
<input type="submit" value="Valider la saisie" name="B1" style="float: center" class="style3"><span class="style3">  
</span>
<input type="reset"

value="Effacer le formulaire" name="B2" style="float: center" class="style3"><br />
</strong></td>
</tr>
</table>
<br />

et le bout de code que j'ai saisi dans le premier message du post est celui du fichier "creacourrier.php".
0
cinefever Messages postés 68 Date d'inscription mercredi 27 août 2008 Statut Membre Dernière intervention 29 février 2012 8
22 févr. 2009 à 17:48
problème résolu, les post étaient en effet bien manquant !!!

merci à vous tous
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
22 févr. 2009 à 18:50
Content d'avoir pu aider. :)
0