Champ formulaire non obligatoire.

Résolu
filoulebauju Messages postés 176 Statut Membre -  
 etudiant -
Bonjour,

Ma question est toute bete, je voudrais que des champs de mon formulaire ne soient pas obligatoires.

Voici un bout de code de mon formulaire:

<form method="POST" name="ajout" action="materiel_ajout_trait.php">

Identifiant: <br>
<input type="text" name="num" size="40" /><br>

Libellé: <br>
<input type="text" name="libelle" size="40" /><br>


Numéro compta:<br>
<input type="text" name="num_compta" size="40" /><br>


Prix d'achat:<br>
<input type="text" name="prix_achat" size="40" /><br>


Durée ammortissement: <br>
<input type="text" name="duree_amo" size="40" /><br>


et voici un bout de code de mon fichier de traitement.
<?php
$odbc = odbc_connect('parcinfo','root','') or die("Could Not Connect to ODBC Database!");
If(isset($_POST['num']) && isset($_POST['libelle']) && isset($_POST['num_compta']) 
	&& isset($_POST['prix_achat']) && isset($_POST['duree_ammo']) && isset($_POST['fournisseur']) 
	&& isset($_POST['marque']) && isset($_POST['date_achat']) && isset($_POST['date_deb_gar']) 
etc...


Le problème est que tous les champs sont obligatoires.

Merci de votre aide.
Configuration: Windows XP
Firefox 2.0.0.14

9 réponses

  1. Utilisateur anonyme
     
    Dans le "if", met tous les champs non obligatoir à la fin :

    Par exemple, quatres champs : champ1,champ2,champ3 et champ4

    if(isset(champ1) && isset(champ2) && isset(champ3) && isset(champ4))...


    Pour le champ1 et 2 n'étant pas obligatoire:

    if(isset(champ3) && isset(champ4) && isset(champ1) && isset(champ2))...


    Et ensuite, il faut remplacer selon le model :

    if(isset(champ3) && isset(champ4) && isset(champ1) OR isset(champ2))...


    On met les champs facultatifs à la fin et entre chaqu'un d'entres eux, on remplace "&&" par "OR"
    0
    1. filoulebauju Messages postés 176 Statut Membre 8
       
      Merci dons si je veux que seul les champs "num, libelle, type, utilisateur, fournisseur, actif" soient obligatoires, j'écris:


      If(isset($_POST['num']) && isset($_POST['libelle']) && isset($_POST['fournisseur']) && isset($_POST['type']) 
      && isset($_POST['utilisateur'])&& isset($_POST['actif'])
      	OR isset($_POST['prix_achat']) OR isset($_POST['duree_ammo']) 
      	OR isset($_POST['marque']) OR isset($_POST['date_achat']) 
      	OR isset($_POST['date_deb_gar']) OR isset($_POST['date_fin_gar']) 
      	OR isset($_POST['sortie_compta']) OR isset($_POST['num_facture']) 
      	OR isset($_POST['societe_faturee']) OR isset($_POST['num_compta']))


      Le problème, c''est que j'ai erreur...
      0
  2. Utilisateur anonyme
     
    Non,

    If(isset($_POST['num']) && isset($_POST['libelle']) && isset($_POST['fournisseur']) && isset($_POST['type'])
    && isset($_POST['utilisateur'])&& isset($_POST['actif']) && isset($_POST['prix_achat'])
    OR isset($_POST['duree_ammo'])
    OR isset($_POST['marque']) OR isset($_POST['date_achat'])
    OR isset($_POST['date_deb_gar']) OR isset($_POST['date_fin_gar'])
    OR isset($_POST['sortie_compta']) OR isset($_POST['num_facture'])
    OR isset($_POST['societe_faturee']) OR isset($_POST['num_compta']))
    0
    1. filoulebauju Messages postés 176 Statut Membre 8
       
      Ben j'ai tjs erreur :p
      0
  3. Utilisateur anonyme
     
    Pourquoi ?
    0
    1. filoulebauju Messages postés 176 Statut Membre 8
       
      je ne sais pas là.

      Je te donne les deux codes entiers, ca sera plus simple pour voir et comme moi j'arrive pas à me détacher suffisamment, un oeil externe devrait trouver plus rapidement l'erreur.

      <?php
      $odbc = odbc_connect('parcinfo','root','') or die("Could Not Connect to ODBC Database!");
      ?>
      
      <html>
      <head>
      
      <!-- Loading Theme file(s) -->
          <link rel="stylesheet" href="http://www.zapatec.com/website/main/../ajax/zpcal/themes/winter.css" />
          <link rel="stylesheet" href="http://www.zapatec.com/website/main/../ajax/zpcal/themes/layouts/small.css" />
      	<link href="../style/style.css" rel="stylesheet" type="text/css" media="screen" />
      <!-- Loading Calendar JavaScript files -->
          <script type="text/javascript" src="http://www.zapatec.com/website/main/../ajax/zpcal/../utils/zapatec.js"></script>
          <script type="text/javascript" src="http://www.zapatec.com/website/main/../ajax/zpcal/src/calendar.js"></script>
      <!-- Loading language definition file -->
          <script type="text/javascript" src="http://www.zapatec.com/website/main/../ajax/zpcal/lang/calendar-fr.js"></script>
      
        </head>
      
      <title>Gestion du matériel</title>
      <form method="POST" name="ajout" action="materiel_ajout_trait.php">
      
      Identifiant: <br>
      <input type="text" name="num" size="40" /><br>
      
      Libellé: <br>
      <input type="text" name="libelle" size="40" /><br>
      
      
      Numéro compta:<br>
      <input type="text" name="num_compta" size="40" /><br>
      
      
      Prix d'achat:<br>
      <input type="text" name="prix_achat" size="40" /><br>
      
      
      Durée ammortissement: <br>
      <input type="text" name="duree_amo" size="40" /><br>
      
      Fournisseur: <br>
      <select name="fournisseur">
      		<?php
      		$liste_fournisseur = odbc_exec($odbc,"SELECT num_fournisseur, Nom_fournisseur FROM fournisseur");
      		while($donnee_fournisseur=odbc_fetch_array($liste_fournisseur)) {?>
      		<option value="<?php echo $donnee_fournisseur['num_fournisseur'] ?>" > <?php echo $donnee_fournisseur['Nom_fournisseur']; ?> </option>
      		<?php }?>
      </select>
      <br/>
      Marque:<br/>
      <?php
        echo '<select name="marque">'."\n"; 
        echo '<option value="-1">Choisir une marque<option>'."\n"; 
         
      	$sql = "SELECT distinct marque FROM materiel ORDER BY marque"; 
      	$result = odbc_exec ($odbc,$sql);
         
        while ($data = odbc_fetch_array($result)) 
        { 
          echo "<option>".$data['marque']."</option>"; 
        } 
         
        echo '</select>'."\n"; 
      ?>
      <br>
      Date d'achat: (JJ/MM/AAAA)<br>
      <input type="text" id="calendar" name="date_achat"  />
          <button id="trigger"><img src='../style/image/calender.jpg'></button>
          <script type="text/javascript">//<![CDATA[
            Zapatec.Calendar.setup({
              firstDay          : 1,
              range             : [2000.01, 2999.12],
              electric          : false,
              inputField        : "calendar",
              button            : "trigger",
              ifFormat          : "%d/%m/%Y",
              daFormat          : "%Y/%m/%d"
            });
          //]]></script>
      	<br>
      Date début garantie: <br>
      <input type="text" id="calendar2" name="date_deb_gar" />
      <button id="trigger"><img src='../style/image/calender.jpg'></button>
          <script type="text/javascript">//<![CDATA[
            Zapatec.Calendar.setup({
              firstDay          : 1,
              range             : [2000.01, 2999.12],
              electric          : false,
              inputField        : "calendar2",
              button            : "trigger",
              ifFormat          : "%d/%m/%Y",
              daFormat          : "%Y/%m/%d"
            });
          //]]></script>
      <br>
      
      Date fin garantie: <br>
      <input type="text" id="calendar3" name="date_fin_gar" />
      <button id="trigger"><img src='../style/image/calender.jpg'></button>
          <script type="text/javascript">//<![CDATA[
            Zapatec.Calendar.setup({
              firstDay          : 1,
              range             : [2000.01, 2999.12],
              electric          : false,
              inputField        : "calendar3",
              button            : "trigger",
              ifFormat          : "%d/%m/%Y",
              daFormat          : "%Y/%m/%d"
            });
          //]]></script>
      <br>
      Sortie Comptabilité:<br>
      <input type="text"  id="calendar4" name="sortie_compta" />
      <button id="trigger"><img src='../style/image/calender.jpg'></button>
          <script type="text/javascript">//<![CDATA[
            Zapatec.Calendar.setup({
              firstDay          : 1,
              range             : [2000.01, 2999.12],
              electric          : false,
              inputField        : "calendar4",
              button            : "trigger",
              ifFormat          : "%d/%m/%Y",
              daFormat          : "%Y/%m/%d"
            });
          //]]></script>
      	<br>
      
      Actif:<br>
      <?php
      $sql="SELECT distinct actif from materiel";
      $result= odbc_exec ($odbc, $sql);?>
      <select name="actif">
      <?php while ($data = odbc_fetch_array($result))
      {echo "<option>".$data['actif']."</option>"; }?>
      </select>
      <br>
      
      Type: <br>
      <?php
        echo '<select name="type">'."\n"; 
        echo '<option value="-1">Choisir un type<option>'."\n"; 
         
      	$sql = "SELECT distinct type FROM materiel"; 
      	$result = odbc_exec ($odbc,$sql);
         
        while ($data = odbc_fetch_array($result)) 
        { 
          echo "<option>".$data['type']."</option>"; 
        } 
         
        echo '</select>'."\n"; 
      ?>
      <br>
      Utilisateur:<br>
      <select name="utilisateur">
      		<?php
      		$liste_utilisateur = odbc_exec($odbc,"SELECT num_utilisateur, Nom_utilisateur, Prenom_utilisateur FROM utilisateurs order by Nom_utilisateur");
      		while($donnee_utilisateur=odbc_fetch_array($liste_utilisateur)) {?>
      		<option value="<?php echo $donnee_utilisateur['num_utilisateur'] ?>" > <?php echo $donnee_utilisateur['Nom_utilisateur'].' '.$donnee_utilisateur['Prenom_utilisateur']; ?> </option>
      		<?php }?>
      </select>
      <br>
      Societe facturée:<br>
      <input type="text" name="societe_facturee">
      <br>
      Numéro de facture:<br>
      <input type="text" name="num_facture">
      <br>
      <input type="submit" name="ajouter">
      </form>
      



      2ème fichier:
      <?php
      $odbc = odbc_connect('parcinfo','root','') or die("Could Not Connect to ODBC Database!");
      If(
      isset($_POST['num']) 
      && isset($_POST['libelle']) 
      && isset($_POST['fournisseur']) 
      && isset($_POST['type'])
      && isset($_POST['utilisateur']) 
      && isset($_POST['marque'])
      && isset($_POST['actif']) 
      && isset($_POST['prix_achat'])
      OR isset($_POST['duree_ammo'])
      OR isset($_POST['date_achat'])
      OR isset($_POST['date_deb_gar']) 
      OR isset($_POST['date_fin_gar'])
      OR isset($_POST['sortie_compta']) 
      OR isset($_POST['num_facture'])
      OR isset($_POST['societe_faturee']) 
      OR isset($_POST['num_compta']))
      {
      echo "erreur";
      }
      else{
      	$num=$_POST['num'];
      	$libelle=$_POST['libelle'];
      	$marque=$_POST['marque'];
      	$num_compta=$_POST['num_compta'];
      	$prix_achat=$_POST['prix_achat'];
      	$duree_amo=$_POST['duree_amo'];
      	$actif=$_POST['actif'];
      	$sortie_compta=$_POST['sortie_compta'];
      	$fournisseur=$_POST['fournisseur'];
      	$date_deb_gar=$_POST['date_deb_gar'];
      	$date_fin_gar=$_POST['date_fin_gar'];
      	$date_achat=$_POST['date_achat'];
      	$type=$_POST['type'];
      	$utilisateur=$_POST['utilisateur'];
      	$soc=$_POST['societe_facturee'];
      	$num_facture=$_POST['num_facture'];
      
      $ajout=odbc_exec($odbc, "INSERT INTO Materiel ([Num_materiel], [Libelle_materiel], [Marque], 
      [Num_compta], [Prix_achat], [Duree_amortissement],[actif],[sortie_compta], [Num_fournisseur], 
      [Date_debut_garantie], [Date_fin_garantie], [Date_achat], [Type], [Num_utilisateur],[num_facture], [societe_facturee] )
      VALUES ('$num', '$libelle', '$marque', $num_compta, $prix_achat, $duree_amo, '$actif', '$sortie_compta', $fournisseur,
      '$date_deb_gar', '$date_fin_gar', '$date_achat', '$type', $utilisateur, $num, '$soc')");
      }
      ?>
      0
  4. etudiant
     
    Il te donne quoi comme message d'erreur ? Ce sera plus simple de trouver si on sait un peu plus précisément où chercher :)
    0
    1. filoulebauju Messages postés 176 Statut Membre 8
       
      Justement, il me dit "erreur"
      C'est mon premier echo dans le 2ème fichier.

      Il ne doit pas apprecier les conditions OR et &&
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. etudiant
     
    Si j'ai bien compris l'un de tes posts précédents tu ne veux en obligatoire que les champs :
    num, libelle, fournisseur, type, utilisateur, actif ( + marque et prix achat dans ta commande)

    Dans ce cas ta commande est bonne et ton echo n'est pas le bon, il faut afficher "OK" !
    0
    1. etudiant
       
      en fait, vu la suite du code il serait préférable de mettre :
      If(!(
      isset($_POST['num'])
      && isset($_POST['libelle'])
      && isset($_POST['fournisseur'])
      && isset($_POST['type'])
      && isset($_POST['utilisateur'])
      && isset($_POST['marque'])
      && isset($_POST['actif'])
      && isset($_POST['prix_achat'])
      OR isset($_POST['duree_ammo'])
      OR isset($_POST['date_achat'])
      OR isset($_POST['date_deb_gar'])
      OR isset($_POST['date_fin_gar'])
      OR isset($_POST['sortie_compta'])
      OR isset($_POST['num_facture'])
      OR isset($_POST['societe_faturee'])
      OR isset($_POST['num_compta'])))
      {
      echo "erreur";
      }
      else{
      $num=$_POST['num'];
      $libelle=$_POST['libelle'];
      $marque=$_POST['marque'];
      $num_compta=$_POST['num_compta'];
      .....

      Qui, au cas où ces valeurs ne soient pas définies, affiche le message d'erreur et continue le code.
      0
    2. filoulebauju Messages postés 176 Statut Membre 8
       
      Tu as raison, le problème est qu'ensuite il m'est impossible d'éxecuter la requete, est-ce que c'est access qui bloque?
      0
    3. etudiant > filoulebauju Messages postés 176 Statut Membre
       
      Bah disons que si tu mets des champs facultatifs, ceux qui n'ont pas été remplis n'auront pas été initialisés ( il n'y aura aucune valeur a l'intérieur) donc tu ne pourra pas les utiliser tels quels dans une requête.
      il faudrait donc faire pour chaque valeur facultative :
      if (!(isset($_POST["duree_ammo"])))
      {
      $duree_amo="non renseigné"
      }
      if (!(isset($_POST["sortie_compta"])))
      {
      $sortie_compta="non renseigné"
      }
      ....

      Cependant, si tu fais ça, un petit "rafraichissement" du code s'impose. Je vais essayer de te faire ça rapidement.
      0
    4. filoulebauju Messages postés 176 Statut Membre 8 > etudiant
       
      Merci beaucoup

      Parce que là, je suis un peu largué. :d
      0
    5. etudiant > filoulebauju Messages postés 176 Statut Membre
       
      essaye avec ça, sauf erreur de nom de variable, ça devrait pouvoir marcher ... (espérons ! )

      <?php
      $odbc = odbc_connect('parcinfo','root','') or die("Could Not Connect to ODBC Database!");
      If(!(
      isset($_POST['num']) 
      && isset($_POST['libelle']) 
      && isset($_POST['fournisseur']) 
      && isset($_POST['type'])
      && isset($_POST['utilisateur']) 
      && isset($_POST['marque'])
      && isset($_POST['actif']) 
      && isset($_POST['prix_achat']))
      {
      echo "erreur";
      }
      else{
      	$num=$_POST['num'];
      	$libelle=$_POST['libelle'];
      	$fournisseur=$_POST['fournisseur'];
      	$type=$_POST['type'];
      	$utilisateur=$_POST['utilisateur'];
      	$marque=$_POST['marque'];
      	$actif=$_POST['actif'];
      	$prix_achat=$_POST['prix_achat'];
      
      
      	if (!(isset($_POST["duree_ammo"])))
      	{
      		$duree_ammo="non renseigné";
      	} else {
      		$duree_ammo=$POST["duree_ammo"];
      	}
      	if (!(isset($_POST["num_compta"])))
      	{
      		$num_compta="non renseigné";
      	} else {
      		$num_compta=$POST["num_compta"];
      	}
      	if (!(isset($_POST["sortie_compta"])))
      	{
      		$sortie_compta="non renseigné";
      	} else {
      		$sortie_compta=$POST["sortie_compta"];
      	}
      	if (!(isset($_POST["date_deb_gar"])))
      	{
      		$date_deb_gar="non renseigné";
      	} else {
      		$date_deb_gar=$POST["date_deb_gar"];
      	}
      	if (!(isset($_POST["date_fin_gar"])))
      	{
      		$date_fin_gar="non renseigné";
      	} else {
      		$date_fin_gar=$POST["date_fin_gar"];
      	}
      	if (!(isset($_POST["date_achat"])))
      	{
      		$date_achat="non renseigné";
      	} else {
      		$date_achat=$POST["date_achat"];
      	}
      	if (!(isset($_POST["societe_facturee"])))
      	{
      		$societe_facturee="non renseigné";
      	} else {
      		$societe_facturee=$POST["societe_facturee"];
      	}
      	if (!(isset($_POST["num_facture"])))
      	{
      		$num_facture="non renseigné";
      	} else {
      		$num_facture=$POST["num_facture"];
      	}
      	
      
      $ajout=odbc_exec($odbc, "INSERT INTO Materiel ([Num_materiel], [Libelle_materiel], [Marque], 
      [Num_compta], [Prix_achat], [Duree_amortissement],[actif],[sortie_compta], [Num_fournisseur], 
      [Date_debut_garantie], [Date_fin_garantie], [Date_achat], [Type], [Num_utilisateur],[num_facture], [societe_facturee] )
      VALUES ('$num', '$libelle', '$marque', $num_compta, $prix_achat, $duree_amo, '$actif', '$sortie_compta', $fournisseur,
      '$date_deb_gar', '$date_fin_gar', '$date_achat', '$type', $utilisateur, $num, '$soc')");
      }
      ?>
      0
  7. etudiant
     
    et avec :
    if (!(isset($_POST["duree_ammo"])))
    {
    $duree_amo="non renseigné";
    } else {
    $duree_amo=$POST["duree_amo"];
    }
    au lieu de :
    if (!(isset($_POST["duree_ammo"])))
    {
    $duree_ammo="non renseigné";
    } else {
    $duree_ammo=$POST["duree_ammo"];
    }
    0
    1. etudiant
       
      rectificatif :
      et avec :
      if (!(isset($_POST["duree_amo"])))
      {
      $duree_amo="non renseigné";
      } else {
      $duree_amo=$POST["duree_amo"];
      }
      au lieu de :
      if (!(isset($_POST["duree_ammo"])))
      {
      $duree_ammo="non renseigné";
      } else {
      $duree_ammo=$POST["duree_ammo"];
      }
      0
      1. filoulebauju Messages postés 176 Statut Membre 8 > etudiant
         
        le problème c'est qu'il n'a pas l'air de vouloir passer dans ls autres if.

        Si je fais un echo de toutes les variables, il n'affiche que la première.

        rectification:

        Il m'affiche rien
        0
      2. bergeat > filoulebauju Messages postés 176 Statut Membre
         
        bonjour
        je crois que pour les champs non obligatoires, il faut les mettre à null dans la base.
        0
      3. filoulebauju Messages postés 176 Statut Membre 8 > bergeat
         
        Comment ça?
        0
  8. filoulebauju Messages postés 176 Statut Membre 8
     
    regarde ca ne veut meme pas afficher les echo.

    <?php
    $odbc = odbc_connect('parcinfo','root','') or die("Could Not Connect to ODBC Database!");
    if(!(
    isset($_POST['num']) 
    && isset($_POST['libelle']) 
    && isset($_POST['fournisseur']) 
    && isset($_POST['type'])
    && isset($_POST['utilisateur']) 
    && isset($_POST['marque'])
    && isset($_POST['actif']) 
    && isset($_POST['prix_achat'])))
    {
    echo "erreur";
    }
    else{
    	$num=$_POST['num'];
    	$libelle=$_POST['libelle'];
    	$fournisseur=$_POST['fournisseur'];
    	$type=$_POST['type'];
    	$utilisateur=$_POST['utilisateur'];
    	$marque=$_POST['marque'];
    	$actif=$_POST['actif'];
    	$prix_achat=$_POST['prix_achat'];
    
    
    	if (!(isset($_POST['duree_amo'])))
    	{
    		echo $duree_amo="non renseigné";
    	} else {
    		echo $duree_amo=$POST['duree_amo'];
    	}
    	if (!(isset($_POST['num_compta'])))
    	{
    		echo $num_compta=0;
    	} else {
    		echo $num_compta=$POST['num_compta'];
    	}
    	if (!(isset($_POST['sortie_compta'])))
    	{
    		echo $sortie_compta="non renseigné";
    	} else {
    		echo $sortie_compta=$POST['sortie_compta'];
    	}
    	if (!(isset($_POST['date_deb_gar'])))
    	{
    		echo $date_deb_gar="non renseigné";
    	} else {
    		echo $date_deb_gar=$POST['date_deb_gar'];
    	}
    	if (!(isset($_POST['date_fin_gar'])))
    	{
    		echo $date_fin_gar="non renseigné";
    	} else {
    		echo $date_fin_gar=$POST['date_fin_gar'];
    	}
    	if (!(isset($_POST['date_achat'])))
    	{
    		echo $date_achat="non renseigné";
    	} else {
    		echo $date_achat=$POST['date_achat'];
    	}
    	if (!(isset($_POST['societe_facturee'])))
    	{
    		echo $societe_facturee="non renseigné";
    	} else {
    		echo $societe_facturee=$POST['societe_facturee'];
    	}
    	if (!(isset($_POST['num_facture'])))
    	{
    		echo $num_facture=0;
    	} else {
    		echo $num_facture=$POST['num_facture'];
    	}
    	if(!(isset($_POST['date_mise_rebus'])))
    	{
    		echo $date_mise_rebus='Non renseignée';
    	} else {
    		echo $date_mise_rebus=$_POST['date_mise_rebus'];
    	}
    
    $ajout=odbc_exec($odbc, "INSERT INTO Materiel ([Num_materiel], [Libelle_materiel], [Marque], 
    [Num_compta], [Prix_achat], [Duree_amortissement],[actif],[sortie_compta], [Num_fournisseur], 
    [Date_debut_garantie], [Date_fin_garantie], [Date_achat], [Type], [Num_utilisateur],[Date_mise_rebus],[num_facture], [societe_facturee] )
    VALUES ('$num', '$libelle', '$marque', $num_compta, $prix_achat, $duree_amo, '$actif', '$sortie_compta', $fournisseur,
    '$date_deb_gar', '$date_fin_gar', '$date_achat', '$type', $utilisateur,'$date_mise_rebus', $num_facture, '$societe_facturee')");
    }
    ?>
    
    0
    1. filoulebauju Messages postés 176 Statut Membre 8
       
      Un petit up avec mes deux fichiers:

      fichier 1:
      <?php
      $odbc = odbc_connect('parcinfo','root','') or die("Could Not Connect to ODBC Database!");
      ?>
      
      <html>
      <head>
      
      <!-- Loading Theme file(s) -->
          <link rel="stylesheet" href="http://www.zapatec.com/website/main/../ajax/zpcal/themes/winter.css" />
          <link rel="stylesheet" href="http://www.zapatec.com/website/main/../ajax/zpcal/themes/layouts/small.css" />
      	<link href="../style/style.css" rel="stylesheet" type="text/css" media="screen" />
      <!-- Loading Calendar JavaScript files -->
          <script type="text/javascript" src="http://www.zapatec.com/website/main/../ajax/zpcal/../utils/zapatec.js"></script>
          <script type="text/javascript" src="http://www.zapatec.com/website/main/../ajax/zpcal/src/calendar.js"></script>
      <!-- Loading language definition file -->
          <script type="text/javascript" src="http://www.zapatec.com/website/main/../ajax/zpcal/lang/calendar-fr.js"></script>
      
        </head>
      
      <title>Gestion du matériel</title>
      <form method="POST" name="ajout" action="materiel_ajout_trait.php">
      
      Identifiant:* <br>
      <input type="text" name="num" size="40" /><br>
      
      Libellé:* <br>
      <input type="text" name="libelle" size="40" /><br>
      
      
      Numéro compta:<br>
      <input type="text" name="num_compta" size="40" /><br>
      
      
      Prix d'achat:*<br>
      <input type="text" name="prix_achat" size="40" /><br>
      
      
      Durée ammortissement: <br>
      <input type="text" name="duree_amo" size="40" /><br>
      
      Fournisseur:* <br>
      <select name="fournisseur">
      		<?php
      		$liste_fournisseur = odbc_exec($odbc,"SELECT num_fournisseur, Nom_fournisseur FROM fournisseur");
      		while($donnee_fournisseur=odbc_fetch_array($liste_fournisseur)) {?>
      		<option value="<?php echo $donnee_fournisseur['num_fournisseur'] ?>" > <?php echo $donnee_fournisseur['Nom_fournisseur']; ?> </option>
      		<?php }?>
      </select>
      <br/>
      Marque:*<br/>
      <?php
        echo '<select name="marque">'."\n"; 
        echo '<option value="-1">Choisir une marque<option>'."\n"; 
         
      	$sql = "SELECT distinct marque FROM materiel ORDER BY marque"; 
      	$result = odbc_exec ($odbc,$sql);
         
        while ($data = odbc_fetch_array($result)) 
        { 
          echo "<option>".$data['marque']."</option>"; 
        } 
         
        echo '</select>'."\n"; 
      ?>
      <br>
      Date d'achat: (JJ/MM/AAAA)<br>
      <input type="text" id="calendar" name="date_achat"  />
          <button id="trigger"><img src='../style/image/calender.jpg'></button>
          <script type="text/javascript">//<![CDATA[
            Zapatec.Calendar.setup({
              firstDay          : 1,
              range             : [2000.01, 2999.12],
              electric          : false,
              inputField        : "calendar",
              button            : "trigger",
              ifFormat          : "%d/%m/%Y",
              daFormat          : "%Y/%m/%d"
            });
          //]]></script>
      	<br>
      Date début garantie: <br>
      <input type="text" id="calendar2" name="date_deb_gar" />
      <button id="trigger"><img src='../style/image/calender.jpg'></button>
          <script type="text/javascript">//<![CDATA[
            Zapatec.Calendar.setup({
              firstDay          : 1,
              range             : [2000.01, 2999.12],
              electric          : false,
              inputField        : "calendar2",
              button            : "trigger",
              ifFormat          : "%d/%m/%Y",
              daFormat          : "%Y/%m/%d"
            });
          //]]></script>
      <br>
      
      Date fin garantie: <br>
      <input type="text" id="calendar3" name="date_fin_gar" />
      <button id="trigger"><img src='../style/image/calender.jpg'></button>
          <script type="text/javascript">//<![CDATA[
            Zapatec.Calendar.setup({
              firstDay          : 1,
              range             : [2000.01, 2999.12],
              electric          : false,
              inputField        : "calendar3",
              button            : "trigger",
              ifFormat          : "%d/%m/%Y",
              daFormat          : "%Y/%m/%d"
            });
          //]]></script>
      <br>
      Sortie Comptabilité:<br>
      <input type="text"  id="calendar4" name="sortie_compta" />
      <button id="trigger"><img src='../style/image/calender.jpg'></button>
          <script type="text/javascript">//<![CDATA[
            Zapatec.Calendar.setup({
              firstDay          : 1,
              range             : [2000.01, 2999.12],
              electric          : false,
              inputField        : "calendar4",
              button            : "trigger",
              ifFormat          : "%d/%m/%Y",
              daFormat          : "%Y/%m/%d"
            });
          //]]></script>
      	<br>
      
      Date mise au rebus:<br>
      <input type="text" id="calendar5" name="date_mise_rebus"  />
          <button id="trigger"><img src='../style/image/calender.jpg'></button>
          <script type="text/javascript">//<![CDATA[
            Zapatec.Calendar.setup({
              firstDay          : 1,
              range             : [2000.01, 2999.12],
              electric          : false,
              inputField        : "calendar5",
              button            : "trigger",
              ifFormat          : "%d/%m/%Y",
              daFormat          : "%Y/%m/%d"
            });
          //]]></script>
      	<br>
      	
      Actif:*<br>
      <?php
      $sql="SELECT distinct actif from materiel";
      $result= odbc_exec ($odbc, $sql);?>
      <select name="actif">
      <?php while ($data = odbc_fetch_array($result))
      {echo "<option>".$data['actif']."</option>"; }?>
      </select>
      <br>
      
      Type: *<br>
      <?php
        echo '<select name="type">'."\n"; 
        echo '<option value="-1">Choisir un type<option>'."\n"; 
         
      	$sql = "SELECT distinct type FROM materiel"; 
      	$result = odbc_exec ($odbc,$sql);
         
        while ($data = odbc_fetch_array($result)) 
        { 
          echo "<option>".$data['type']."</option>"; 
        } 
         
        echo '</select>'."\n"; 
      ?>
      <br>
      Utilisateur:*<br>
      <select name="utilisateur">
      		<?php
      		$liste_utilisateur = odbc_exec($odbc,"SELECT num_utilisateur, Nom_utilisateur, Prenom_utilisateur FROM utilisateurs order by Nom_utilisateur");
      		while($donnee_utilisateur=odbc_fetch_array($liste_utilisateur)) {?>
      		<option value="<?php echo $donnee_utilisateur['num_utilisateur'] ?>" > <?php echo $donnee_utilisateur['Nom_utilisateur'].' '.$donnee_utilisateur['Prenom_utilisateur']; ?> </option>
      		<?php }?>
      </select>
      <br>
      Societe facturée:<br>
      <input type="text" name="societe_facturee">
      <br>
      Numéro de facture:<br>
      <input type="text" name="num_facture">
      <br>
      <input type="submit" name="ajouter">
      </form>
      


      fichier 2:
      <?php
      $odbc = odbc_connect('parcinfo','root','') or die("Could Not Connect to ODBC Database!");
      if(!(
      isset($_POST['num']) 
      && isset($_POST['libelle']) 
      && isset($_POST['fournisseur']) 
      && isset($_POST['type'])
      && isset($_POST['utilisateur']) 
      && isset($_POST['marque'])
      && isset($_POST['actif']) 
      && isset($_POST['prix_achat'])))
      {
      echo "erreur";
      }
      else{
      	$num=$_POST['num'];
      	$libelle=$_POST['libelle'];
      	$fournisseur=$_POST['fournisseur'];
      	$type=$_POST['type'];
      	$utilisateur=$_POST['utilisateur'];
      	$marque=$_POST['marque'];
      	$actif=$_POST['actif'];
      	$prix_achat=$_POST['prix_achat'];
      
      	if (!(isset($_POST['duree_amo'])))
      	{
      		echo $duree_amo = 0;
      	} else {
      		echo $duree_amo=$_POST['duree_amo'];
      	}
      	if (!(isset($_POST['num_compta'])))
      	{
      		echo $num_compta = 0;
      	} else {
      		echo $num_compta=$_POST['num_compta'];
      	}
      	if (!(isset($_POST['sortie_compta'])))
      	{
      		echo $sortie_compta = "NULL";
      	} else {
      		echo $sortie_compta=$_POST['sortie_compta'];
      	}
      	if (!(isset($_POST['date_deb_gar'])))
      	{
      		echo $date_deb_gar = "NULL";
      	} else {
      		echo $date_deb_gar=$_POST['date_deb_gar'];
      	}
      	if (!(isset($_POST['date_fin_gar'])))
      	{
      		echo $date_fin_gar = "NULL";
      	} else {
      		echo $date_fin_gar=$_POST['date_fin_gar'];
      	}
      	if (!(isset($_POST['date_achat'])))
      	{
      		echo $date_achat = "NULL";
      	} else {
      		echo $date_achat=$_POST['date_achat'];
      	}
      	if (!(isset($_POST['societe_facturee'])))
      	{
      		echo $societe_facturee = "NULL";
      	} else {
      		echo $societe_facturee=$_POST['societe_facturee'];
      	}
      	if (!(isset($_POST['num_facture'])))
      	{
      		echo $num_facture = 0;
      	} else {
      		echo $num_facture=$_POST['num_facture'];
      	}
      	if(!(isset($_POST['date_mise_rebus'])))
      	{
      		echo $date_mise_rebus = "NULL";
      	} else {
      		echo $date_mise_rebus=$_POST['date_mise_rebus'];
      	}
      
      $ajout=odbc_exec($odbc, "INSERT INTO Materiel ([Num_materiel], [Libelle_materiel], [Marque], 
      [Num_compta], [Prix_achat], [Duree_amortissement],[actif],[sortie_compta], [Num_fournisseur], 
      [Date_debut_garantie], [Date_fin_garantie], [Date_achat], [Type], [Num_utilisateur],[Date_mise_rebus],[num_facture], [societe_facturee] )
      VALUES ('$num', '$libelle', '$marque', $num_compta, $prix_achat, $duree_amo, '$actif', '$sortie_compta', $fournisseur,
      '$date_deb_gar', '$date_fin_gar', '$date_achat', '$type', $utilisateur,'$date_mise_rebus', $num_facture, '$societe_facturee')");
      }
      ?>


      Voila, arrivé à $prix_achat=$_POST['prix_achat']; le code n'interprete pas les if qui suivent.


      Merci
      0
  9. etudiant
     
    et avec :
    if ($_POST['duree_amo']=="")
    	{
    		echo $duree_amo = 0;
    	} else {
    		echo $duree_amo=$_POST['duree_amo'];
    	}
    	if ($_POST['num_compta']=="")
    	{
    		echo $num_compta = 0;
    	} else {
    		echo $num_compta=$_POST['num_compta'];
    	}
    	if ($_POST['sortie_compta']=="")
    	{
    		echo $sortie_compta = "NULL";
    	} else {
    		echo $sortie_compta=$_POST['sortie_compta'];
    	}
    	if ($_POST['date_deb_gar']=="")
    	{
    		echo $date_deb_gar = "NULL";
    	} else {
    		echo $date_deb_gar=$_POST['date_deb_gar'];
    	}
    	if ($_POST['date_fin_gar']=="")
    	{
    		echo $date_fin_gar = "NULL";
    	} else {
    		echo $date_fin_gar=$_POST['date_fin_gar'];
    	}
    	if ($_POST['date_achat']=="")
    	{
    		echo $date_achat = "NULL";
    	} else {
    		echo $date_achat=$_POST['date_achat'];
    	}
    	if ($_POST['societe_facturee']=="")
    	{
    		echo $societe_facturee = "NULL";
    	} else {
    		echo $societe_facturee=$_POST['societe_facturee'];
    	}
    	if ($_POST['num_facture']=="")
    	{
    		echo $num_facture = 0;
    	} else {
    		echo $num_facture=$_POST['num_facture'];
    	}
    	if($_POST['date_mise_rebus']=="")
    	{
    		echo $date_mise_rebus = "NULL";
    	} else {
    		echo $date_mise_rebus=$_POST['date_mise_rebus'];
    	}
    

    On va bien finir par trouver !!!
    0
    1. filoulebauju Messages postés 176 Statut Membre 8
       
      Ben écoute, c'est déja vachement mieux, mais le problème que j'avais pas vu, c'est qu'en fait, si tu mais formulaire vide, ben il s'en fout, et il tente d'executer la requete...

      En gros, rien n'est obligatoire, rien n'est facultatif, c'est un self mon formulaire, c'est au choix. :)
      0
      1. etudiant > filoulebauju Messages postés 176 Statut Membre
         
        Si j'en oublie la moitié ...

        if(
        ($_POST['num']=="") 
        OR ($_POST['libelle']=="") 
        OR ($_POST['fournisseur']=="") 
        OR ($_POST['type']=="")
        OR ($_POST['utilisateur']=="") 
        OR ($_POST['marque']=="")
        OR ($_POST['actif']=="") 
        OR ($_POST['prix_achat']=="")
        )


        Allez, dis moi que ça marche !
        0
      2. filoulebauju Messages postés 176 Statut Membre 8 > etudiant
         
        Bonne nouvelle!!!!

        C'est un garcon!!

        Heu... non ca marche!!!!!

        Merci beaucoup!!

        C'est génial.
        0
      3. etudiant > filoulebauju Messages postés 176 Statut Membre
         
        Bah ça me fait bien plaisir, il m'aura donné du fil a retordre ce problème :P
        0
  10. filoulebauju Messages postés 176 Statut Membre 8
     
    Allez hop c'est resolu!

    Merci etudiant!
    0