Page 1 sur 1

argument invalid dans une fonction

Posté : 22 nov. 2005, 10:14
par konjiki
lut, j'ai un petit souci avec une fonction qui devrai en theorie me permettre de tester les champs vides d'un formulaire. voila le code:
<?php
function test_vide($valeur, $champvide, $cle)
	{
	if ($valeur=="")
        	{
        	 $champvide[$cle] = "blanc";
        	}
if (sizeof($champvide) > 0 ) // en cas de champ vide
    {
     echo "<b>un champs obligatoire n'a pas ete renseigne.
     vous devez le saisir :</b><br>";
    // affichage des informations requises
    foreach($champvide as $cle => $valeur)
        {echo "&nbsp;&nbsp;&nbsp;{$chps_test[$cle]}<br>";}
    }
	}
?>
et j'ai une erreur du type: Warning: Invalid argument supplied for foreach()

je vous met aussi le code ou j'appel la fonction l'erreur est peut etre ici.
<?php
require ('fonctions/test_vide.php');
  $champvide=array();
  $mauvaisformat=array();

$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$mail=$_POST['mail'];
$cp=$_POST['cp'];

//champs a tester dans un tableau
    $chps_test=array("nom" => "nom",
                    "prenom" => "prenom",
                    "cp" => "code_postal",
                    "mail" => "e-mail");
//echo "test depart ok <br> ";
//controle de tous les champs vides
foreach($_POST as $cle => $valeur)
    {
	test_vide($valeur, $cle, $champvide); //appel de la fonction
...
merci

Posté : 22 nov. 2005, 10:56
par mere-teresa
function test_vide($valeur, $champvide, $cle)
{
}
 test_vide($valeur, $cle, $champvide); //appel de la fonction 
Tu as pas inversé l'ordre ?
De plus foreach() attend un tableau (Array)

Posté : 22 nov. 2005, 11:26
par konjiki
merci c'est beaucoup mieux ! :lol: