Menu déroulant cose à cocher formulaires

Résolu
maxwellcs Messages postés 21 Date d'inscription jeudi 1 mai 2003 Statut Membre Dernière intervention 17 janvier 2006 - 17 nov. 2005 à 14:08
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 17 nov. 2005 à 18:44
Bonjour à tous!!!



Déja je vous remercie pour l'aide que vous m'avez apportez.J'ai posté
plusieurs fois sur le forum et jusqu'a présent tous mes problèmes
ont été résolus!!Mais étant encore un pauvre débutant et coincant sur
ca depuis plusieurs jours je me permets de vous poser un petit problème
que j'ai.



Pour la gestion d'ordinateurs en php , je me suis créé un formulaire (
pour ajouter de nouveaux ordi) avec des champs à remplir , des cases a
cocher.....

Ensuite quand on clique sur Ajouter on tombe sur la page qui donne sous
forme de tableau les caractéristiques de l'utilisateur que l'on vient
de taper.



J'ai aussi fait en sorte que lorsqon clique sur l'utilisateur dans le
tableau , on tombe sur le formulaire en question avec les
caractéristiques de l'utilisateur.



Tout fonctionne sauf pour le menu déroulant qui m'indique la valeur par
défaut et non la valeur que j'ai indiqué dans le formulaire.

9 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 nov. 2005 à 18:44
Ce n'est pas la question; tes $_POST sont envoyés vers modif, pas vers
Ajout. Donc ils n'existent pas dans Ajout. Aucun! Donc forcément, dès
que tu testes

tes $Service et tes $_POST, ça ne colle pas, les $_POST sont vides.

Les variables ne sont pas globales à ton site, elles sont locales à ta
page. Tu les récupères par la méthode post dans modif, ok. Mais uqand
tu reviens sur ajout...ben elles n'existent plus. Il faut que modif les
renvoie à ajout...
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 nov. 2005 à 15:19
Hello,

tu devrais montrer un brin de code :-)
0
maxwellcs Messages postés 21 Date d'inscription jeudi 1 mai 2003 Statut Membre Dernière intervention 17 janvier 2006
17 nov. 2005 à 15:30
J'ai oublié de dire que j'ai une table qui s'appelle parc_micro

Dans la table ca m'affiche tres bien la valeur que j'ai indiqué dans le
formulaire , mais dans le formulaire , j'ai l valeur par défaut et ca
m'énerve



Voici un extrait de code









-------CECI EST LA FONCTION QUI PERMET DE CHOISIR LOPTION PAR DEFAUT--------------------------



<?function choixParDefaut($Service) {

$par_defaut ='';



if (isset($_POST['Service']))

{

if ($_POST['Service'] == $Service)

{

$par_defaut='selected="selected"';

}

}



return $par_defaut;

}

?>



----FORMULAIRE--------------------





<form Method="post" action="http://localhost/intranet/micro/modif_micro.php">

<fieldset>

<legend>Identification</legend>

<label>Nom micro : "/></label>

<label>User : "/></label>

<label>N° de Série : "/></label>

</fieldset>,

<fieldset>

<legend>Situation Géographique</legend>

------C'est ici le problème------------------------------------

<select name="Service">

<option
value="direction_generale" <?php echo
choixParDefaut('direction_generale'); ?>>Direction
Générale</option>

<option
value="direction_commerciale" <?php echo
choixParDefaut('direction_commerciale'); ?>>Direction commerciale
</option>

<option
value="direction_technique" <?php echo
choixParDefaut('direction_technique'); ?>>Direction technique
</option>

<option
value="equipe_systeme" <?php echo choixParDefaut('equipe_systeme');
?>> Equipe système </option>

<option
value="production_kheops" <?php echo
choixParDefaut('production_kheops'); ?>>Production
Kheops</option>

<option
value="production_amasis_court_terme" <?php echo
choixParDefaut('production_amasis_court_terme'); ?>>Production
Amasis court-terme</option>

<option
value="production_amasis_long_terme" <?php echo
choixParDefaut('production_amasis_long_terme'); ?>>Production
Amasis long-terme </option>

<option
value="production_canopes" <?php echo
choixParDefaut('production_canopes'); ?>>Production Canopes
</option>

<option
value="production_ramses" <?php echo
choixParDefaut('production_ramses'); ?>>Production Ramses
</option>

<option
value="service_commercial" <?php echo
choixParDefaut('service_commercial'); ?>>Service
Commercial</option>

