La page est introuvable

La page est introuvable
Invité n'ayant pas de compte PHPfrance

19 mars 2007, 16:13

Bonjour
J’ai entrain de construis un site qui contient une page index, a partir de cette page on peut effectuer un choix entre appartement villa ou maison ordinaire, et j’ai 3 autre page qui s’affiche selon le choix
J’ai utiliser $_POST[‘’] (<form action="$_POST['habitation']"'.'php'" method="POST">
Donc le problème c’est une <page introuvable>
Si quelqu'un a une explication à me fournir ce serait gentil :)

Voila mon code :
 

<html>
<body>
<h1> multirisques habitation</h1>
<form action="$_POST['habitation']"'.'php'" method="POST">
<br>choisez votre habitation <select name="habitation">

<option value="appartements" <?php echo choix('appartements'); ?>> appartements</option>
<option value="maison_ordinaire" <?php echo choix('maison_ordinaire'); ?>>maison ordinaire</option>
<option value="villa" <?php echo choix('villa'); ?>>villa</option>
</select>
<input type="submit" name="submit" value="Validez" />
<?php
function choix($a) // Création de la fonction
{
$par_defaut = ''; // On crée une variable (vide par défaut) que l'on retournera à la fin

    if (isset($_POST['habitation'])) // Si le visiteur a choisi une habitation
    {
        if ($_POST['habitation'] == $a) // Si cette habitation correspond à la habitation que l'on est en train de traiter
        {
            $par_defaut='selected="selected"'; // Alors on modifie la variable que l'on retournera et on lui met selected
        }
    }

return $par_defaut; // On ne retourne rien si ce n'était pas la habitation choisie, selected si c'était la bonne habitation
}
// -------------- Fin de la fonction ---------------
if (isset($_POST['habitation'])) // On vérifie si le visiteur a déjà choisi une habitation
?>
</body></html> 

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

19 mars 2007, 16:39

Il te manque des balises php, et sans doute des valeurs, regarde le code source généré pour ta balise form, tu verras tout de suite qu'il y a un soucis dans le nom de la page appellée :

Code : Tout sélectionner

<form action="$_POST['habitation']"'.'php'" method="POST">
Par ailleurs, lorsque tu ouvres ton formulaire pour la première fois, ta variable $_POST['habitation'] ne sera pas définie.. il y a donc un problème de construction de tes pages.

Il faudrait envoyer les données de ton formulaire à une seule page, qui redirigera vers la bonne page en fonction du paramètre récupéré :) (ou alors changer l'action dynamiquement en javascript)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...