Champ formulaire non obligatoire.

Résolu/Fermé
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 - 28 avril 2008 à 14:22
 etudiant - 30 avril 2008 à 10:34
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.

9 réponses

Utilisateur anonyme
28 avril 2008 à 14:32
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
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 8
28 avril 2008 à 14:56
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
Utilisateur anonyme
28 avril 2008 à 14:59
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
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 8
28 avril 2008 à 15:02
Ben j'ai tjs erreur :p
0
Utilisateur anonyme
28 avril 2008 à 15:08
Pourquoi ?
0
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 8
28 avril 2008 à 15:10
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
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
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 8
28 avril 2008 à 15:36
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 8
28 avril 2008 à 15:53
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
etudiant > filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018
28 avril 2008 à 16:01
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
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 8 > etudiant
28 avril 2008 à 16:09
Merci beaucoup

Parce que là, je suis un peu largué. :d
0
etudiant > filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018
28 avril 2008 à 16:13
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
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
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
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 8 > etudiant
29 avril 2008 à 08:27
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
Utilisateur anonyme > filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018
29 avril 2008 à 08:37
bonjour
je crois que pour les champs non obligatoires, il faut les mettre à null dans la base.
0
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 8 > Utilisateur anonyme
29 avril 2008 à 08:41
Comment ça?
0
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 8
29 avril 2008 à 08:51
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
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 8
30 avril 2008 à 08:58
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
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
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 8
30 avril 2008 à 10:17
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
etudiant > filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018
30 avril 2008 à 10:25
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
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 8 > etudiant
30 avril 2008 à 10:31
Bonne nouvelle!!!!

C'est un garcon!!

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

Merci beaucoup!!

C'est génial.
0
etudiant > filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018
30 avril 2008 à 10:34
Bah ça me fait bien plaisir, il m'aura donné du fil a retordre ce problème :P
0
filoulebauju Messages postés 170 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 23 octobre 2018 8
30 avril 2008 à 10:33
Allez hop c'est resolu!

Merci etudiant!
0