[PHP] je voi pas mon erreur !

je voi pas mon erreur ! [PHP] - PHP - Programmation

Marsh Posté le 28-03-2003 à 12:20:28    

salut :hello:
 
j'ai fait une fonction pour controler les variables.

Code :
  1. function verifvar(&$tabori,&$averif) {
  2. for ($i=0;$i<=count($averif);$i++) {
  3.  if ($tabori[$averif[$i]] == "" ) {return 1;}
  4. }
  5. return 0;
  6. }


 
j'appel cette fonction comme ca :

Code :
  1. $verif = array ("nom","prenom","login","pwd" );
  2. if ( verifvar($_POST,$verif) ){
  3.   echo "pas bon";
  4. } else {
  5.   echo "OK";
  6. }


 
cette fonction marche, jusque le pas de soucis :D
ensuite j'ai voulutester les "select multiple" avec comme nom "proc[]"
je c comme extraire les données et g modifier ma fonction en concequence :

Code :
  1. function verifvar(&$tabori,&$averif) {
  2. $trouv = 0;
  3. for ($i=0;$i<=count($averif);$i++) {
  4.  if ( is_array($tabori[$averif[$i]]) ) {
  5.   list ($key, $val) = each ($tabori[$averif[$i]]);
  6.     if (!isset($val)) {$trouv = 1;}
  7.  } elseif ($tabori[$averif[$i]] == "" ) {$trouv = 1;}
  8. }
  9. return $trouv;
  10. }


mais la, ca me retourne toujour 1 ! meme si une valeur est selectionné!
ou est ma faute ?


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 28-03-2003 à 12:20:28   

Reply

Marsh Posté le 28-03-2003 à 14:26:04    

Bah deja te premiere fonction été pas juste..
 

Code :
  1. function verifvar(&$tabori,&$averif) {
  2.      for ($i=0;$i<count($averif);$i++) {
  3.         if ($tabori[$averif[$i]] == "" ) {return 1;}
  4.      }
  5.      return 0;
  6.   }


 
for ($i=0;$i<count($averif);$i++)
 
c'est ça que tu veux?
 
EDIT: j'ai mis un -1 en trop.. oups, désolé


Message édité par Mr yvele le 30-03-2003 à 19:29:07

---------------
yvele n'est plus.
Reply

Marsh Posté le 30-03-2003 à 18:58:11    

oui, mettre le -1 chuis d'accord,
mais ca répond à ma question !!


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 30-03-2003 à 19:18:52    

Dans ton cas, il suffit qu'il y ait un seul $val qui soit nul dans le tableau correspondant à la liste multiple pour que la fonction renvoie une erreur.
Ce n'est pas plutot l'inverse, ne pas renvoyer d'erreur s'il y a ne serait-ce qu'un $val non nul :??:  

Reply

Marsh Posté le 30-03-2003 à 19:30:44    

SteF_DOBERMANN a écrit :

oui, mettre le -1 chuis d'accord,
mais ca répond à ma question !!


 
excuse, j'ai oublié de virer le -1 dans le code..
En fait il suffit de remplacer le <= par un simple <
 
PS: avant d'editer, j'avais laissé le <= , et j'avais rajouter un -1, ce qui reviens (presque) au meme, mais c'est juste plus propre...
Encore désolé..

Reply

Marsh Posté le 30-03-2003 à 19:41:04    

c exact, j'était en train de me rendre commpte de cette erreur :)
 
edit : en faite ma fonction été "juste", c le égale qui ne faisais pas l'affaire !


Message édité par stef_dobermann le 30-03-2003 à 19:46:07

---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 30-03-2003 à 19:43:55    

mrBebert a écrit :

Dans ton cas, il suffit qu'il y ait un seul $val qui soit nul dans le tableau correspondant à la liste multiple pour que la fonction renvoie une erreur.
Ce n'est pas plutot l'inverse, ne pas renvoyer d'erreur s'il y a ne serait-ce qu'un $val non nul :??:  
 


 
ben en faite la liste multiple c un tableau ki va de $tab[0] à $tab[x]
donc si le $tab[0] est vide, c ke la personne n'a rien sélectionné ;), donc c bien ce ke veux, savoir si la personne à séléctionné quelque chose :D


Message édité par stef_dobermann le 30-03-2003 à 20:07:48

---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 30-03-2003 à 19:58:59    

Si ca marche comme ca, alors d'accord [:proy]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed