Champ formulaire non obligatoire. [Résolu/Fermé]

Signaler
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018
-
 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.

9 réponses


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"
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018
7
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...

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']))
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018
7
Ben j'ai tjs erreur :p

Pourquoi ?
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018
7
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')");
}
?>
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 :)
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018
7
Justement, il me dit "erreur"
C'est mon premier echo dans le 2ème fichier.

Il ne doit pas apprecier les conditions OR et &&
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" !
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018
7
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?
>
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018

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.
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018
7 > etudiant
Merci beaucoup

Parce que là, je suis un peu largué. :d
>
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018

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')");
}
?>
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018
7 > etudiant
ya tjs l'erreur pour l'insert.

On doit pas en etre bien loin.
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"];
}
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"];
}
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018
7 > 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
Utilisateur anonyme >
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018

bonjour
je crois que pour les champs non obligatoires, il faut les mettre à null dans la base.
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018
7 > Utilisateur anonyme
Comment ça?
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018
7
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')");
}
?>
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018
7
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
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 !!!
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018
7
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. :)
>
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018

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 !
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018
7 > etudiant
Bonne nouvelle!!!!

C'est un garcon!!

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

Merci beaucoup!!

C'est génial.
>
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018

Bah ça me fait bien plaisir, il m'aura donné du fil a retordre ce problème :P
Messages postés
170
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2018
7
Allez hop c'est resolu!

Merci etudiant!