argument invalid dans une fonction

Eléphant du PHP | 85 Messages

22 nov. 2005, 10:14

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
Modifié en dernier par konjiki le 22 nov. 2005, 11:26, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

22 nov. 2005, 10:56

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)
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphant du PHP | 85 Messages

22 nov. 2005, 11:26

merci c'est beaucoup mieux ! :lol: