Page 1 sur 2

suivant code renvoie vers page suivant action

Posté : 19 févr. 2010, 18:56
par spidercrash
bonjour a tous j'ai un formulaire que le visiteur doit remplir dedans est appeller via une basse de donnée la region et la ville.
Mais quand je clic sur le bouton envoyer rien ne se passe.

je souhaiterai que lorsque que quelqu'un clic sur envoyer ceci envoye vers une autre page php.

voici le code

<?php

echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");

/* Variables de connexion : ajustez ces paramètres selon votre propre environnement */

$serveur = "mysql5-4.perso";

$admin   = "aaaaaa";

$mdp     = "aaaaa";

$base    = "aaaaaaa";

/* On récupère si elle existe la valeur de la région envoyée par le formulaire */

$idr = isset($_POST['region'])?$_POST['region']:null;

?>



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

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head> 
 <title>petite annonce gratuite pour particulier encart publicitaire pour profesionnel - mon espace</title>
 <meta http-equiv="Content-Type" content="text/html";
	charset=iso-8859-1" />
 <link rel="stylesheet" media="screen" type="text/css"
	title="Design espace" href="css/ajoutannonce_style.css" />
</head>
<body>

 <div id="annonce"></div>
	

<div id="entete">
 
</div>

 <div id="corps">
 
    <img src="contenu/logisdesannonces.png" alt="logisdesannonces" class="logisdesannonces" />
    <img src="contenu/logo.png" alt="logo" class="logo" />
<div id="bouton">		
		<a href="divers.html"><img src="contenu/divers.png" alt="divers" class="divers" border="0"/></a>
		<a href="vehicule.html"><img src="contenu/vehicule.png" alt="vehicule" class="vehicule" border="0"/></a>
		<a href="hightech.html"><img src="contenu/high-tech.png" alt="hightech" class="hightech" border="0"/></a>
		<a href="immobilier.html"><img src="contenu/immobilier.png" alt="immobilier" class="immobilier" border="0"/></a>
		<a href="animaux.html"><img src="contenu/animaux.png" alt="animaux" class="animaux" border="0"/></a>
		<a href="espacepro.html"><img src="contenu/boutonpro.png" alt="bouton" class="bouton" border="0"/></a>
		</div>	
	<a href="http://www.logisdesannonces.fr/accueil.html"><img src="contenu/bouton_accueil.png" alt="accueil" class="accueil" border="0"/></a>

</div>
<div id="formulaire">





Votre département :<br />
<?php

if(isset($_POST['ok']) && isset($_POST['departement']) && $_POST['departement'] != "")

{

    $region_selectionnee = $_POST['region'];

    $dept_selectionne = $_POST['departement'];

?>
<br />
<br />
<p> <?php echo($dept_selectionne); ?> dans la région <?php echo($region_selectionnee); ?></p>

<?php

}

?>



<?php

/* On établit la connexion à MySQL avec mysql_pconnect() plutôt qu'avec mysql_connect()

*  car on aura besoin de la connexion un peu plus loin dans le script */

$connexion = mysql_pconnect($serveur, $admin, $mdp);

if($connexion != false)

