Prob fonction in_array()
Utilisateur anonyme
-
Stef60 Messages postés 257 Statut Membre -
Stef60 Messages postés 257 Statut Membre -
Bonjour,
En ce moment je fais des petits tests persos et j'ai un petit problème avec mon script php.
J'envoie le résultat de mon formulaire dans une nouvelle page qui m'affiche ces résultats en les testants avant.
J'ai un problème avec ces tests et je pense que cela vient de ma fonction in_array().
Quand je remplis le formulaire et que j'envoie, je reçois les message d'erreur de mes trois variables qui dans leur test possède cette fonction.
Je vous laisse le code de mon script et du formulaire pour mieux comprendre.
Le formulaire:
Et la page php avec le script et l'affichage du résultat:
Merci d'avance de vos réponses.
Ciao
En ce moment je fais des petits tests persos et j'ai un petit problème avec mon script php.
J'envoie le résultat de mon formulaire dans une nouvelle page qui m'affiche ces résultats en les testants avant.
J'ai un problème avec ces tests et je pense que cela vient de ma fonction in_array().
Quand je remplis le formulaire et que j'envoie, je reçois les message d'erreur de mes trois variables qui dans leur test possède cette fonction.
Je vous laisse le code de mon script et du formulaire pour mieux comprendre.
Le formulaire:
<html> <head> <title> Formulaire ciné </title> </head> <body> <form action="script.php"> <label>Titre du film : </label> <input type="text" name="titre" /><br/> <label>Année : </label> <input type="text" name="annee" maxlength="4"/><br/> <label>Genre : </label> <select name="genre[]" multiple="yes" size="3"> <option value="policier">Policier</option> <option value="sf">Science-Fiction</option> <option value="culte">Culte!!!</option> </select><br/> <label>Description : </label> <textarea name="descript">Tape la description ici</textarea><br/> <label>Film en couleur : </label> <input type="radio" name="couleur" value="1"> Oui - <input type="radio" name="couleur" value="0"> Non<br/> <label>Pays : </label> <select name="pays"> <option value="fr">France</option> <option value="us">USA</option> <option value="gb">Angleterre</option> </select><br/> <label>Sous-titre : </label> <input type="checkbox" name="soustitre[]" value="fr"> Français - <input type="checkbox" name="soustitre[]" value="gb"> Anglais - <input type="checkbox" name="soustitre[]" value="es"> Espagnol<br/> <input type="submit" value="Valider" /> </form> </body> </html>
Et la page php avec le script et l'affichage du résultat:
<?php
function verif()
{
$erreur="";
if(strlen($_REQUEST['titre'])<2)
{ $erreur .="- le titre est composé d'au moins 2 caractères<br/>";}
if($_REQUEST['annee']<1930 || $_REQUEST['annee']>2008)
{ $erreur .="- y'avait ou y'a pas encore de film dans la date que tu donnes...<br/>"; }
if((is_array($_REQUEST['genre'])==false) || count($_REQUEST['genre']<1))
{ $erreur .="- il faut sélectionner un genre<br/>"; }
else
{
$tableaugenre = array("sf","culte","policier");
foreach($_REQUEST['genre'] as $tmp)
{ if(in_array($_REQUEST['genre'],$tableaugenre)==false)
{ $erreur .= "- le genre $tmp n'est pas correct<br/>"; }
}
}
if($_REQUEST['couleur']!=0 && $_REQUEST['couleur']!=1)
{ $erreur .= "- la couleur n'a pas été précisée<br/>"; }
if(strlen($_REQUEST['descript'])<10 || strlen($_REQUEST['descript'])>500)
{ $erreur .= "- description non valide (10<nb de caractères<500)<br/>"; }
if(is_array($_REQUEST['soustitre'])==false || count($_REQUEST['soustitre']<1))
{ $erreur .="- il faut sélectionner un sous-titre<br/>"; }
else
{
$tableauST = array("fr","gb","es");
foreach($_REQUEST['soustitre'] as $tmp)
{ if (in_array($_REQUEST['soustitre'],$tableauST)==false)
{ $erreur .= "- le sous-titre $tmp n'est pas correct<br/>";}
}
}
if((is_array($_REQUEST['pays[]']))==false || count($_REQUEST['pays'])<1)
{ $erreur .="- il faut sélectionner un pays<br/>"; }
else
{
$tableaupays = array("fr","us","gb");
foreach($_REQUEST['pays'] as $tmp)
{ if (in_array($_REQUEST['pays'],$tableauST)==false)
{ $erreur .= "- pas de pays choisi<br/>";}
}
}
if(!empty($erreur))
{ print($erreur);
return false;
}
}
if(verif()==false) exit(0);
echo "<b>Titre : </b>".$_REQUEST['titre']."<br/>";
echo "<b>Année : </b>".$_REQUEST['annee']."<br/>";
$genre = join(',',$_REQUEST['genre']);
echo "<b>Genre : </b>".$genre."<br/>";
echo "<b>Description : </b>".$_REQUEST['descript']."<br/>";
echo "<b>Couleur : </b>".$_REQUEST['couleur']."<br/>";
echo "<b>Pays : </b>".$_REQUEST['pays']."<br/>";
$soustitre = join(',',$_REQUEST['soustitre']);
echo "<b>Sous-titre : </b>".$soustitre."<br/>";
?>
Merci d'avance de vos réponses.
Ciao
A voir également:
- Prob fonction in_array()
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
7 réponses
Bonsoir,
y'a pas une erreur la :
($_REQUEST['genre']<1))
moi j'aurai mis ca :
($_REQUEST['genre'] ) <1 )
y'a pas une erreur la :
($_REQUEST['genre']<1))
moi j'aurai mis ca :
($_REQUEST['genre'] ) <1 )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mes premieres erreurs n'apparaissent plus mais maintenant il me dit que mes genres n'existent pas alors que ce sont les mêmes qui sont dans le formulaire et dans le tableau... et ça fait pareil pour les autres tableaux...