Type de la variable _POST

php3 -  
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,

je dois récuperer le titre d'un livre dans un formulaire à l'aide d'un select et afficher le contenu du livre selectionné.
mon formulaire:
<?php
if ($handle = opendir('.'))
{
echo "<form action=\"traitement.php\" method=\"post\">Quel texte voulez-vous etudier?<select name=\"titres\" size=\"3\" multiple>";
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != ".." && strstr($file,".txt") != NULL)
{
$fichier = fopen($file, 'r');
$ligne = fgets($fichier);//lire ligne 1
echo "<option value=\"$ligne\">$ligne</option>";
fclose($file);
}
}
closedir($handle);
echo "</select><br><input type=\"submit\" name=\"Valider\" value=\"Valider\">";
}
?>

et dans le 2e php je dois verifier le choix du livre:
<?php
$variable = $_POST['titres'];
echo $variable;
if($_POST['titres']=="La colère d'Arthur"){
echo "<br>toto";

}
if($variable=="Jack et le haricot magique"){
echo "toto";

}
if($variable=="La chèvre de M. Seguin"){

}

?>

le probleme est que je ne rentre jamais dans mon if et je ne sais pas pourquoi :s
si quelqu'un pouvait m'aider svp
merci

3 réponses

  1. Herezia Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   11
     
    Bonjour php3,

    C'est sûrement un problème d'encodage
    Regarde en quel codage de caractère tu écris ta page HTML et quel est l'encodage de la chaîne de comparaison côté PHP
    1
    1. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      Sans oublier l'encodage des fichiers dans lesquels tu récupères tes titres de livres.
      0
  2. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
     
    Bonjour,

    Certainement quelques clés pour vous aider à comprendre votre problème:
    http://html5.immo-scope.com/index.php?page=general/applisFullUtf8

    Cordialement
    0
  3. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
     
    re-bonjour,

    la recherche d'un livre par son titre est déconseillé.

    Si vous cherchez les élémenst en base de données, il faut avoir un couple clé-valeur:
    clé = numéro ISBN du libre / ou code du livre: HUG001 par exemple...
    valeur = titre du livre....

    Exemple

    <select name='cle_livre'>
    <option value='HUG001'>Les miésrables</option>
    <option value='HUG002'>Notre Dame de Paris</option>
    .....
    </select>

    A l'envoi du POST, vous récupérez la clé:

    <?php
    $cleLivre = substr($_POST['cle_livre'], 0 , 6); // sécurité pour empêcher injection SQL

    $sql = "SELECT * FROM livres WHERE cle_livre='$cleLivre' LIMIT 0,1";
    ...suite code extraction données livre...
    ?>

    Bien entendu, le champ cle_livre est un champ indexé uniqu ou primaire (c'est mieux...).

    A+
    0
    1. Reivax962 Messages postés 3742 Statut Membre 1 011
       
      Sauf que là, il n'y a pas de base de données :)
      0