Page 1 sur 1

valeur de variable en premiere boucle

Posté : 17 mai 2007, 13:08
par chris51200
Bonjour a tous,
que me manque t il pour ne pas avoir d'erreur au premier lancement de la page
voici mon code
?php 
/* Variables de connexion : ajustez ces paramètres selon votre propre environnement */
$serveur = "localhost";
$admin   = "***";
$mdp     = "****";
$base    = "essairegion";
/* 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;

    $region_selectionnee = $_POST['region'];
   
?>
<p>Vous avez sélectionné la région <?php echo($region_selectionnee); ?></p>
<?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);
    $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">
<fieldset style="border: 3px double #333399">
<legend>Sélectionnez une région</legend>
<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)
   
?>
<br /><input type="submit" name="ok" id="ok" value="Envoyer" />
</fieldset>
</form>
<?php
    /* Terminé, on ferme la connexion */
    mysql_close($connexion);
 
?>


Posté : 17 mai 2007, 13:11
par jojolapine
ça dépend, quelle est l'erreur?

Posté : 17 mai 2007, 13:23
par Invité
Notice: Undefined index: region in c:\program files\easyphp1-8\www\formulaire deroulant\formindex.php on line 10

Vous avez sélectionné la région

Sélectionnez une région - - - Choisissez une région - - - Appartement Immeuble Terrain à batir Autres locaux

Posté : 17 mai 2007, 15:20
par Sékiltoyai
Pourquoi stockes tu la même valeur dans deux variables ? à cet endroit :
$idr = isset($_POST['region'])?$_POST['region']:null;
$region_selectionnee = $_POST['region'];

Posté : 17 mai 2007, 19:17
par chris51200
oui c'est ridicule en effet...
et pour ne pas avoir de message d'erreur au premier lancé je fais comment?

Posté : 17 mai 2007, 21:16
par dogmongo
tu vérifis la presence d'une variable par une condition !

Posté : 18 mai 2007, 01:13
par Sékiltoyai
La première ligne le fait déjà, c'est pour cela que tu n'as qu'une erreur, celle de la deuxième ligne...

Posté : 18 mai 2007, 06:38
par chris51200
ça marche c'est bon!!!
merci