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

Langage PHP Discussion :

Enregistrement sur BD Mysql


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Par défaut Enregistrement sur BD Mysql
    salut ;
    Après l'inscription la BD reste vide
    Je suis perdu.

    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
    <body  >
    	<div id="fond_page"> 
    	<div id="conteneur">
    		<div  >
    			<table><tr>
    				<td><?php echo "<img src=img/0011.jpg  height=200px >" ; ?></td>
    				<td id=logo  >La Maison De Vos Rêves</td>
    			</tr></table>
    		</div>
    		<div id="lien">
    			<a href="index.php">Acuille</a>
    			<a href="index.php/?page=agence">Agence</a>
    		</div>
    		<div id="milieu">
    			<div id="cli">
    <?php 
    if(isset($_POST["in_cl"]))
    {
    	$adresse_serveur_MYSQL="localhost" ;
    	$utilisateur="root" ;
    	$mot_de_passe="" ;
    	$nom_bd="agence immobiliere" ;
    	$in_cl=$_post["in_cl"];
    	$M_pass_ncl=$_post["M_pass_ncl"];
    	$tel_cl=$_post["tel_cl"];
    	$cin_cl=$_post["cin_cl"];
    	$adresse_cl=$_post["adresse_cl"];
    	$emal_cl=$_post["emal_cl"];
    	mysql_connect("$adresse_serveur_MYSQL", "$utilisateur", "$mot_de_passe")or die ("impossible de se connecter au base de donné");
    	mysql_select_db("$nom_de_la_base")or die ("base de donné inconnue");
    	$date=date("d/m/Y");
    	$nclient="INSERT INTO Client VALUES('','".$in_cl."','".$M_pass_ncl."','".$tel_cl."','".$cin_cl."','".$adresse_cl."','".$emal_cl."','".$date."')";
    	mysql_query($nclient)or die("inscrption no abouté");
    	echo "inscrption reussie";
    }
    else
    {
    	echo '
    	<div id="cli">
    		</td><td><form method="post" action="client.php">
    			<table align="center">
    				<tr><td>Nom d\'utilisateur :</td><td><input type="text" name="$in_cl"></td></tr>
    				<tr><td>Mot de passe :</td><td><input type="password" name="M_pass_ncl"></td></tr>
    				<tr><td>Tel (Mobille):</td><td><input type="text" name="tel_cl"></td></tr>
    				<tr><td>CIN :</td><td><input type="text" name="cin_cl"></td></tr>
    				<tr><td>Adresse :</td><td><input type="text" name="adresse_cl" size="40"></td></tr>
    				<tr><td>E-mail :</td><td><input type="text" name="emal_cl"></td></tr>
    				<tr><td></td><td><input type="submit" value="S\'inscrire"></td></tr>
    			</table></form>
    		</table>
    	</div>';
    }
    ?>
    			</div>
    		</div>
    	<div id="bas">
    	<marquee direction="left">Pour toute information, contactez-nous Tel:  E-mail:</marquee>
    	</div>
    	</div>
    </div>
    </body>
    merci

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Et ça affiche quoi ? Rien ?

    Faits des tests successifs pour voir où ton code passe ou ne passe pas. Par exemple tu peux mettre un echo 'post_ok'; dans la condition if(isset($_POST["in_cl"])) pour voir si ton code passe la condition et ainsi de suite...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(isset($_POST["in_cl"]))
    {
    echo 'post_ok';
     
    // suite du code original ...
    Et puis il y a des erreurs dans ton echo '<div... car les variables php ne peuvent pas être interprétées dans une chaine entre simple quote. Tu dois alors concaténer tes variables.

    Testes dans une page séparée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $a = 12;
     
    echo '<div id="machin">$a</div>';
     
    echo '<div id="machin">'.$a.'</div>';
    et donc par exemple dans ta chaine entourée de simples quotes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="$in_cl">
    doit s'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="'.$in_cl.'">

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mars 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 6
    Par défaut
    Bonjour,

    Après avoir regardé rapidement ton problèmes est lié à la mauvaise construction de ta requete SQL INSERT INTO

    Normalement elle se contruit de la facon suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO (Nom_base)(nom colonne1, nom colonne2,...) values (valeur pour colonne1, valeur pour colonne2,...)
    Cordialement

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2004
    Messages : 108
    Par défaut
    Bonjour,

    Alors non non son INSERT INTO est bien construit .
    Par contre le problème que normalement après l'envoie du formulaire l'execution du php ne passe pas ta condition pour cette raison:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(isset($_POST["in_cl"])) {
    ....
    ....
    }
    echo '...
    <tr><td>Nom d\'utilisateur :</td><td><input type="text" name="$in_cl"></td></tr>
    ...';

    Le champ name est mal nommé
    $in_cl
    au lieu de
    in_cl

  5. #5
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mars 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 6
    Par défaut
    Désolé pour l'erreur

    Pour le insert into, on est pas obligé de dire dans quelle colonne, on peut mettre les valeurs ?

    Avis qui m'est complétement personnel, je trouve plus propre la façon que l'on m'a appris

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Par défaut
    salut
    la page s'affiche correctement mais la base données reste vide apré linscrption



    merci

  7. #7
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2004
    Messages : 108
    Par défaut
    En fait si tu ne mets pas les champs à remplir alors cela veut dire que tu remplis tout les champs. Alors en effet c'est plus propre d'indiquer les colonnes remplies et cela simplifie le débogage mais par exemple pour une simple table de liaison avec deux colonnes ce n'est pas forcément plus utile ou plus propre .

    Sinon benchewa je te conseillerais de faire un petit débogage à coup de echo après tes conditions, ainsi qu'un petit var_dump des données reçu afin d'analyser un peu le tout et détecter plus facilement le problème .

    Ah et dernier problème que j'ai vu, tu met une chaine de caractère dans ton dernier champ (le champ date), alors que ta base demande un int.
    date('Y/m/d'); te renverra pour aujourd'hui
    2013/03/19
    qui est une chaine et non un chiffre.

Discussions similaires

  1. [MySQL] page blanche après enregistrement sur un base de donne MySql
    Par lelislois dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/06/2015, 08h15
  2. Réponses: 5
    Dernier message: 01/05/2014, 23h30
  3. Erreur 145 sur table mysql
    Par ramses83 dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/09/2007, 21h09
  4. peut on enregistrer sur mysql des fichiers video et son (avi ect..)
    Par Philcmoi dans le forum Persistance des données
    Réponses: 2
    Dernier message: 13/08/2007, 13h53
  5. TDBGrid - Un enregistrement sur plusieurs lignes
    Par BRODU dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/05/2004, 07h53

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