Menu deroulant php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Menu deroulant php

Re: Menu deroulant php

par horrion » 27 août 2009, 11:46

le start session est present sur les 2 pages:
<?php
session_start(); // On démarre la session AVANT toute chose
?>

Re: Menu deroulant php

par charabia » 27 août 2009, 11:44

Sur la page formulaire tu n'utilises pas la session non ? Dans ce cas il te suffit de l'initialiser dans la page identification non ?

Re: Menu deroulant php

par Cobaye » 27 août 2009, 11:41

met le session_start sur tes deux pages !

Re: Menu deroulant php

par horrion » 27 août 2009, 11:40

hummmm ouai c'est vrai,il y aurait un moyen de regler cela?
ou je dois bêtement laisser le formulaire s'initialiser sur sa page et je met des liens vers la page identification,contact....,etc...?

Re: Menu deroulant php

par charabia » 27 août 2009, 11:37

c'est donc normal que ça ne fonctionne pas.

Tu as fait l'initialisation de ta session dans la page du formulaire. Cependant, lorsque tu valides le formulaire, l'action se fait directement dans la nouvelle page : identification. Du coup la session est inexistante.

Re: Menu deroulant php

par horrion » 27 août 2009, 11:34

2 page differentes,de base j'avais fait sur une seul page et sa marcher très bien mais j'ai voulu essayer en séparant le formulaire.

J'ai donc 1 page principal où est placé mon formulaire puis mon formulaire envoie sur la page identification:
<form method="post" action="identification.php" target="_blank" name="recherche">

Re: Menu deroulant php

par charabia » 27 août 2009, 11:31

Les 2 codes (formulaire et identification) plus haut se trouvent sur la même page ou ce sont deux pages différentes ?

Re: Menu deroulant php

par horrion » 27 août 2009, 11:23

Hummm sa ne change pas grand chose en mettant un echo :/ j'ai fais comme on en avait discuter en MP.Je pensais que c'était le meme principe j'ai simplement copier/coller ce que l'on avait dit

Re: Menu deroulant php

par Cobaye » 27 août 2009, 11:18

y aurai pas une erreur dans ta requete ? attention aux majuscule/minuscule ! fait un echo de ta requete et test la sous phpmyadmin !

Re: Menu deroulant php

par horrion » 27 août 2009, 11:13

Re up !

J'ai fais des modifications pour des soucis de fonctionnalité et maintenant j'ai une erreur a la con :/ donc en faite maintenant j'ai crée une page "neutre" ou il y a juste le formulaire de recherche et quand je clique sur envoyez sa m'ouvre une autre pages avec les informations du clients.Le soucis est que les informations sont diviser en plusieurs pages(identification,contact interne,consigne de chargement,etc...).

Voici le code de la page du formulaire:
<?php
session_start(); // On démarre la session AVANT toute chose
?>
<html>
<?php
include "connexion.inc.php";
$_SESSION['client'] = isset($_POST['client']) ? $_POST['client'] : '';
?>
<head>
<meta http-equiv="content-type" content="text/html/php; charset=utf-8" />
<link href="template.css" rel="stylesheet" type="text/css" />
</head>


<body>
<div id="contenu">

<div class="menu">
<b><u><center><font face="Verdana, Geneva, sans-serif" size="5">Cahier des charges client</font></b></u></center>
<br>
<br>
<br>
<br>
<br>
<b>Votre Recherche:</b>
<form method="post" action="identification.php" name="recherche">
<?php
$sql="SELECT Client_id, Raison_sociale FROM client ORDER BY Client_id";
$resultat=mysql_query($sql, $id_link);
echo '<select name="client">';
echo '<option value="" selected></option>';
       
while ($rang=mysql_fetch_array($resultat)){
        echo "<option value=\"".$rang['Client_id']."\"";
        if(isset($_POST['client']) && $rang['Client_id']==$_POST['client']) echo " selected=\"selected\"";
        echo ">". $rang['Raison_sociale']."</option>";
}
echo '</select>';
       

?>
<input type="submit" value="Envoyer" /></form>
<?php
$donnees = array();
if(isset($_POST['client'])) {
        $client = htmlentities($_POST['client']);
        $reponse = mysql_query("SELECT * FROM client WHERE Client_id =".$client);
        $donnees = mysql_fetch_array($reponse);
}
?>
</div>
</div>
</body>
</html>

Voici la page "identification":
<?php
session_start(); // On démarre la session AVANT toute chose
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<?php
include "connexion.inc.php";
?>

<?php
$donnees = array();
if(isset($_SESSION['client'])) {
        $client = htmlentities($_SESSION['client']);
        $reponse = mysql_query("SELECT * FROM client WHERE Client_id =".$client);
        $donnees = mysql_fetch_array($reponse);
}
?>


<head>
<meta http-equiv="content-type" content="text/html/php; charset=utf-8" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
	<div id="menu">
		<ul>
		
			<li class="current_page_item"><a href="">Identification client/Conditionnement</a></li>
			<li><a href="http://localhost/index2.php">Contact Interne</a></li>
			<li><a href="#">Précautions/conditions de transport</a></li>
			<li><a href="#">Consignes de chargements/Contraintes</a></li>    

        
		</ul>
	</div>
</div>
<!-- end header -->
<!-- start page -->
<div class="body_identification">
<div id="choix">
<br>
<br>
<div class="identification_client">
<form>
<fieldset>
N° de compte:<input id="numcompte" type="text" name="name" maxlength="50" size="15" value="<?php echo (isset($donnees['Numero_de_compte']) ? $donnees['Numero_de_compte'] : ''); ?>">
Voici mon message d'erreur quand je clique sur "envoyez" de mon formulaire:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\identification.php on line 15

ligne 15:
$donnees = mysql_fetch_array($reponse);
Merci d'avance.

Re: Menu deroulant php

par horrion » 11 août 2009, 11:30

Merci beaucoup sa marche parfaitement ! :mrgreen:

Re: Menu deroulant php

par Cobaye » 11 août 2009, 11:20

while ($rang=mysql_fetch_array($resultat)){
	echo "<option value=\"".$rang['Client_id']."\"";
	if(isset($_POST['client']) && $rang['Client_id']==$_POST['client']) echo " selected=\"selected\"";
	echo ">". $rang['Raison_sociale']."</option>";
}

Re: Menu deroulant php

par horrion » 11 août 2009, 11:17

Sa marche merci ! par contre autre soucis d'optimisation :D ,quand je selectionne le nom d'un client et que je clique sur envoyez le nom du client disparait :/

Re: Menu deroulant php

par Cobaye » 11 août 2009, 11:14

enlève
$cp = $donnees['Adresse_CP'];

et met

Code : Tout sélectionner

Code postal:<input id="codepostal" type="text" name="name" maxlength="50" size="10" value="<?php echo (isset($donnees['Adresse_CP']) ? $donnees['Adresse_CP'] : ''); ?>">
Les messages notices se sont pas bloquant, mais depuis quelques temps maintenant, il faut "déclarer ses variables" donc leur donner une valeur par défaut.

Re: Menu deroulant php

par horrion » 11 août 2009, 11:09

Il y aurait pas moyen de faire un truc du genre:
else
{

echo "<br><b>Veuillez saisir le nom de votre recherche !</b>";

}

Parce que il va y avoir beaucoup de donnée si je dois écrire sa pour toutes les pages sa va pas être très pratique xD