IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

données correctes sql n'enregistre pas [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 110
    Par défaut données correctes sql n'enregistre pas
    Bonsoir,
    excusez moi pour ce désagrément.
    Sql n'enregistre pas les données du formulaire.
    je vous montre le code que voici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <?php
     
    mysql_connect('localhost', '****', '******');
    mysql_select_db('silo0');
     
    	if(isset($_POST['civile']) AND isset($_POST['prenom']) AND isset($_POST['nom']) AND isset($_POST['age']) AND isset($_POST['ville']) AND isset($_POST['pays']) AND isset($_POST['adresse']) AND isset($_POST['mail'])  AND isset($_POST['motif']) AND isset($_POST['message']))
    	{
    		if ($_POST['civile']!='' AND $_POST['prenom']!='' AND $_POST['nom']!='' AND $_POST['age']!='' AND $_POST['ville']!='' AND $_POST['pays']!='' AND $_POST['adresse']!='' AND $_POST['mail']!='' AND $_POST['motif']!='' AND $_POST['message']!='')
    		{
     
    						$civile = mysql_real_escape_string(htmlspecialchars($_POST['civile']));
    						$prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
    						$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
    						$age = mysql_real_escape_string(htmlspecialchars($_POST['age']));
    						$ville = mysql_real_escape_string(htmlspecialchars($_POST['ville']));
    						$pays = mysql_real_escape_string(htmlspecialchars($_POST['pays']));
    						$adresse = mysql_real_escape_string(htmlspecialchars($_POST['adresse']));
    						$mail = mysql_real_escape_string(htmlspecialchars($_POST['mail']));
    						$motif = mysql_real_escape_string(htmlspecialchars($_POST['motif']));
    						$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
    						$message = nl2br($message);
     
    					mysql_query("INSERT INTO formulaire VALUES('', '$civile', '$prenom', '$nom', '$age', '$ville', '$pays', '$adresse', '$mail', '$motif', '$message')") or die(mysql_error());
     
     
    		}
    	}
    mysql_close();	
    ?>
    </div>
    </div>
    <div id="pied_de_page">
    				<p>
    					Copyright © "Association Silo" Abidjan Côte d'Ivoire, tous droits réservés.
    			    </p>
    	</div>
    		</body>
    </html>
    je pense que mes entrées sont correctes mais je ne comprends pas pourquoi ma base ne remplit pas.
    La page de remerciement renvoie bien que le formulaire a été envoyé.
    S'il vous plait dites moi où se trouve mon erreur.
    Merci

  2. #2
    Membre très actif Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Par défaut
    Remplace tes AND par des && dans tes conditions de if (surtout le 2iem if)

  3. #3
    Membre très actif
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 110
    Par défaut merci
    Merci je vais essayer et vous donner la suite

  4. #4
    Membre très actif
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 110
    Par défaut sa ne marche pas
    je ne sais plus quoi faire. Le changement n'apporte rien de plus à mon problème.
    un addidtif je ne sais pas si c'est pour quelque chose dans mon problème.
    l'interclassement est en "latin1_swedish_ci" NULL "non".
    merci de m'aider.
    nb: je ne sais pas si le problème vient de chez mon hébergeur.

  5. #5
    Membre très actif Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Par défaut
    Est-ce que le die(mysql_error()) affiche quelque chose ?
    Es-tu sûr que ton mysql_query() est appelé ? (arrives-tu dans la portion de code après le 2ième if)

  6. #6
    Membre très actif
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 110
    Par défaut
    Oui j'appelle toujours mon sql.
    aussi c'est quoi la deuxième portion de code ?
    pour ma connexion à ma bdd c'est correct.

  7. #7
    Membre très actif
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 110
    Par défaut Un 'chmod' peut il bloquer ma base de donnée ?
    Bonsoir,
    après plusieurs recherche je ne vois toujours pas d'où vient le fait que ma base ne se remplit pas. Alors je me demande si un 'chmod' pourrait interdire l'accès à ma table.
    voila le code de traitement de mon formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <?php
     
    mysql_connect('mysql10.000webhost.com', '*******', '******';
    mysql_select_db('*****');
     
    	if(isset($_POST['civile']) AND isset($_POST['prenom']) AND isset($_POST['nom']) AND isset($_POST['age']) AND isset($_POST['ville']) AND isset($_POST['pays']) AND isset($_POST['adresse']) AND isset($_POST['mail'])  AND isset($_POST['motif']) AND isset($_POST['message']))
    	{
    		if ($_POST['civile']!='' && $_POST['prenom']!='' && $_POST['nom']!='' && $_POST['age']!='' && $_POST['ville']!='' && $_POST['pays']!='' && $_POST['adresse']!='' && $_POST['mail']!='' && $_POST['motif']!='' && $_POST['message']!='')
    		{
     
    						$civile = mysql_real_escape_string(htmlspecialchars($_POST['civile']));
    						$prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
    						$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
    						$age = mysql_real_escape_string(htmlspecialchars($_POST['age']));
    						$ville = mysql_real_escape_string(htmlspecialchars($_POST['ville']));
    						$pays = mysql_real_escape_string(htmlspecialchars($_POST['pays']));
    						$adresse = mysql_real_escape_string(htmlspecialchars($_POST['adresse']));
    						$mail = mysql_real_escape_string(htmlspecialchars($_POST['mail']));
    						$motif = mysql_real_escape_string(htmlspecialchars($_POST['motif']));
    						$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));
    						$message = nl2br($message);
     
    					mysql_query('INSERT INTO formulaire (id, civile, prenom, nom, age, adresse, mail, ville, pays, motif, message)  VALUES(NULL, "'.$civile.'", "'.$prenom.'", "'.$nom.'", "'.$age.'", "'.$ville.'", "'.$pays.'", "'.$adresse.'", "'.$mail.'", "'.$motif.'", "'.$message.'")') or die (mysql_error());
     
     
     
    		}
    	}
    mysql_close();	
    ?>
    Merci de me dire comment faire pour enlever ce chmod si toutefois il y en a un

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    D'experience du forum, je dirais qu'un de tes champs n'existe pas ou ne porte pas le meme nom que ceux que tu indiques ici.

    Apres avoir bien regardé, si ca ne fonctionne toujours pas, montre nous le formulaire.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre très actif
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 110
    Par défaut Mon formulaire car sa ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    <?php
    if(isset($_POST['civile']) AND isset($_POST['prenom']) AND isset($_POST['nom']) AND isset($_POST['age']) AND isset($_POST['ville']) AND isset($_POST['pays']) AND isset($_POST['adresse']) AND isset($_POST['mail']) AND isset($_POST['motif']) AND isset($_POST['message']))
    	{
    		if ($_POST['civile'] == '')
    		{
    			echo 'Que voulez-vous faire sur mon site ?';
    		}
    		if (preg_match("#^[a-zA-Z][^0-9]$#", $_POST['prenom']))
    		{
    			echo 'Veuillez vérifier votre prénom !';
    		}
    		if (preg_match("#^[a-zA-Z][^0-9]$#", $_POST['nom']))
    		{
    			echo 'Veuillez vérifier votre nom !';
    		}
    		if (preg_match("#^[a-zA-Z]([1-9]{2})$#", $_POST['age']))
    		{
    			echo 'Veuillez vérifier votre âge !';
    		}
    		if (preg_match("#^[a-zA-Z][^0-9]$#", $_POST['ville']))
    		{
    			echo 'Veuillez renseigner votre ville !';
    		}
    		if (preg_match("#^[a-zA-Z][^0-9]$#", $_POST['pays']))
    		{
    			echo 'Veuillez renseigner votre pays !';
    		}
                    if ($_POST['adresse'] == '')
                    {
                        echo 'Veuillez renseignez votre adresse postale s\'il vous plaît.';
                    }
    		if (preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['mail']))
    		{
    			echo 'Veuillez entrer un e-mail valide !';
    		}
    		if ($_POST['motif'] == '')
    		{
    			echo 'Que voulez vous faire sur mon site !';
    		}
    		if ($_POST['message'] =='');
    		{
    			echo 'Veuillez nous dire en quelques mots le motif de votre visite !';
    		}
    	}
    	else
    		{
    include('menu.php');
    ?>
    	<h1> Nous contacter </h1>
    	<div id="contenu">
    		<p>
    			Nous vous saluons dans le précieux nom de notre Seigneur et Sauveur Jésus Christ. <br />
    			La prise de contact est scindée en deux parties, non pas pour vous faire perdre du temps mais bien au contraire. La première partie que voici, vous propose un simple formulaire tandis que la seconde, <br />
    			vous proposera un espace pour vos fichiers à joindre et sera accessible qu'après l'envoie de celui-ci.<br />
    			Nous vous prions de bien vouloir renseigner tous les champs pour que votre requête soit traitée dans les plus brefs délais. <br />
    		</p>
    	</div>
    	<div id="form"> 	
    	<form action="information.php" method="post">
    	<p>
    	<fieldset>
    		<legend> Votre identité </legend>
    		<label for="Mr"> Mr </label><input type="radio" value="Mr" name="civile" id="Mr" checked="checked" /> <br />
    		<label for="Mme"> Mme </label><input type="radio" value="Mme" name="civile" id="Mme"  /> <br />
    		<label for="Mle"> Mle </label><input type="radio" value="Mle" name="civile" id="Mle" /> <br />
    		<label for="prenom"> Prénoms </label><input type="text" name="prenom" id="prenom" /> <br />
    		<label for="nom"> Nom </label><input type="text" name="nom" id="nom" /> <br />
    		<label for="age"> Age </label><input type="text" name="age" id="age" /> <br />
    	</fieldset>
    	</p>
       <p>
       <fieldset>
       <legend> Vos coordonnées </legend>
       <label for="ville"> Ville </label><input type="text" name="ville" id="ville" /> <br />
       <label for="pays"> Pays </label><input type="text" name="pays" id="pays" /> <br />
       <label for="adresse"> Adresse </label><input type="text" name="adresse" id="adresse" /> <br />
       <label for="mail"> E-mail </label><input type="text" name="mail" id="mail" /> <br />
       </fieldset>
       </p>
       <p>
       <fieldset>
       <legend> Votre message </legend>
       <label for="motif"> Sujet </label> 
       <select name="motif" id="motif"> 
    	<option value="demande"> Demande de documentation </option>
    	<option value="conseil"> Demande de suivie </option>
    	<option value="finance"> Apport financier </option>
    	<option value="partenariat"> Partenariat </option>
    	<option value="divers"> Autres </option>
       </select> <br />
       <textarea name="motif" id="motif" cols="40" rows="4"> </textarea>
      </fieldset>
      </p>
      <input type="reset" value="corriger" /> <input type="submit" value="transmettre" />
     </form>
    </div>
    </div>
    <div id="pied_de_page">
     
    				<p>
    					Copyright © "Association Silo" Abidjan Côte d'Ivoire, tous droits réservés.<br />
                                            Tel: 00225 21 36 60 31 Fax 00225 21 56 57 19, Rue du Canal, Abidjan Marcory. 
    			       </p>
    			</div>
     
    		</body>
    </html>
    <?php
    }
    ?>
    Je vous prie de m'excuser avec mon topic qui n'en finis pas.

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Mouais si tu avais bien regardé, tu aurais remarqué que tu as appellé deux champ "motif" et que tu n'as pas de champ "message".
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    Bonjour,
    une solution pour isoler le pb :

    1°/ fait un echo du code sql
    2°/ fait un copier-coller du sql dans phpmyadmin
    3°/ regarde si tes données sont insérées ou le message d'erreur affiché (il sera assez clair)

    Tiens-nous au courant
    a+

  12. #12
    Membre très actif
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 110
    Par défaut Merci
    Bonjour,
    je vous suis reconnaissant ce matin pour votre soutien.
    Je viens de résoudre le problème de ma base de donnée en effet le problème de ma page de formulaire. Merci à tous de vous êtes penché sur le problème.
    Grâce à ce petit problème j'ai appris pas mal de chose sur la programmation et aussi la concentration.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 23/03/2013, 16h15
  2. la base SQL n'a pas été arrêtée correctement
    Par angels dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/07/2007, 12h29
  3. [SQL] Enregistrement pas dans la table
    Par alexandrebergercyr dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/04/2007, 14h38
  4. Réponses: 5
    Dernier message: 06/02/2007, 13h46
  5. Réponses: 4
    Dernier message: 26/09/2006, 11h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo