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 :

[Conception] Pk ma valeur par defaut ne se met pas?


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut [Conception] Pk ma valeur par defaut ne se met pas?
    Salut,
    j'ai un formulaire d'inscription qui fonctionne très bien sauf un détail, dans ma base il y a certaine table, j'ai mis une valeur par defaut mais lors de l'inscription la valeur ne se met pas.
    Voici le 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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    <head>
     
    </head>
    <body>
    <form name="form1" method="post" action="pdf_inscription2.php">
     
     
             <input name="nom" type="text" size="19" id="nom" class="inputbox" onblur="if(this.value=='') this.value='Nom';" onfocus="if(this.value=='Nom') this.value='';" value="Nom"><br>
     
     <input name="prenom" size="19" type="text" id="prenom" class="inputbox" onblur="if(this.value=='') this.value='Prénom';" onfocus="if(this.value=='Prénom') this.value='';" value="Prénom"><br>
     
    <input type="text" size="19" name="pseudo" class="inputbox" onblur="if(this.value=='') this.value='Pseudo';" onfocus="if(this.value=='Pseudo') this.value='';" value="Pseudo"><br>
     
     
     
     
    <input name="mail" size="19" type="text" id="mail" class="inputbox" onblur="if(this.value=='') this.value='Mail';" onfocus="if(this.value=='Mail') this.value='';" value="Mail"><br>
     
     
     
    <input name="mdp" type="password" size="19"  id="mdp" class="inputbox" onkeyup="evalPwd(this.value);" onblur="if(this.value=='') this.value='Passe';" onfocus="if(this.value=='Passe') this.value='';" value="Passe"><br>
     
     
      <input name="website" type="text" id="website" size="19"  class="inputbox" onblur="if(this.value=='') this.value='Votre site';" onfocus="if(this.value=='Votre site') this.value='';" value="Votre site"><br>
     
     
    <input name="pays" type="text" id="pays" size="19"  class="inputbox" onblur="if(this.value=='') this.value='Pays';" onfocus="if(this.value=='Pays') this.value='';" value="Pays"><br>
     
     
     
     <input name="born" type="text" size="19"  id="born" class="inputbox" onblur="if(this.value=='') this.value='Date de naissance';" onfocus="if(this.value=='Date de naissance') this.value='';" value="Date de naissance"><br>
     
     
     
    <input name="adresse" type="text" id="adresse" size="19"  class="inputbox" onblur="if(this.value=='') this.value='Adresse';" onfocus="if(this.value=='Adresse') this.value='';" value="Adresse"><br>
     
    <input name="postal" type="text" id="postal" size="19"  class="inputbox" onblur="if(this.value=='') this.value='Code postal';" onfocus="if(this.value=='Code postal') this.value='';" value="Code postal"><br>
     
    <input name="ville" type="text" id="ville" size="19"  class="inputbox" onblur="if(this.value=='') this.value='Ville';" onfocus="if(this.value=='Ville') this.value='';" value="Ville"><br>
     
     <input name="tel" type="text" id="tel" size="19"  class="inputbox" onblur="if(this.value=='') this.value='Téléphone';" onfocus="if(this.value=='Téléphone') this.value='';" value="Téléphone"><br>                               
     
     
     
     
                                            <input type="submit" name="Submit" value="Inscription" class="inputbox" onClick="this.form.submit();this.disabled=true;this.value='Patientez...'">
     
     
     
                                </form>
    </body>
    Et voici pdf_inscription2.php :
    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
     
     
    <?php
    session_start(); //On demarre une session parce que j'ai envi ^^
     
    require "conf.php3"; //On insert le fichier qui contient les informations de la BDD
     
    mysql_connect("$sql_serveur","$sql_login","$sql_pass");
    mysql_select_db("$sql_bdd"); //On ce connecte
    		$mail = htmlentities($_POST['mail']);
     
        if (preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $mail)) //Verifie que l'email entrée n'est pas une fausse.
        {
    		$chaine = "abcdefghijklmnopqrstuvwxyz0123456789"; 
    		$confirm = str_shuffle($chaine); //On créé le code de confirmation
    		$pseudo = htmlentities($_POST['pseudo']); //On recupère les infos
    		$mdp = htmlentities($_POST['mdp']);
    		$nom = htmlentities($_POST['nom']);
    		$prenom = htmlentities($_POST['prenom']);
    		$website = htmlentities($_POST['website']);
    		$pays = htmlentities($_POST['pays']);
    		$born = htmlentities($_POST['born']);
    		$adresse = htmlentities($_POST['adresse']);
    		$tel = htmlentities($_POST['tel']);
    		$ville = htmlentities($_POST['ville']);	
    		$postal = htmlentities($_POST['postal']);			
    $commandes = htmlentities($_POST['commandes']);
    $etat = htmlentities($_POST['etat']);
    $infos = htmlentities($_POST['infos']);
    $fini = htmlentities($_POST['fini']);
     
    /*On Fait la variable contenant le mail de confirmation*/
     
    		$message1 = '<html><body><b>Bonjour ' . $pseudo . ' et bienvenue sur  </br></b>'; 
    		$message1 .= '</br>';
    		$message1 .= 'Vous venez de vous inscrire et nous sommes heureux de pouvoir vous compter aujourd\'hui parmi nos membres.<br><br>'; 
    		$message1 .= 'Voici un rappel de vos identifiants, notez les précieusement : <br><br>';
    		$message1 .= '<u>Votre Pseudo</u> : ' . $pseudo .'.<br><br>';
    		$message1 .= '<u>Votre Mot de passe</u> : ' . $mdp .'.<br><br>';
    		$message1 .= '<u>Votre Mail</u> : ' . $mail .'.<br><br>';
    		$message1 .= '<u>Votre Nom</u> : ' . $nom .'.<br><br>';
    		$message1 .= '<u>Votre Prenom</u> : ' . $prenom .'.<br><br>';
    		$message1 .= '<u>Votre Pays</u> : ' . $pays .'.<br><br>';
    		$message1 .= '<u>Votre Site Web</u> : ' . $website .'.<br><br>';
    		$message1 .= '<u>Votre adresse</u> : ' . $adresse .'.<br><br>';
    		$message1 .= '<u>Votre code postal</u> : ' . $postal .'.<br><br>';
    		$message1 .= '<u>Votre Ville</u> : ' . $ville .'.<br><br>';
    		$message1 .= '<u>Votre téléphone</u> : ' . $tel .'.<br><br>';
    		$message1 .= '<u>Votre Date de naissance</u> : ' . $born .'.<br><br>';									
    		$message1 .= 'Si vous souhaitez changer vos informations, rendez-vous dans votre compte pour les mettre à jour.<br>';
    		$message1 .= '<br><font color="#FF0000"><b>Votre Clé d\'activation</font></b> (copier/coller le dans votre barre d\'adresse):<br><br>';
       		$message1 .= '/fr/confirm.php?login=' . str_replace(' ','%20',$pseudo) . '&confirm=' . $confirm . '<br><br><br><br>';
    		$message1 .= 'A très bientôt sur le site!<br>L\'équipe de .<br><a href=""></a>';
     
    		$verification = mysql_query("SELECT COUNT(*) FROM pdf_membre WHERE pseudo='$pseudo'") or die (mysql_error());
    		$donnees = mysql_fetch_array($verification)or die (mysql_error());
     
    		if($donnees['COUNT(*)'] >= 1) //On verifie que le pseudo n'existe pas déjà
    		{ 
    			$reponse = 'Ce pseudo est déjà utilisé, merci d\'en choisir un nouveau. <a href="javascript:history.back(1)">Retour au formulaire</a>';
    		}
    		else
    		{	
    			$verification2 = mysql_query("SELECT COUNT(*) FROM pdf_membre WHERE mail='$mail'") or die (mysql_error());
    			$donnees2 = mysql_fetch_array($verification2)or die (mysql_error());
     
    			if($donnees2['COUNT(*)'] >= 1) //Pareil pour l'e-mail
    			{
    				$reponse = 'Cette adresse e-mail est déjà utilisé, veuillez en choisir une autre. <a href="javascript:history.back(1)">Retour au formulaire</a>';
    			}
    			elseif( empty($pseudo) || empty($mdp) || empty($mail) || empty($nom) || empty($prenom) || empty($born)) //On verifie que les variables précédentes ne soient pas vide
    			{
    				$reponse = 'Un ou plusieurs champs ne sont pas remplis, <a href="javascript:history.back(1)">Retour au formulaire</a>';
    			}
     
    			else //Si tout est bon on entre les données dans la BDD et on envoye le mail
    			{
    				mysql_query("INSERT INTO pdf_membre VALUES ('','$pseudo', '$mdp', '$mail', '$confirm', '$nom', '$prenom', '$pays', '$born', '$website', '$commandes', '$etat', '$infos', '$fini', '$adresse', '$tel', '$postal', '$ville', '$ban', '$mess1', '$mess2')");
    				$reponse = 'Bravo, vous êtes maintenant inscrit sur. <br>Vous allez recevoir un e-mail pour activer votre compte. <br><a href="http://www./fr">Retour à l\'Accueil</a>';
    				$email_admin = ''; //Votre adresse mail
    				$entete = "MIME-Version: 1.0\r\n";
    				$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
    				$entete .= "From: <$email_admin>\r\n";
    				$entete .= "Reply-To: $email_admin\r\n";
    				mail($mail,'Bienvenue sur  ' . $login .'.' , $message1, "$entete");
    			}
    		}
    	}
    	else //Reponse si l'adresse e-mail est une fausse
    	{
    		$reponse = 'Votre adresse e-mail "' . $mail . '" n\'est pas correcte. <a href="javascript:history.back(1)">Retour au formulaire</a>';
    	} 	
     
     
     
     
    ?>
     
    <html>
    <body>
    <? echo "$reponse"; ?> </body>
    </html>
    Pouvez vous me dire d'où vient l'erreur?

    Merci par avance

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    C'est la valeur par défaut de tes input de ton formulaire ou c'est une valeur par défaut lors de l'enregistrement dans ta base qui marche pas ?

  3. #3
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    Lors de l'enregistrement dans la base.

  4. #4
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Ah d'accord c'est des valeurs par défaut définies dans ta base pas dans le code... Aucune idée alors...

  5. #5
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    Quelqu'un saurait?

  6. #6
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Mais du coup c'est plus un problème BDD parce que je vois pas en quoi le PHP intervient...

  7. #7
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    Ba si, c'est un problème php car j'ai d'autre formulaire, ca marche bien.

  8. #8
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Si c'est les valeurs par défaut de ta base je vois pas où intervient PHP enfin bref...

    Ta requête se passe bien mais quand tu mets une valeur vide c'est vraiment une valeur vide qui rentre dans ta base alors que toi tu veux une valeur par défaut que tu as défini dans ta BDD, pas dans ton code PHP c'est bien ça ?
    Mais c'est quoi la différence qu'il y a entre cette requête et celles que tu fais dans les autres pages si elles marchent (elles tapent dans la même table ?) ?

  9. #9
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    En fait, c'est toutes ces données là qui ont une valeur par defaut, mais qui rentre vide dans ma base :
    '$commandes', '$etat', '$infos', '$fini', '$ban', '$mess1', '$mess2'

  10. #10
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    Personne ne sait?

  11. #11
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 514
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 514
    Par défaut Récapitulons se que tu t'exprimes
    Je récapitule.
    Dans ta base de données tu as définit des valeurs par défaut. Dans tes formulaires si jamais l'utilisateur ne place rien tu souhaitais que ça soit les valeurs par défaut définit dans la base de données du moin la table qui puisse être affiché ?

  12. #12
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    Je n'ai meme pas les champs dans mon formulaire, je souhaite qu'il soit obligatoirement par défault. Mais ca me met un champ vide.

  13. #13
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    c'est toninsert qui n'est pas bon....puisque tu met des variables pour les champs que tu veus par défaut

    pour faire simple tu as 3 variable que tu as récuéré a,b,c et que tu veut mettre dans ta table qui en comporte 5 donc 2 (c et d ) avec des valeurs tpar défaut tu fait donc:

    insert into ta_table (`a`,`b`,`c`) values ('$a','$b','$c')

    or toi tu fais :

    insert into ta_table values ('$a','$b','$c','$c','$d')

    jespere avoir été claire j'ai utilisé un exemple pasque tons elect est tres long

  14. #14
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 514
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 514
    Par défaut
    Ben c'est justement ce que je voulais démontrer car c'est une erreur assez courant comme erreur.

  15. #15
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    j'avou surtou que suffi de regarder comment utiliser insert...et on a la réponse...

  16. #16
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    Daccord, et comment faire pour enlever cette erreur et que les valeurs par défaut puisse se mettrent ?

  17. #17
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    mais regarde mon exemple rooo!!

  18. #18
    Membre éclairé Avatar de kevinf
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    863
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2005
    Messages : 863
    Par défaut
    Donc il ne faut pas que j'insert les valeurs qui sont par defaut

  19. #19
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    voila tu precise les valeur que tu insere et t'insere que celle la suit monexemple

  20. #20
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 514
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 514
    Par défaut
    Citation Envoyé par kevinf
    Donc il ne faut pas que j'insert les valeurs qui sont par defaut
    Voila les valeurs par defaut sont effectif si il y a rien eu dessus. placer le champs à "vide" = quelque chose. Donc avant d'écrire il faut vérifier si la valeur rentré possede quelque chose.

Discussions similaires

  1. [DBGRID][COLUMN]Valeur par defaut
    Par hamed dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/03/2005, 16h10
  2. VALEUR PAR DEFAUT
    Par Bikey dans le forum Access
    Réponses: 2
    Dernier message: 25/10/2004, 13h57
  3. [Pb : champ Text = pas de valeur par defaut ?]
    Par mat_dum dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 18/08/2003, 12h57
  4. sorte de valeur par defaut
    Par sampq dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/07/2003, 11h59
  5. Valeur par defaut 'True' dans un champ de type bit
    Par Mouse dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/03/2003, 15h26

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