Type de la variable _POST

Fermé
php3 - 26 mai 2011 à 15:05
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 26 mai 2011 à 17:22
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

Herezia Messages postés 70 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 28 août 2014 11
26 mai 2011 à 15:08
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 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
26 mai 2011 à 15:20
Sans oublier l'encodage des fichiers dans lesquels tu récupères tes titres de livres.
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
26 mai 2011 à 16:15
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 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
26 mai 2011 à 16:29
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 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
26 mai 2011 à 17:22
Sauf que là, il n'y a pas de base de données :)
0