Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1779 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Champs vide et comparaison de variables

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Champs vide et comparaison de variables

n°571487
freed102
Arayashiki
Posté le 20-11-2003 à 12:28:27  profilanswer
 

Bonjour à tous !
 
Pouvez vous m'indiquer mes erreurs (une fois de plus !! lol)
 
voici mon code :
 
<?
$x=$_POST['type_nb_pages'];
$y=$_POST['type_nb_pages_nb'];
$z=$_POST['type_nb_pages_coul'];
 
if ($x != ($y+$z))
{
$field2="Attention la somme des pages noir et blanc et couleur doit être égale au nombre total de pages !";
}
if ($x =='')
{
$field="Le champ est vide !";
}
if ($y =='')&&($z =='')
{
$field2="Vous devez choisir au minimum une page noir et blanc ou couleur !"
}
else
{
session_name("devis1" );
session_start();
 
$_SESSION['nb_pages']=$x;
$_SESSION['format_papier']=$_POST['type_format_papier'];
$_SESSION['nb_pages_nb']=$y;
$_SESSION['nb_pages_coul']=$z;
header ("Location : index_etape2.php" );
}
 
include("../includes/variables.php" ); ?>


---------------
Freed102
mood
Publicité
Posté le 20-11-2003 à 12:28:27  profilanswer
 

n°571506
freed102
Arayashiki
Posté le 20-11-2003 à 12:39:42  profilanswer
 

deja il manquait un ; ... mais ça suffit pas ! :)


---------------
Freed102
n°571511
simogeo
j'ai jamais tué de chats, ...
Posté le 20-11-2003 à 12:45:42  profilanswer
 

if ($y =='' && $z =='')


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°571523
freed102
Arayashiki
Posté le 20-11-2003 à 13:07:08  profilanswer
 

merci ! ya plus d'erreur.. mais ça marche pas comme je voudrais !!
 
il s'arrete d'office sur le dernier test... donc ça va pas  ! lol
 
http://www.clonecopy.net/php/devis/index_etape1.php
 
 
j'ai changé un truc.. Mais ça suffit pas :
 
<?
$x=$_POST['type_nb_pages'];
$y=$_POST['type_nb_pages_nb'];
$z=$_POST['type_nb_pages_coul'];
 
if ($submit)
{
if ($x != ($y+$z))
{
$field2="Attention la somme des pages noir et blanc et couleur doit être égale au nombre total de pages !";
}
elseif ($x =='')
{
$field="Le champ est vide !";
}
elseif ($y =='' && $z =='')
{
$field2="Vous devez choisir au minimum une page noir et blanc ou couleur !";
}
else
{
session_name("devis1" );
session_start();
 
$_SESSION['nb_pages']=$x;
$_SESSION['format_papier']=$_POST['type_format_papier'];
$_SESSION['nb_pages_nb']=$y;
$_SESSION['nb_pages_coul']=$z;
header ("Location : index_etape2.php" );
}
}
include("../includes/variables.php" ); ?>


---------------
Freed102
n°571545
deliriumtr​emens
sic transit intestinal...
Posté le 20-11-2003 à 13:21:39  profilanswer
 

Bé ça marche, t'as fait des changements ?
 
Par habitude, je ferais des
 
$x=trim($_POST['type_nb_pages'])
 
et  
 
If (empty($x))
plutôt que
If ($x=="" )
 
mais bon, c'est presque du détail.
 
Sinon, les données stockées en session ne semblent pas être transférées à la page 2, puisque j'obtiens

Code :
  1. Documents à copier/imprimer :  page(s) en format
  2. Incluant page(s) en noir et blanc et page(s) en couleur.


 
->manque les infos, pas encore codé ?


Message édité par deliriumtremens le 20-11-2003 à 13:27:04
n°571558
freed102
Arayashiki
Posté le 20-11-2003 à 13:38:07  profilanswer
 

oui ça marche presque ! !mais j'arrive pas encore à faire le systeme avec le champ vide !! il m'indique toujours "Dois etre supérieur à 1"
 
voici le code (j'ai changé pas mal de choses :

<?
session_name("devis1" );
session_start();
 
$_SESSION['nb_pages']=$_POST['type_nb_pages'];
$_SESSION['format_papier']=$_POST['type_format_papier'];
$_SESSION['nb_pages_nb']=$_POST['type_nb_pages_nb'];
$_SESSION['nb_pages_coul']=$_POST['type_nb_pages_coul'];
 
$x=trim($_POST['type_nb_pages']);
$y=trim($_POST['type_nb_pages_nb']);
$z=trim($_POST['type_nb_pages_coul']);
 
if ($submit)
{
if (empty($x))
{
$field="Le champ est vide !";
}
if ($x < 1)
{
$field="Doit être supérieur à 1 !";
}
if ($x != ($y+$z))
{
$field2="Attention la somme des pages noir et blanc et couleur doit être égale au nombre total de pages !";
}
if ($y =='' && $z =='')
{
$field2="Vous devez choisir au minimum une page noir et blanc ou couleur !";
}
elseif ($x >=1 && $x ==($y+$z))
{
header("Location: index_etape2.php" );
}
}
include("../includes/variables.php" ); ?>

 
... et effectivement les donnée ne sont pas stockées en session... je sais pas pourquoi ! ça marchait très bien avant ça ! :(


---------------
Freed102
n°571568
freed102
Arayashiki
Posté le 20-11-2003 à 13:52:54  profilanswer
 

j'ai recupéré ma session... c bon signe !! :)


---------------
Freed102
n°571656
freed102
Arayashiki
Posté le 20-11-2003 à 15:31:35  profilanswer
 

...bon, j'ai arrangé un peu mon systeme de session... ça marche parfaitement bien !
 
Maintenant je me remets sur mon systeme de test de variables... mais là je capte plus trop... en fait ya des conditions dans mon programme qui marchent pas on dirait... surtout celle concernant les champs vide !! j'ai essayé :
 
if (empty($x))
{
$field="Le champ est vide !";
}
 
... mais ça marche pas...  
 
revoici mon code complet (sur les conditions) :
 

if ($submit)
{
if (empty($x))
{
$field="Le champ est vide !";
}
if ($x < 1)
{
$field="Doit être supérieur à 1 !";
}
if ($x != ($y+$z))
{
$field2="Attention la somme des pages noir et blanc et couleur doit être égale au nombre total de pages !";
}
if (empty ($y) && empty ($z))
{
$field2="Vous devez choisir au minimum une page noir et blanc ou couleur !";
}
elseif ($x >=1 && $x ==($y+$z))
{
header("Location: index_etape2.php?".session_name()."=".session_id());
}
}

 
zavez une idée ?
 
Merci


Message édité par freed102 le 20-11-2003 à 15:31:51

---------------
Freed102
n°571667
deliriumtr​emens
sic transit intestinal...
Posté le 20-11-2003 à 15:42:44  profilanswer
 

Ben c'est que ton $x correspond à rien si $_POST['nb_de_pages'] n'est pas rempli.
 
 
 
Donc tu peux faire
If(!empty(trim($_POST['nb_de_pages'])))
{$x=$_POST['nb_de_pages'];}
Else
{$x="";}
 
Et là tes contrôles en faisant des if (empty($x)) devraient fonctionner.
 
Perso, j'utilise une petite fonction
 

Code :
  1. Function PParameter ($name, $default)
  2.     {
  3.     If (isset($_POST[$name]))
  4.         {
  5.         $result=trim(htmlspecialchars($_POST[$name]));
  6.         }
  7.     Else
  8.         {
  9.         $result=$default;
  10.         }
  11.    
  12.     return($result);
  13.     }
  14. //Puis pour "déclarer" une variable tu n'as plus qu'à faire
  15. $x=PParameter("nb_de_pages","" );


 
Comme ça tu as déjà tes valeurs par défaut.


Message édité par deliriumtremens le 20-11-2003 à 15:43:19

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Champs vide et comparaison de variables

 

Sujets relatifs
Comprend pas un résultat de comparaison[php] contenu d'un champs dans un input
Champs Multi valeurs possible sous SQL 2000?J'en peux plus !!! If, else, variables, includes... tout se melange!!!
Variables de session (le retour)Problème de RecordSet avec des champs vides [Résolu merci drasche]
Variables incrementeesProb de variables de session...
Datagrid Vide[PHP] mes variables de sessions ne fonctionne pas
Plus de sujets relatifs à : Champs vide et comparaison de variables


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR