Type de la variable _POST
php3
-
Reivax962 Messages postés 3742 Statut Membre -
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
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
-
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 -
Bonjour,
Certainement quelques clés pour vous aider à comprendre votre problème:
http://html5.immo-scope.com/index.php?page=general/applisFullUtf8
Cordialement -
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+