Type de la variable _POST

php3 -  
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

3 réponses

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
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Sans oublier l'encodage des fichiers dans lesquels tu récupères tes titres de livres.
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
Bonjour,

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

Cordialement
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
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
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Sauf que là, il n'y a pas de base de données :)
0