{

    $choixbase = mysql_select_db($base, $connexion);

    $sql1 = "SELECT `id_region`, `region`".

    " FROM `region`".

    " ORDER BY `id_region`";

    $rech_regions = mysql_query($sql1);

    $code_region = array();

    $region = array();

    /* On active un compteur pour les régions */

    $nb_regions = 0;

    if($rech_regions != false)

    {

        while($ligne = mysql_fetch_assoc($rech_regions))

        {

            array_push($code_region, $ligne['id_region']);

            array_push($region, $ligne['region']);



            /* On incrémente de compteur */

            $nb_regions++;

        }

    }

    ?>

<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">





<select name="region" id="region" onchange="document.forms['chgdept'].submit();">


  <option value="-1">- - - Choisissez une région - - -</option>

    <?php

    for($i = 0; $i < $nb_regions; $i++)

    {

?>

  <option value="<?php echo($code_region[$i]); ?>"<?php echo((isset($idr) && $idr == $code_region[$i])?" selected=\"selected\"":null); ?>><?php echo($region[$i]); ?></option>

<?php

    }

    ?>

</select>

    <?php

    mysql_free_result($rech_regions);

    /* On commence par vérifier si on a envoyé un numéro de région et le cas échéant s'il est différent de -1 */



    if(isset($idr) && $idr != -1)

    {

        /* Cération de la requête pour avoir les départements de cette région */

        $sql2 = "SELECT `id_departement`, `departement`".

        " FROM `departement`".

        " WHERE `id_region` = ". $idr ."".

        " ORDER BY `id_departement`;";

        if($connexion != false)

        {

            $rech_dept = mysql_query($sql2, $connexion);

            /* Un petit compteur pour les départements */

            $nd = 0;

            /* On crée deux tableaux pour les numéros et les noms des départements */

            $code_dept = array();

            $nom_dept = array();

            /* On va mettre les numéros et noms des départements dans les deux tableaux */

            while($ligne_dept = mysql_fetch_assoc($rech_dept))

            {

                array_push($code_dept, $ligne_dept['id_departement']);

                array_push($nom_dept, $ligne_dept['departement']);

                $nd++;

            }

            /* Maintenant on peut construire la liste déroulante */

            ?>
<br />

Votre région :<br />
<select name="departement" id="departement">

            <?php  

            for($d = 0; $d<$nd; $d++)

            {

                ?>

  <option value="<?php echo($code_dept[$d]); ?>"<?php echo((isset($dept_selectionne) && $dept_selectionne == $code_dept[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_dept[$d]." (". $code_dept[$d] .")"); ?></option>

                <?php

            }

?>

</select>

<?php

        }

        /* Un petit coup de balai */

        mysql_free_result($rech_dept);

    }

?>
<br />
<form method="post" action="php/contact.php">
		<label for="nom">Nom:</label><br />
		<input type="text" name="nom" id="nom" size="20" /><br />
		<label for="nom">Email:</label><br />
		<input type="text" name="email" id="email" size="20" /><br />
		<label for="telephone">Téléphone:</label><br />
		<input type="text" name="telephone" id="telephone" size="20" /><br />
		<span>Vous n'étes pas obliger de le mentionner.</span><br /><br />
		<label for="nom">Catégorie:</label><br />
		<input type="text" name="nom" id="nom" size="20" /><br />
		<span>Le choix de la catégorie est trés importante pour <br />
		la disposition de votre annonce</span><br /><br />
		<label for="typeannonce">Type d'annonce:</label><br />		
		<label>
				<input type="radio" name="typeannonces" value="vends" />Je vends
			</label>
			<label>
				<input type="radio" name="typeannonce" value="donne" />Je donne
			</label>
			<br /><br />
			
			<select name="categorie" id="categorie">
			<optgroup label="DIVERS">
				<option value="select">Sélectionner une sous-catégorie</option>
				<option value="antiquite-art">Antiquité-Art</option>
				<option value="bricolage-jardin-chauffage">Bricolage-Jardin-Chauffage</option>
				<option value="meuble-decoration">Meuble-Décoration</option>
				<option value="vetements">Vêtements</option>
				<option value="puericulture">Puériculture</option>
				<option value="livres">Livres</option>
				<option value="loisir">Loisir</option>
				<option value="collections">Collections</option>
				<option value="musique">Musique</option>
				<option value="jeux-jouets">Jeux-Jouets</option>
				<option value="sport">Sport</option>
			</optgroup>
			<optgroup label="VEHICULES">
				<option value="voiture">Voiture</option>
				<option value="moto-scooter">Moto-Scooter</option>
				<option value="camping-car">Camping car</option>
				<option value="caravane">Caravane</option>
				<option value="utilitaire">Utilitaire</option>
				<option value="bateau-nautisme">Bateau-Nautisme</option>
				<option value="pieces-accessoire auto">Piéces-Accessoire auto</option>
				<option value="pieces-accessoire moto">Piéces-Acessoire moto</option>
				<option value="pieces-accessoire nautisme">Piéces-Accessoire nautisme</option>
				<option value="pieces-accessoire camping car">Piéces-Accessoire camping car</option>				
			</optgroup>
			<optgroup label="IMMOBILIER">
				<option value="location">Location</option>
				<option value="location saisonniere">Location saisonnère</option>
				<option value="vente maison">Vente Maison</option>
				<option value="vente appartement">Vente appartement</option>
				<option value="vente propriete">Vente propriété</option>
				<option value="vente hotel particulier">Vente hotel particulier</option>
				<option value="vente garage">Vente garage</option>
				<option value="immeuble">Immeuble</option>
				<option value="vente constructeur">Vente constructeur</option>
				<option value="investisseur">Investisseur</option>
				<option value="renovation">Rénovation</option>
				<option value="etang">Etang</option>
				<option value="corps de ferme">Corps de ferme</option>				
			</optgroup>
			<optgroup label="HIGH-TECH">
				<option value="hifi-photo-video">Hifi-Photo-Video</option>
				<option value="informatique">Informatique</option>
				<option value="jeux video">Jeux video</option>
				<option value="musique-film">Musique-Film</option>
				<option value="telephonie">Téléphonie</option>
				<option value="autre">Autre</option>								
			</optgroup>
			<optgroup label="ANIMAUX">
				<option value="achat-vente">Achat-Vente</option>
				<option value="adoption-don">Adoption-Don</option>
				<option value="services">Services</option>
				<option value="accessoires">Accessoires</option>												
			</optgroup>
						</select>
		<br />
		<label for="titreannonce">Titre de l'annonce:</label><br />
		<input type="titreannonce" name="titreannonce" id="titreannonce" size="20" /><br />
		<span>Décriver précisement en quelques mots le titre de votre annonces</span><br /><br />
		<label for="description">Description de l'annonce :</label><br />
		<textarea name="description" id="description" rows="5" cols="30"></textarea><br />
		<label for="prix">Prix:</label><br />
		<input type="prix" name="prix" id="prix" size="10" /><br />


<input type="submit" name="ok" id="ok" value="envoyer" />








</fieldset>

</form>

<?php

    /* Terminé, on ferme la connexion */

    mysql_close($connexion);

}

else

{

    /* Si on arrive là, c'est pas bon signe, il faut vérifier les

    * paramètres de connexion, mot de passe, serveur pas démarré etc... */


}

?>

</div>

<div id="pied_de_page">
 <div id="boutonbas">
	<a href="information.html"><img src="contenu/information.png" alt="information" class="information" border="0"/></a>
	<a href="contact.html"><img src="contenu/contact.png" alt="contact" class="contact" border="0"/></a>
	<a href="newsletters.html"><img src="contenu/newsletters.png" alt="newsletters" class="newsletters" border="0"/></a>
	<a href="offre.html"><img src="contenu/offre.png" alt="offre" class="offre" border="0"/></a>
	<a href="aide.html"><img src="contenu/aide.png" alt="aide" class="aide" border="0"/></a>

</div>
</div>
</body>

</html>
cependant ou je coince c'est ici
<?php

if(isset($_POST['ok']) && isset($_POST['departement']) && $_POST['departement'] != "")

{

    $region_selectionnee = $_POST['region'];

    $dept_selectionne = $_POST['departement'];

?>
le bouton se nomme OK je souhaiterai pas que sa affiche le departement est la region mais que l'action renvoie vers une autre page

Voyerz vous se que je cherche a faire ?

Re: suivant code renvoie vers page suivant action

Posté : 20 févr. 2010, 08:34
par Invité
personne peut m'aider

Re: suivant code renvoie vers page suivant action

Posté : 20 févr. 2010, 11:02
par Cyrano
Tu n'as pas fermé le premier formulaire : du coup, les deux sont imbriqués, ce qui est interdit et produit des effets de bord assez indésirables.

Inspecte ton code avec attention. En fin de page, tu as une balise de fermeture </fieldset : la balise ouvrante est introuvable. Ce ne sont que deux points, je n'ai pas parcouru tous les détails du code, mais il y a lieu de penser qu'il y a d'autres soucis : sois discipliné et fais les choses avec ordre et méthode :
  1. Prépare ton code HTML complètement même si les valeurs sont en dur, ce n'est qu'une maquette;
  2. Ensuite seulement intègre le HTML dans ton PHP.
  3. Dans tous les cas, aligne ton code de façon à ce qu'il soit lisible : il ne faut pas éparpiller des balises dans tous les sens et mettre des espaces inutiles partout.
Ton code à peu près réaligné (mais non corrigé) :
<?php
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
/* Variables de connexion : ajustez ces paramètres selon votre propre environnement */
$serveur = "mysql5-4.perso";
$admin   = "aaaaaa";
$mdp     = "aaaaa";
$base    = "aaaaaaa";
/* On récupère si elle existe la valeur de la région envoyée par le formulaire */
$idr = isset($_POST['region'])?$_POST['region']:null;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
  <head>
    <title>petite annonce gratuite pour particulier encart publicitaire pour profesionnel - mon espace</title>
    <meta http-equiv="Content-Type" content="text/html"; charset=iso-8859-1" />
    <link rel="stylesheet" media="screen" type="text/css" title="Design espace" href="css/ajoutannonce_style.css" />
  </head>
  <body>
    <div id="annonce">&nbsp;</div>
    <div id="entete">&nbsp;</div>
    <div id="corps">
      <img src="contenu/logisdesannonces.png" alt="logisdesannonces" class="logisdesannonces" />
      <img src="contenu/logo.png" alt="logo" class="logo" />
      <div id="bouton">              
        <a href="divers.html"><img src="contenu/divers.png" alt="divers" class="divers" border="0"/></a>
        <a href="vehicule.html"><img src="contenu/vehicule.png" alt="vehicule" class="vehicule" border="0"/></a>
        <a href="hightech.html"><img src="contenu/high-tech.png" alt="hightech" class="hightech" border="0"/></a>
        <a href="immobilier.html"><img src="contenu/immobilier.png" alt="immobilier" class="immobilier" border="0"/></a>
        <a href="animaux.html"><img src="contenu/animaux.png" alt="animaux" class="animaux" border="0"/></a>
        <a href="espacepro.html"><img src="contenu/boutonpro.png" alt="bouton" class="bouton" border="0"/></a>
      </div> 
      <a href="http://www.logisdesannonces.fr/accueil.html"><img src="contenu/bouton_accueil.png" alt="accueil" class="accueil" border="0"/></a>
    </div>
    <div id="formulaire">
      Votre département :<br />
<?php
if(isset($_POST['ok']) && isset($_POST['departement']) && $_POST['departement'] != "")
{
    $region_selectionnee = $_POST['region'];
    $dept_selectionne = $_POST['departement'];
?>
      <br />
      <br />
      <p> <?php echo($dept_selectionne); ?> dans la région <?php echo($region_selectionnee); ?></p>
<?php
}
?>
<?php
/* On établit la connexion à MySQL avec mysql_pconnect() plutôt qu'avec mysql_connect()
*  car on aura besoin de la connexion un peu plus loin dans le script */
$connexion = mysql_pconnect($serveur, $admin, $mdp);
if($connexion != false)
{
    $choixbase = mysql_select_db($base, $connexion);
    $sql1 = "SELECT `id_region`, `region`".
            " FROM `region`".
            " ORDER BY `id_region`";
    $rech_regions = mysql_query($sql1);
    $code_region = array();
    $region = array();
    /* On active un compteur pour les régions */
    $nb_regions = 0;
    if($rech_regions != false)
    {
        while($ligne = mysql_fetch_assoc($rech_regions))
        {
            array_push($code_region, $ligne['id_region']);
            array_push($region, $ligne['region']);
            /* On incrémente de compteur */
            $nb_regions++;
        }
    }
?>
      <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
        <select name="region" id="region" onchange="document.forms['chgdept'].submit();">
          <option value="-1">- - - Choisissez une région - - -</option>
<?php
for($i = 0; $i < $nb_regions; $i++)
{
?>
          <option value="<?php echo($code_region[$i]); ?>"<?php echo((isset($idr) && $idr == $code_region[$i])?" selected=\"selected\"":null); ?>><?php echo($region[$i]); ?></option>
<?php
}
?>
        </select>
<?php
mysql_free_result($rech_regions);
/* On commence par vérifier si on a envoyé un numéro de région et le cas échéant s'il est différent de -1 */
if(isset($idr) && $idr != -1)
{
    /* Cération de la requête pour avoir les départements de cette région */
    $sql2 = "SELECT `id_departement`, `departement`".
            " FROM `departement`".
            " WHERE `id_region` = ". $idr ."".
            " ORDER BY `id_departement`;";
    if($connexion != false)
    {
        $rech_dept = mysql_query($sql2, $connexion);
        /* Un petit compteur pour les départements */
        $nd = 0;
        /* On crée deux tableaux pour les numéros et les noms des départements */
        $code_dept = array();
        $nom_dept = array();
        /* On va mettre les numéros et noms des départements dans les deux tableaux */
        while($ligne_dept = mysql_fetch_assoc($rech_dept))
        {
            array_push($code_dept, $ligne_dept['id_departement']);
            array_push($nom_dept, $ligne_dept['departement']);
            $nd++;
        }
        /* Maintenant on peut construire la liste déroulante */
?>
        <br />
        Votre région :<br />
        <select name="departement" id="departement">
<?php  
        for($d = 0; $d<$nd; $d++)
        {
?>
          <option value="<?php echo($code_dept[$d]); ?>"<?php echo((isset($dept_selectionne) && $dept_selectionne == $code_dept[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_dept[$d]." (". $code_dept[$d] .")"); ?></option>
<?php
        }
?>
        </select>
<?php
    }
    /* Un petit coup de balai */
    mysql_free_result($rech_dept);
}
?>
    <br />
    <form method="post" action="php/contact.php">
      <label for="nom">Nom:</label><br />
      <input type="text" name="nom" id="nom" size="20" /><br />
      <label for="nom">Email:</label><br />
      <input type="text" name="email" id="email" size="20" /><br />
      <label for="telephone">Téléphone:</label><br />
      <input type="text" name="telephone" id="telephone" size="20" /><br />
      <span>Vous n'étes pas obliger de le mentionner.</span><br /><br />
      <label for="nom">Catégorie:</label><br />
      <input type="text" name="nom" id="nom" size="20" /><br />
      <span>Le choix de la catégorie est trés importante pour <br />
      la disposition de votre annonce</span><br /><br />
      <label for="typeannonce">Type d'annonce:</label><br />         
      <label>
        <input type="radio" name="typeannonces" value="vends" />Je vends
      </label>
      <label>
        <input type="radio" name="typeannonce" value="donne" />Je donne
      </label>
      <br /><br />
      <select name="categorie" id="categorie">
        <optgroup label="DIVERS">
          <option value="select">Sélectionner une sous-catégorie</option>
          <option value="antiquite-art">Antiquité-Art</option>
          <option value="bricolage-jardin-chauffage">Bricolage-Jardin-Chauffage</option>
          <option value="meuble-decoration">Meuble-Décoration</option>
          <option value="vetements">Vêtements</option>
          <option value="puericulture">Puériculture</option>
          <option value="livres">Livres</option>
          <option value="loisir">Loisir</option>
          <option value="collections">Collections</option>
          <option value="musique">Musique</option>
          <option value="jeux-jouets">Jeux-Jouets</option>
          <option value="sport">Sport</option>
        </optgroup>
        <optgroup label="VEHICULES">
          <option value="voiture">Voiture</option>
          <option value="moto-scooter">Moto-Scooter</option>
          <option value="camping-car">Camping car</option>
          <option value="caravane">Caravane</option>
          <option value="utilitaire">Utilitaire</option>
          <option value="bateau-nautisme">Bateau-Nautisme</option>
          <option value="pieces-accessoire auto">Piéces-Accessoire auto</option>
          <option value="pieces-accessoire moto">Piéces-Acessoire moto</option>
          <option value="pieces-accessoire nautisme">Piéces-Accessoire nautisme</option>
          <option value="pieces-accessoire camping car">Piéces-Accessoire camping car</option>                          
        </optgroup>
        <optgroup label="IMMOBILIER">
          <option value="location">Location</option>
          <option value="location saisonniere">Location saisonnère</option>
          <option value="vente maison">Vente Maison</option>
          <option value="vente appartement">Vente appartement</option>
          <option value="vente propriete">Vente propriété</option>
          <option value="vente hotel particulier">Vente hotel particulier</option>
          <option value="vente garage">Vente garage</option>
          <option value="immeuble">Immeuble</option>
          <option value="vente constructeur">Vente constructeur</option>
          <option value="investisseur">Investisseur</option>
          <option value="renovation">Rénovation</option>
          <option value="etang">Etang</option>
          <option value="corps de ferme">Corps de ferme</option>                         
        </optgroup>
        <optgroup label="HIGH-TECH">
          <option value="hifi-photo-video">Hifi-Photo-Video</option>
          <option value="informatique">Informatique</option>
          <option value="jeux video">Jeux video</option>
          <option value="musique-film">Musique-Film</option>
          <option value="telephonie">Téléphonie</option>
          <option value="autre">Autre</option>                                                           
        </optgroup>
        <optgroup label="ANIMAUX">
          <option value="achat-vente">Achat-Vente</option>
          <option value="adoption-don">Adoption-Don</option>
          <option value="services">Services</option>
          <option value="accessoires">Accessoires</option>                                                                                               
        </optgroup>
      </select>
      <br />
      <label for="titreannonce">Titre de l'annonce:</label><br />
      <input type="titreannonce" name="titreannonce" id="titreannonce" size="20" /><br />
      <span>Décriver précisement en quelques mots le titre de votre annonces</span><br /><br />
      <label for="description">Description de l'annonce :</label><br />
      <textarea name="description" id="description" rows="5" cols="30"></textarea><br />
      <label for="prix">Prix:</label><br />
      <input type="prix" name="prix" id="prix" size="10" /><br />
      <input type="submit" name="ok" id="ok" value="envoyer" />
      </fieldset>
    </form>
<?php
/* Terminé, on ferme la connexion */
mysql_close($connexion);
}
else
{
/* Si on arrive là, c'est pas bon signe, il faut vérifier les
* paramètres de connexion, mot de passe, serveur pas démarré etc... */
}
?>
    </div>
    <div id="pied_de_page">
      <div id="boutonbas">
        <a href="information.html"><img src="contenu/information.png" alt="information" class="information" border="0"/></a>
        <a href="contact.html"><img src="contenu/contact.png" alt="contact" class="contact" border="0"/></a>
        <a href="newsletters.html"><img src="contenu/newsletters.png" alt="newsletters" class="newsletters" border="0"/></a>
        <a href="offre.html"><img src="contenu/offre.png" alt="offre" class="offre" border="0"/></a>
        <a href="aide.html"><img src="contenu/aide.png" alt="aide" class="aide" border="0"/></a>
      </div>
    </div>
  </body>
</html>

Re: suivant code renvoie vers page suivant action

Posté : 20 févr. 2010, 12:17
par spidercrash
merci pour ta reponse cependant tu me dit que j'ai pas fermer mon formulaire.
tu parle de pour cette ligne

<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept"> ?

car par la suite j'ai un formulaire HTML
qui lui a les balise fermé.

<form method="post" action="php/contact.php">>


		<label for="nom">Nom:</label><br />
		<input type="text" name="nom" id="nom" size="20" /><br />
		<label for="nom">Email:</label><br />
		<input type="text" name="email" id="email" size="20" /><br />
		<label for="telephone">Téléphone:</label><br />
		<input type="text" name="telephone" id="telephone" size="20" /><br />
		<span>Vous n'étes pas obliger de le mentionner.</span><br /><br />
		<label for="nom">Catégorie:</label><br />
		<input type="text" name="nom" id="nom" size="20" /><br />
		<span>Le choix de la catégorie est trés importante pour <br />
		la disposition de votre annonce</span><br /><br />
		<label for="typeannonce">Type d'annonce:</label><br />		
		<label>
				<input type="radio" name="typeannonces" value="vends" />Je vends
			</label>
			<label>
				<input type="radio" name="typeannonce" value="donne" />Je donne
			</label>
			<br /><br />
			
			<select name="categorie" id="categorie">
			<optgroup label="DIVERS">
				<option value="select">Sélectionner une sous-catégorie</option>
				<option value="antiquite-art">Antiquité-Art</option>
				<option value="bricolage-jardin-chauffage">Bricolage-Jardin-Chauffage</option>
				<option value="meuble-decoration">Meuble-Décoration</option>
				<option value="vetements">Vêtements</option>
				<option value="puericulture">Puériculture</option>
				<option value="livres">Livres</option>
				<option value="loisir">Loisir</option>
				<option value="collections">Collections</option>
				<option value="musique">Musique</option>
				<option value="jeux-jouets">Jeux-Jouets</option>
				<option value="sport">Sport</option>
			</optgroup>
			<optgroup label="VEHICULES">
				<option value="voiture">Voiture</option>
				<option value="moto-scooter">Moto-Scooter</option>
				<option value="camping-car">Camping car</option>
				<option value="caravane">Caravane</option>
				<option value="utilitaire">Utilitaire</option>
				<option value="bateau-nautisme">Bateau-Nautisme</option>
				<option value="pieces-accessoire auto">Piéces-Accessoire auto</option>
				<option value="pieces-accessoire moto">Piéces-Acessoire moto</option>
				<option value="pieces-accessoire nautisme">Piéces-Accessoire nautisme</option>
				<option value="pieces-accessoire camping car">Piéces-Accessoire camping car</option>				
			</optgroup>
			<optgroup label="IMMOBILIER">
				<option value="location">Location</option>
				<option value="location saisonniere">Location saisonnère</option>
				<option value="vente maison">Vente Maison</option>
				<option value="vente appartement">Vente appartement</option>
				<option value="vente propriete">Vente propriété</option>
				<option value="vente hotel particulier">Vente hotel particulier</option>
				<option value="vente garage">Vente garage</option>
				<option value="immeuble">Immeuble</option>
				<option value="vente constructeur">Vente constructeur</option>
				<option value="investisseur">Investisseur</option>
				<option value="renovation">Rénovation</option>
				<option value="etang">Etang</option>
				<option value="corps de ferme">Corps de ferme</option>				
			</optgroup>
			<optgroup label="HIGH-TECH">
				<option value="hifi-photo-video">Hifi-Photo-Video</option>
				<option value="informatique">Informatique</option>
				<option value="jeux video">Jeux video</option>
				<option value="musique-film">Musique-Film</option>
				<option value="telephonie">Téléphonie</option>
				<option value="autre">Autre</option>								
			</optgroup>
			<optgroup label="ANIMAUX">
				<option value="achat-vente">Achat-Vente</option>
				<option value="adoption-don">Adoption-Don</option>
				<option value="services">Services</option>
				<option value="accessoires">Accessoires</option>												
			</optgroup>
						</select>
		<br />
		<label for="titreannonce">Titre de l'annonce:</label><br />
		<input type="titreannonce" name="titreannonce" id="titreannonce" size="20" /><br />
		<span>Décriver précisement en quelques mots le titre de votre annonces</span><br /><br />
		<label for="description">Description de l'annonce :</label><br />
		<textarea name="description" id="description" rows="5" cols="30"></textarea><br />
		<label for="prix">Prix:</label><br />
		<input type="prix" name="prix" id="prix" size="10" /><br />


<input type="submit" name="ok" id="ok" value="envoyer" />

</form>

Je suis désolé je débute merci de ton aide

Re: suivant code renvoie vers page suivant action

Posté : 20 févr. 2010, 12:20
par Cyrano
C'est ça.
En HTML, il est interdit d'imbriquer les formulaires. Par Ailleurs, la balise <form> doit obligatoirement être assortie d'une balise de fermeture </form> AVANT l'éventuelle ouverture d'un autre formulaire.

Re: suivant code renvoie vers page suivant action

Posté : 20 févr. 2010, 12:26
par spidercrash
j'ai bien fermé le formulaire avant que le second formulaire s'ouvre et la j'ai bien ma seconde page qui s'ouvre lorsque je valide.

Cependant la partie région et departement ne sera pas dans l'action du bouton envoyé dur formualaire qui comprend les champs de saisie ?.

Donc dans ma page php qui suis je ne pourrai pas récuperer les valeurs ?

Re: suivant code renvoie vers page suivant action

Posté : 20 févr. 2010, 13:55
par Cyrano
Bien, on avance, et tu as identifié un problème majeur : comment le résoudre ?

Les formulaires sont «étanches» entre eux. Les données de l'un ne seront pas envoyées si c'est un autre qui est utilisé. La conclusion logique serait donc laquelle à ton avis ? Il y a deux possibilités : soit tu n'as qu'un unique formulaire, soit tu en as deux mais les données du premier doivent être présentes dans le second. Et j'ajouterais que ça signifie également que le second ne s'affiche que si des valeurs ont été sélectionnées dans le premier.

Continue ton raisonnement, tu es à mon avis sur la voie de la solution ;)

Re: suivant code renvoie vers page suivant action

Posté : 20 févr. 2010, 19:05
par spidercrash
oui cela est logique faudrait faire qu'un seul formulaire mais j'ai deja essayer le probléme dans le premier formulaire il y a cela :
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept"> ?

cela veut dire que si je supprimer ceci de mon formulaire 2
<form method="post" action="php/contact.php">

fraudai que je reprise le liens contact.php dans la balise d'ouverture du formulaire n'est ce pas ?

mais je ne voit pas comment rajouter action="php/contact.php"

Re: suivant code renvoie vers page suivant action

Posté : 20 févr. 2010, 19:15
par Cyrano
Quelle méthode avec le premier formulaire : PHP, PHP+JS ou Ajax ?
Ensuite, comment récupères-tu les valeurs du premier formulaire ? Partant de là, ne vois-tu pas comment créer deux champs cachés dans le second formulaire avec ces valeurs ?

Re: suivant code renvoie vers page suivant action

Posté : 20 févr. 2010, 19:39
par spidercrash
Quelle méthode avec le premier formulaire : PHP, PHP+JS ou Ajax ?
Ensuite, comment récupères-tu les valeurs du premier formulaire ? Partant de là, ne vois-tu pas comment créer deux champs cachés dans le second formulaire avec ces valeurs ?
pour récupérer le formulaire deux j'utilise le php d'ou la page contact.php par contre je ne voit pas comment crée deux champs cacher qui récupèrerai région et département.

pour les champs caché j'utiliserai hidden mais je ne peut pas faire comme cela

<input type="hidden" name="region" id="region" value="$region"/>
<input type="hidden" name="département" id="département" value="$departement"/>

Re: suivant code renvoie vers page suivant action

Posté : 20 févr. 2010, 19:47
par Cyrano
... pour les champs caché j'utiliserai hidden mais je ne peut pas faire comme cela

<input type="hidden" name="region" id="region" value="$region"/>
<input type="hidden" name="département" id="département" value="$departement"/>
Et pourquoi tu ne pourrais pas ? Sois clair et précis dans tes questions, on ne peut pas tout deviner. N'oublie pas que je ne vois pas ce que tu fais, pas ta machine et pas le code sur lequel tu es en ce moment. Je ne peux donc me baser que sur ce que tu dis ici et pour l'instant, il manque des morceaux...:-k

Re: suivant code renvoie vers page suivant action

Posté : 20 févr. 2010, 19:57
par spidercrash
... pour les champs caché j'utiliserai hidden mais je ne peut pas faire comme cela

<input type="hidden" name="region" id="region" value="$region"/>
<input type="hidden" name="département" id="département" value="$departement"/>
Et pourquoi tu ne pourrais pas ? Sois clair et précis dans tes questions, on ne peut pas tout deviner. N'oublie pas que je ne vois pas ce que tu fais, pas ta machine et pas le code sur lequel tu es en ce moment. Je ne peux donc me baser que sur ce que tu dis ici et pour l'instant, il manque des morceaux...:-k
donc admettons dans mon formulaire html je fait comme cela

Code : Tout sélectionner

<form method="post" action="php/contact.php"> <label for="nom">Nom:</label><br /> <input type="text" name="nom" id="nom" size="20" /><br /> <label for="nom">Email:</label><br /> <input type="text" name="email" id="email" size="20" /><br /> <label for="telephone">Téléphone:</label><br /> <input type="text" name="telephone" id="telephone" size="20" /><br /> <span>Vous n'étes pas obliger de le mentionner.</span><br /><br /> <label for="nom">Catégorie:</label><br /> <input type="text" name="nom" id="nom" size="20" /><br /> <span>Le choix de la catégorie est trés importante pour <br /> la disposition de votre annonce</span><br /><br /> <label for="typeannonce">Type d'annonce:</label><br /> ... <?php <input type="hidden" name="region" id="region" value="$region"/> <input type="hidden" name="département" id="département" value="$departement"/> ?> <input type="submit" name="ok" id="ok" value="envoyer" />
Donc aprés dans ma page contact.php
je pourrai recuperer les champs de mon formulaire ainsi que département et région ?

j'espere que tu voit se que je souhaite faire.
Car aprés dans mon php une fois que j'ai récupérer tous les champs contact.php renvoie vers une base de donnée toute les informations

encore merci de te aide

Re: suivant code renvoie vers page suivant action

Posté : 24 févr. 2010, 21:44
par spidercrash
voici se que j'ai placé dans mon code pour emporter les deux formulaire mais cela ne marche pas
<?php
	echo '<input type="hidden" name="departement" id="departement" value="'.$departement.'"/>
	<input type="hidden" name="region" id="region" value="'.$region.'"/>';
?>

Re: suivant code renvoie vers page suivant action

Posté : 24 févr. 2010, 21:56
par Cyrano
"...mais ça ne marche pas..." sans autres précision, c'est un vieux classique qu'on connait tous ici et qui énerve : comment veux-tu qu'on sache pourquoi ça ne fonctionne pas sans les éléments appropriés ? Ok, tu as rajouté les champs cachés, mais as-tu vérifié si les valeurs sont convenablement mises dans ces balises ?

Lorsque tu as fait les choix dans le premier formulaire, de quelle manière les valeurs sont-elles ajoutées dans le second formulaire ? Est-ce qu'il y a rechargement de page ? Si oui, as-tu créé le code approprié pour initialiser les variables de tes deux champs cachés ? Sinon, utilises-tu du JavaScript et dans ce cas quel code ?

Tes questions sont incomplètes parce que tu ne pousses pas les raisonnement à fond : personne ne le fera à ta place, sais-tu ? On peut te montrer le chemin, mais si tu ne marches pas, tu n'avanceras pas davantage ;)

Re: suivant code renvoie vers page suivant action

Posté : 24 févr. 2010, 22:36
par spidercrash
je recupere les donnée par un autre fichier PHP
voici le contenu de celui-ci
<?
// Fonction pour parser les variables vers FLASH 
function Parse($variable,$valeur) { 
echo "&" . $variable . "=" . utf8_encode($valeur);
}

$categorie=$HTTP_POST_VARS['categorie']; 
$typeannonce=$HTTP_POST_VARS['typeannonce'];
$souscategorie=$HTTP_POST_VARS['souscategorie'];
$titreannonce=$HTTP_POST_VARS['titreannonce'];
$descriptionannonce=$HTTP_POST_VARS['descriptionannonce'];
$prix=$HTTP_POST_VARS['prix'];
$departement=$HTTP_POST_VARS['departement'];
$region=$HTTP_POST_VARS['region'];

$NOMUTILISATEURS=$HTTP_POST_VARS['NOMUTILISATEURS'];
$MAILUTILISATEURS=$HTTP_POST_VARS['MAILUTILISATEURS'];
$TELEPHONE=$HTTP_POST_VARS['TELEPHONE'];




//Fontion "decoder" (facultative)
function decoder($texte){
	$texte = utf8_decode($texte);
      /*$texte = stripslashes($texte);
	$texte = trim($texte);
	$texte = htmlentities($texte, ENT_QUOTES);
	$texte = strip_tags($texte);
	$texte = nl2br($texte);
	$texte = str_replace(">", ">", $texte);
	$texte = str_replace("<", "<", $texte);*/
		
	$texte = str_replace("è","%E8",$texte);	
	$texte = str_replace("é","%E9",$texte);	 
        $texte = str_replace("è","%EA",$texte);
        $texte = str_replace("ç","%E7",$texte);
        $texte = str_replace("%","%25",$texte); 
        $texte = str_replace("!","%21",$texte); 
        $texte = str_replace("\"","%22",$texte); 
        $texte = str_replace("#","%23",$texte); 
        $texte = str_replace("\$","%24",$texte); 
        $texte = str_replace("&","%26",$texte); 
        $texte = str_replace("'","%27",$texte); 
        $texte = str_replace("(","%28",$texte); 
        $texte = str_replace(")","%29",$texte); 
        $texte = str_replace("*","%2A",$texte); 
        $texte = str_replace("+","%2B",$texte); 
        $texte = str_replace(",","%2C",$texte); 
         
        
        $texte = str_replace("/","%2F",$texte); 
        $texte = str_replace(":","%3A",$texte); 
        $texte = str_replace(";","%3B",$texte); 
        $texte = str_replace("<","%3C",$texte); 
        $texte = str_replace("=","%3D",$texte); 
        $texte = str_replace(">","%3E",$texte); 
        $texte = str_replace("?","%3F",$texte); 
         
        $texte = str_replace("[","%5B",$texte); 
        $texte = str_replace("]","%5D",$texte); 
        $texte = str_replace("^","%5E",$texte); 
         
        $texte = str_replace("`","%60",$texte); 
        $texte = str_replace("{","%7B",$texte); 
        $texte = str_replace("|","%7C",$texte); 
        $texte = str_replace("}","%7D",$texte); 
        $texte = str_replace("~","%7E",$texte); 
        $texte = str_replace("¢","%A2",$texte); 
        $texte = str_replace("£","%A3",$texte); 
        $texte = str_replace("¥","%A5",$texte); 
        $texte = str_replace("|","%A6",$texte); 
        $texte = str_replace("§","%A7",$texte); 
        $texte = str_replace("«","%AB",$texte); 
        $texte = str_replace("¬","%AC",$texte); 
        $texte = str_replace("¯","%AD",$texte); 
        $texte = str_replace("º","%B0",$texte); 
        $texte = str_replace("±","%B1",$texte); 
        $texte = str_replace("ª","%B2",$texte); 
        $texte = str_replace(",","%B4",$texte); 
        $texte = str_replace("µ","%B5",$texte); 
        $texte = str_replace("»","%BB",$texte); 
        $texte = str_replace("¼","%BC",$texte); 
        $texte = str_replace("½","%BD",$texte); 
        $texte = str_replace("¿","%BF",$texte); 
	return $texte;
}	

$categorie = decoder($categorie);
$typeannonce = decoder($typeannonce);
$souscategorie = decoder($souscategorie);
$titreannonce = decoder($titreannonce);
$descriptionannonce = decoder($descriptionannonce);
$prix = decoder($prix);
$departement = decoder($departement);
$region = decoder($region);

$NOMUTILISATEURS = decoder($NOMUTILISATEURS);
$MAILUTILISATEURS = decoder($MAILUTILISATEURS);
$TELEPHONE = decoder($TELEPHONE);


//ici on commence avec les requêtes MySQL pour vérifier dans la table

include ('connect.php');//ici on inclut le fichier avec l'accès MySQL.

$sql = "SELECT * FROM utilisateurs WHERE MAILUTILISATEURS = '$MAILUTILISATEURS'";//On sélectionne dans la table "UTILISATEUR" le login qui a pour valeur la variable "$login" 
    $req = mysql_query($sql)or die(mysql_error());   
    $result = mysql_numrows($req);// on compte le nombre de résultats 

    if($result!=0)  // le login existe déjà
        { 
        Parse("resultat","email '$MAILUTILISATEURS' existe deja, desole"); //alors on renvoi au Flash que le login '$MAILUTILISATEURS' existe déjà
        } 
    else  //sinon le login n'existe pas  
        {    
        $sql = "INSERT INTO utilisateurs (NOMUTILISATEURS,MAILUTILISATEURS,TELEPHONE) VALUES ('$NOMUTILISATEURS','$MAILUTILISATEURS','$TELEPHONE')"; //Alors on insert dans la table le nouvel utilisateur		
		mysql_query ($sql);
			$sql2 = "INSERT INTO annonces (categorie,typeannonce,souscategorie,titreannonce,descriptionannonce,prix,departement,region) VALUES ('$categorie','$typeannonce','$souscategorie','$titreannonce','$descriptionannonce','$prix','$departement','$region')";
			$req = mysql_query($sql2)or die(mysql_error()); 			
			
  	Parse("resultat","merci $MAILUTILISATEURS, vous etes a present enregistre et votre annonce est enregistré");
        }
		
		
		
		

?>

Lorsque je rempli les champs et je valide le formulaire

Les donnée se place bien dans les bonne tables cepedant dans la table annonces qui comprend les deux formulaires les champs departement et region reste vide.