Type de la variable _POST
php3
-
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Type de la variable _POST
- Clear type - Guide
- Type de ram - Guide
- Comment changer le type de fichier - Guide
- Faiblesse type spectre ✓ - Forum Jeux vidéo
- Vba range avec variable ✓ - Forum VB / VBA
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
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
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.
Bonjour,
Certainement quelques clés pour vous aider à comprendre votre problème:
http://html5.immo-scope.com/index.php?page=general/applisFullUtf8
Cordialement
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+
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+