<option value="secretaire"
<?php echo choixParDefaut('secretaire'); ?>>Secrétariat
</option>

</select>

<label>Bureau : "/></label>

</fieldset>,

----

<fieldset>

<legend>Constructeur</legend>

<label>Marque : "/></label>

<label>Modele : "/></label>

</fieldset>,

----

<fieldset>

<legend>Puissance</legend>

<label>Processeur : "/></label>

<label>Mémoire Vive : "/></label>

</fieldset>,

,

----

<fieldset>

<legend>Périphériques d'entrée</legend>

<label>Clavier : "/></label>

<label>Souris : "/></label>

<label>Lecteur code barre : "/></label>

<label>Autre : "/></label>

</fieldset>,

<fieldset>

<legend>Etat</legend>

<label>etat :"/></label>

</fieldset>,

----

<fieldset>

<legend>Acquisition</legend>

<label>Date d'Achat : "/></label>

<label>Date de mise en service :</label>

</fieldset>,

<fieldset>

<legend>Garantie</legend>

<label>Durée Garantie : "/></label>

</fieldset>,

\"/>


</form>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 nov. 2005 à 15:53
J'ai mal à la tête cet apm, aliors on y va doucement...essayes 2 trucs :



echo $selected = choixParDefaut('blabla');



Si ça ne change rien, regarde la source html de ta page. Tu verras ce qu'il met dans tes balises options, déjà :-)
0

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

Posez votre question
maxwellcs Messages postés 21 Date d'inscription jeudi 1 mai 2003 Statut Membre Dernière intervention 17 janvier 2006
17 nov. 2005 à 16:24
J'ai fait comme t'a dis malalam.J'ai afficher le code source de mon formulaire.

En effet il ya un problème



Il ne m'affiche pas selected="selected"

