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 :

Problème mysql php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 14
    Par défaut Problème mysql php
    Bonjour, je suis obligé de remplir tous les champs pour que les se mettent dans ma base mais moi je veux que certains champs soit obligatoirement remplis mais pas tous voici mon code
    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
     
    <?php
    if(isset($_POST['Nomprenom']) && isset($_POST['Datedenaissance']) && isset($_POST['Adresse']) && isset($_POST['Ville']) && isset($_POST['Cp']) && isset($_POST['Civil']) && isset($_POST['Email'])&& isset($_POST['Telephone'])&& isset($_POST['Code']) && $_POST['Nomprenom'] != "" && $_POST['Datedenaissance'] != "" && $_POST['Adresse'] != "" && $_POST['Ville'] != "" && $_POST['Cp'] != "" && $_POST['Civil'] != "" && $_POST['Email'] != ""&& $_POST['Telephone'] != ""&& $_POST['Code'] != ""){
        $Nomprenom = $_POST['Nomprenom']; 
    	$Datedenaissance = $_POST['Datedenaissance']; 
    	$Adresse =$_POST['Adresse']; 
    	$Ville = $_POST['Ville']; 
    	$Cp= $_POST['Cp'];  
        $Civil = $_POST['Civil']; 
    	$Email = $_POST['Email'];
        $Telephone = $_POST['Telephone']; 	
    	$Code = $_POST['Code']; 
     $connect= mysql_connect('localhost','admin','31p71h49') or die('Impossible de se connecter au serveur MySQL');
        mysql_select_db("cashprog");  
        mysql_query("INSERT INTO clients (Nomprenom,Datedenaissance,Adresse,Ville,Cp,Civil,Email,Telephone,Code)VALUES('$Nomprenom','$Datedenaissance','$Adresse','$Ville','$Cp','$Civil','$Email','$Telephone','$Code')");
    	}
    ?>
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>Nouveau client-CashProg</title>
    		<LINK rel="stylesheet" type="text/css" href="style.css">
        </head>
     
        <body>
     
    	<p><font color="red">/!\ Tous les champs doivent être remplis /!\</font>
    <form method="POST" action="nouveauxclient.php">
    <center><fieldset><legend><font color="red">Nouveaux Client</font></legend>
    <TABLE BORDER=0>
    <TR>
    <TD>Code:</TD>
    	<TD><input type="text" name="Code" value="<?php echo rand(1, 9999999) ?>" /></TD>
    	<TR>
    <TD><label for="Civil" >Civilité:</TD>
          <TD><select name="Civil">
               <option>Mr.</option>
               <option>Mlle</option>
               <option>Mme</option>
    		   </select></TD>
    	<TD>Nom et prenom</TD>
    	<TD>
    	<INPUT type=text name="Nomprenom" required>
    	</TD>
    </TR>
    <TR>
    	<TD>Adresse</TD>
    	<TD>
    	<INPUT type=text name="Adresse">
    	</TD>
    	<TD>Code Postal</TD>
    	<TD>
    	<INPUT type=text name="Cp" required>
    	</TD>
    	</TR>
    	<TR>
    	<TD>Ville</TD>
    	<TD>
    	<INPUT type=text name="Ville">
    	</TD>
    	<TD>Telephone</TD>
    	<TD>
    	<INPUT type=text name="Telephone">
    	</TD>
    	</TR>
    	<TR>
    	<TD>Email</TD>
    	<TD>
    	<INPUT type=text name="Email">
    	</TD>
    	<TD>Date de naissance</TD>
    	<TD>
    	<INPUT type=text name="Datedenaissance">
    	</TD>
    </TABLE></center>
    <center><INPUT border=0 src="ok.png" type=image Value=submit align="middle" > </center>
    </FORM><br><br/>
    </fieldset><center>
     </body>
     </html>

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2010
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 144
    Par défaut
    Ce n'est pas un problème de PHP, mais de la base de données MySQL.
    Sur PhpMyAdmin, dans la structure de la table, il faut cocher la case "null" sur les champs qui ne sont pas obligatoires.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 14
    Par défaut
    Meric mais cela ne fonctionne toujours pas je suis obligé de remplir tous les champs !

  4. #4
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Si une case n'est pas remplis par l'user (car non obligatoire) il te suffit de placer une chaine vide dans la requete d'insert.
    Pas tres élégant mais sa devrait marcher

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 14
    Par défaut
    C'est a dire quel est le code ?

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Par défaut
    je te dirais bien de zieuter ca http://www.developpez.net/forums/d12...formulaire/#16,

    il y a une démarche qui tiens la route normalement

  7. #7
    Membre émérite Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Par défaut
    Citation Envoyé par flyad Voir le message
    je suis obligé de remplir tous les champs pour que les se mettent dans ma base mais moi je veux que certains champs soit obligatoirement
    c'est tout a fait normal le programme fait exactement ce que tu a programmé
    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
     
    <?php
    if(
    isset($_POST['Nomprenom']) // si on a POSTé un champ Nomprenom
    && isset($_POST['Datedenaissance']) //et que l'on a POSTé un champ Datedenaissance
    && isset($_POST['Adresse']) //et que l'on a POSTé un champ Adresse
    && isset($_POST['Ville']) //et que l'on a POSTé un champ Ville
    && isset($_POST['Cp']) //et que l'on a POSTé un champ Cp
    && isset($_POST['Civil']) //et que l'on a POSTé un champ Civil
    && isset($_POST['Email'])//et que l'on a POSTé un champ Email
    && isset($_POST['Telephone'])//et que l'on a POSTé un champ Telephone
    && isset($_POST['Code']) //et que l'on a POSTé un champ Code
    && $_POST['Nomprenom'] != "" //et que le champ Nomprenom n'est pas vide
    && $_POST['Datedenaissance'] != "" //et que le champ Datedenaissance n'est pas vide
    && $_POST['Adresse'] != "" //et que le champ Adresse n'est pas vide
    && $_POST['Ville'] != "" //et que le champ Ville n'est pas vide
    && $_POST['Cp'] != "" //et que le champ Cp n'est pas vide
    && $_POST['Civil'] != "" //et que le champ Civil n'est pas vide
    && $_POST['Email'] != ""//et que le champ Email n'est pas vide
    && $_POST['Telephone'] != ""//et que le champ Telephone n'est pas vide
    && $_POST['Code'] != ""//et que le champ Code n'est pas vide
    )
    {
     //.. insert dans la database ...
    }
    ?>
    donc en resumé si l'un des champs est vide pas d'insertion

  8. #8
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    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 418
    Par défaut
    Oui, c'est plus simple de tester l'envoi du formulaire avec une variable témoin et ensuite de vérifier chaque variable et de définir une valeur par défaut, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(isset($_POST['Nomprenom']))
    {
     
    $Datedenaissance = isset($_POST['Datedenaissance'])? $_POST['Datedenaissance'] : '';
    $Adresse = isset($_POST['Adresse'])? $_POST['Adresse'] : '' ; 
    //ect.
    }
    sinon pour info, isset accepte plusieurs variables -> on peut faire if(isset($var1,var2,$var3,$var4))

  9. #9
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2012
    Messages : 50
    Par défaut
    Bonjour,

    Personnellement je ne comprend pas trop votre problème ou plutôt votre demande !

    vous voulez rendre des champs obligatoires ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <script> 
    function verifForm(f) { 
    if(!f.Nomprenom.value) { alert('ATTENTION !! Nom et Prenom obligatoire !'); f.Nomprenom.focus(); return false }
    return true } 
    </script>
    c'est pas plutôt cela que vous cherchez?
    quel problème d'avoir un champ vide dans la base?

    ou alors mettez une variable par Default si cela vous gène.

Discussions similaires

  1. [MySQL] Problème MYSQL php ou peut-être ajax. je ne sais pas.
    Par reventlov dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/06/2015, 18h29
  2. [MySQL] Problème Accent PHP + MySQL
    Par ganjaaw dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 08/08/2007, 22h10
  3. [MySQL] problème entre php et MySql
    Par n0unours dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/05/2007, 09h46
  4. Problème avec PHP et MySQL
    Par Vatgas dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 09/08/2006, 13h07
  5. Problème entre php et mysql
    Par kornmuse90 dans le forum Apache
    Réponses: 17
    Dernier message: 24/04/2006, 15h52

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