Quand je le mets manuellement d(onc j'enlève le code php) , dans le code source ca s'affiche!!

Est ce que c'est ma fonction le problème???????
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 nov. 2005 à 16:34
Tu as fait le echo $selected = choixParDefaut... ?

Mais heu attends...comment s'appelle la page où se trouve ton formulaire ?
0
maxwellcs Messages postés 21 Date d'inscription jeudi 1 mai 2003 Statut Membre Dernière intervention 17 janvier 2006
17 nov. 2005 à 17:04
<quote>

Tu as fait le echo $selected = choixParDefaut... ?

Mais heu attends...comment s'appelle la page où se trouve ton formulaire ?</quote>



Oui je l'ai fait ca marche pas!!!!

Mon formulaire s'appelle add_micro.php

Seulement je fais un test pour savoir si c'est un ajout ou une modif!!!



Pour les autres champs ca fonctionne nickel!!

C'est pour seulement le menu déroulant que je n' y arrive pas



Si je t'es embrouillé ,dis le moi!!!!
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 nov. 2005 à 17:32
Ce que je ne pige pas est là : sur le submit, les post de ton formulaire sont envoyés sur modif_micro.php.

Et là, tu me dis que le formulaure lui_même est sur add_micro.php.

Alors, comment les variables postées vers modif_micro.php peuvent elles
exister, selon toi, dans add_micro.php après soumission du
formulaire...? Il faut pour cela que modif_micro les renvoie à
add_micro...? Sinon, tes $_POST seront toujours vides.
0
maxwellcs Messages postés 21 Date d'inscription jeudi 1 mai 2003 Statut Membre Dernière intervention 17 janvier 2006
17 nov. 2005 à 18:00
Comme je t'es dit , j'ai fait un test pour savoir si c'est un ajout ou une modif?



Je te file le code source des 2 pages.J'espère que ca pourra t'aider à mieux comprendre mon bordèle!!!



Ajout_micro.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns= "http://www.w3.org/1999/xhtml">

<head>



<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">

<link rel="stylesheet" media="screen" type="text/css"
title="repertoire"
href="http://localhost/intranet/css/formulaire2.css">

</head>



<? $chemin="http://localhost/intranet/"?>

<? mysql_connect("localhost","root","");

mysql_selectdb("intranet");

if (isset($_GET['modif_micro']))

{

$dspmic=mysql_query('SELECT * FROM parc_micro WHERE id='.$_GET['modif_micro']);

$donnees=mysql_fetch_array($dspmic);

$Nom=$donnees['Nom'];

$User=$donnees['User'];

$Etat=$donnees['Etat'];

$Service=$donnees['Service'];

$Bureau=$donnees['Bureau'];

$P_D_S=$donnees['P_D_S'];

$mP=$donnees['mP'];

$id_micro=$donnees['id'];

}

else

{

$Nom='';

$User='';

$Etat='';

$Service='';

$Bureau='';

$P_D_S='';

$mP='';

$id_micro=0;

}



function choixParDefaut($Service) {

$par_defaut ='';



if (isset($_POST['Service']))

{

if ($_POST['Service'] == $Service)

{

$par_defaut='selected="selected"';

}

}



return $par_defaut;

}







?>



<form Method="post" action="http://localhost/intranet/micro/modif_micro.php">

<fieldset>

<legend>Identification</legend>

<label>Nom micro : "/></label>

<label>User : "/></label>

<label>N° de Série : "/></label>

</fieldset>,

<fieldset>

<legend>Situation Géographique</legend>

<select name="Service">

<option
value="direction_generale" <?php echo
choixParDefaut('direction_generale'); ?>>Direction
Générale</option>

<option
value="direction_commerciale" <?php echo
choixParDefaut('direction_commerciale'); ?>>Direction commerciale
</option>

<option
value="direction_technique" <?php echo
choixParDefaut('direction_technique'); ?>>Direction technique
</option>

<option
value="equipe_systeme" <?php echo choixParDefaut('equipe_systeme');
?>> Equipe système </option>

<option
value="production_kheops" selected="selected"<?//php echo
choixParDefaut('production_kheops'); ?>>Production
Kheops</option>

<option
value="production_amasis_court_terme" <?php echo
choixParDefaut('production_amasis_court_terme'); ?>>Production
Amasis court-terme</option>

<option
value="production_amasis_long_terme" <?php echo
choixParDefaut('production_amasis_long_terme'); ?>>Production
Amasis long-terme </option>

<option
value="production_canopes" <?php echo
choixParDefaut('production_canopes'); ?>>Production Canopes
</option>

<option
value="production_ramses" <?php echo
choixParDefaut('production_ramses'); ?>>Production Ramses
</option>

<option
value="service_commercial" <?php echo
choixParDefaut('service_commercial'); ?>>Service
Commercial</option>

<option value="secretaire"
<?php echo choixParDefaut('secretaire'); ?>>Secrétariat
</option>

</select>

<label>Bureau : "/></label>

</fieldset>,

----

<fieldset>

<legend>Type d'equipement<legend>

<label>pds :"/></label>

</fieldset>,

----

<fieldset>

<legend>Puissance</legend>

<label>Processeur : "/></label>

</fieldset>,

<fieldset>

<legend>Etat</legend>

<label>etat :"/></label>

</fieldset>,

----

\"/>


</form>



<? echo '';?>Revenir au parc




</html>



Modif_micro.php



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>



<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">

</head>



<? $chemin="http://localhost/intranet/"?>

<?

mysql_connect("localhost", "root", "");

mysql_select_db("intranet");

if (isset($_POST['Nom']) and isset($_POST['User']) and
isset($_POST['Etat']) and isset($_POST['Service']) and
isset($_POST['Bureau']) and isset($_POST['P_D_S']) and
isset($_POST['mP']) )

{



if ($_POST['id_micro']== 0)

{

mysql_query("INSERT into parc_micro
values('".$_POST['Nom']."','".$_POST['User']."','".$_POST['Etat']."','".$_POST['Service']."','".$_POST['Bureau']."','".$_POST['P_D_S']."','".$_POST['mP']."','')");



}

else

{



mysql_query("UPDATE parc_micro set Nom='" . $_POST['Nom']."' , User='"
. $_POST['User'] . "' ,Etat='".$_POST['Etat'] ."' ,
Service='".$_POST['Service']."'
,Bureau='".$_POST['Bureau']."',P_D_S='".$_POST['P_D_S']."',mP='".$_POST['mP']."'
WHERE id=" . $_POST['id_micro']);

}

}

if (isset($_GET['suppr_micro']))

{

mysql_query('DELETE FROM parc_micro WHERE id='.$_GET['suppr_micro']);

}

?>



Supprimer |

Micro |

<?

$dspmic = mysql_query('SELECT * FROM parc_micro ORDER BY Nom DESC');

while ($donnees = mysql_fetch_array($dspmic))

{

?>

----

<? echo ''; ?>Supprimer,

<? echo ($donnees['Nom']); ?>,

<?

}

?>


<? echo '';?>revenir



</html>
0
Rejoignez-nous