| |||||
| Dernière réponse | |||
|---|---|---|---|
| Sujet : (PHP) probleme (incomprehensible ?) avec mes variables | |||
| Batman-Fr | 
 
  | 
			||
| Aperçu | 
|---|
| Vue Rapide de la discussion | 
|---|
| Batman-Fr | 
 
  | 
			
| youdontcare | 
  tant qu'on parle de ça, y'a un script d'exemple très sympa sur php.net :
 
    
 [edit]--Message édité par youdontcare--[/edit]  | 
			
| lamatrice | tant qu'on y est :
 isset() c'est cool et puis y a la petite soeur qui va avec : unset() pour vider (désaffecter la variable)  | 
			
| youdontcare | 
 c'est clair ... surtout avec les warnings disablés :D :D  | 
			
| Mara's dad | C'est çà qu'est bien avec PHP, c'est reposant.
 Haaaaaaaaaa.........  | 
			
| youdontcare | 
  on est d'accord ! effectivement, les warnings étaient disablés chez moi. comme une variable nulle est convertie en une string vide, ça marche.
  | 
			
| Mara's dad | J'ai fait un test avec ce code :
 
  | 
			
| youdontcare | 
 qu'est ce que tu racontes ? une variable utilisée en php 'existe' toujours. elle prend une valeur si tu la passe en paramètre dans le script, est nulle sinon.
  | 
			
| Batman-Fr | Mara's Dad : :jap: merci, ca marche nickel chrome :sol:
 Udontcare : c'est ce que je faisais aussi mais ca passait pas alors j'ai essaye d'autres truc mais Mara's Dad a raison :) voila, encore merci :hello: ++  | 
			
| Mara's dad | 
 
  | 
			
| youdontcare | pour tester si une variable est vide, je fais juste
 if ($var == "" ) ça marche nickel et c'est tout simple :)  | 
			
| Batman-Fr | 
 
  | 
			
| Mara's dad | A bon ,t'es encore là !
 SI tu veut : 
 
 
 
 
 
  | 
			
| Mara's dad | Oui, bon là c'est moi qu'ai fait la bourde, mais j'ai pas testé le code, j'ai juste pissé çà comme çà ;-)
 Y faut bien qu'il apprenne un peu à corriger des bug, nan ? T'as cherché un peu au moins avant de demander ? 17:49 -> 17:57 ... Mouais, pas trop tout de même :D Allez, courage, çà va renter tout seul :lol:  | 
			
| Batman-Fr | prq une parenthese de trop ?
 1 pour le if et l'autre pour le isset non ? :??: j'ai peur de moi la d'un coup :sarcastic: j'essaie ta manip demain matin :) merci :hello: [edit]--Message édité par Batman-Fr--[/edit]  | 
			
| Sh@rdar | value="<?php if(isset($dn_jour) echo "$dn_jour";) ?>">   une parenthèse en trop dans ta condition ;-) mets plutôt value="<?if(isset($dn_jour)) echo "$dn_jour" ?>" @+  | 
			
| Batman-Fr | raaaaaa, j'galere encore :(
 il me met une erreur sur la ligne ou j'ajoute le value : ... value="<?php if(isset($dn_jour) echo "$dn_jour";) ?>"> j'ai pense que c'etait l'histoire des " du echo, je les ai donc remplacees par des ' mais j'ai toujours l'erreur d'interpretation du code php ....  | 
			
| Batman-Fr | oui, ca fait rien
 exact pour le echo, j'ai la mauvaise habitude de l'oublier lorsque j'insere des variables php dans le code html mea culpa, je teste ta manip mais ca devrait marcher :) on ta deja dit que t'etais rapide toaaa ?? :D et que t'etais gentil toaaa ?? :lol: nan, serieusement, merci du coup de main :)  | 
			
| Mara's dad | Et çà fait quoi ? Rien, message d'erreur...
 Moi, je ferai : value="<?php if(isset($dn_jour) echo($dn_jour); ?>" De toute façon, <?php '$dn_jour' ?> je vois pas ce que çà peut donner, quelle que soit la valeur de $dn_jour ! ! ! [edit]--Message édité par Mara's dad--[/edit]  | 
			
| Batman-Fr | bah oui, j'sais bien :(
 mais j'ai essaye ca : value="<?php '$dn_jour' ?>" et ca ne marche pas ... [edit]--Message édité par Batman-Fr--[/edit]  | 
			
| Mara's dad | J'te préviens, tu va te trouver con là ;-)
 Tes variables, $typ_gar, $typ_reg... y'a quoi dedans à ton avis si elles éxistent! Donc t'as juste à mettre un value=$ta_variable mais faut qu'elle éxiste !  | 
			
| Batman-Fr | re :)
 bah ca marchait pas avec isset() (sisi) : il passait a l'etape suivante (j'comprends pas non plus mais bon :lol: ) par contre, avec empty(), ca passe nickel :) tant que je te tiens :D, tu sais comment faire memoriser les valeur deja rentrees pour les remettre dans les champs lorsque le formulaire est charge a nouveau (quand l'utilisateur a oublie de renseigner un ou plusieurs champs) ?  | 
			
| Mara's dad | C'est sûr que çà marche, c'est LA méthode à utiliser en PHP.
 En asp, Request.Form("NIMPORTEQUOI" ) n'est pas une variable. NIMPORTEQUOI est le nom d'un élément de la collection Form de l'objet Request (Ouf). C'est pour çà que j'aime pas l'ASP, c'est trop bavard !  | 
			
| Batman-Fr | :hello:
 ah ok, c'est vrai que ca parait logique :D le prob, c'est que je me suis base pour certain point sur un script ASP et apparament, ce genre de syntaxe passe sous ASP ... merci, je vais essayer ca :) ++  | 
			
| Mara's dad | Ton pb, c'est que les variable (comme $typ_gar) n'éxistent pas si l'utilisateur ne les a pas renseignées dans le formulaire (c'est ce qu'il te dit : Undefined variable).
 Comme tu ne peux pas utiliser une fonction comme strlen() sur une variable qui n'éxiste pas, PHP en fourni une pour çà, c'est isset()! Voir : http://php.net/manual/fr/function.isset.php  | 
			
| Batman-Fr | :hello:
 bon, j'espere que je ne vais pas poser une question a la con, sinon, soyez sympa :( voila, je suis sur un script PHP avec formulaire et je teste mes variables pour savoir si elles sont vides (afin de verifier que l'utilisateur rentre une valeur pour chacune). Si c'est le cas, le script affiche le formulaire. Sinon, il traite les donnees. Voila le debut du script : <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#E1F5FF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onLoad=""> <table width="57%" border="0" cellspacing="2"> <tr> <td><img src="../images/sections/adhesion.gif" width="228" height="37"></td> </tr> </table> <table width="60%" border="0" cellspacing="2"> <tr> <td width="8%"> </td> <td width="92%" valign="top" align="left"> <?php if ( (strlen($typ_gar)==0) || (strlen($typ_reg)==0) || (strlen($dn_jour)==0) || (strlen($dn_mois)==0) || (strlen($dn_annee)==0) || (strlen($dn_jour_c)==0) || (strlen($dn_mois_c)==0) || (strlen($dn_annee_c)==0) || (strlen($dn_jour_e1)==0) || (strlen($dn_mois_e1)==0) || (strlen($dn_annee_e1)==0) || (strlen($dn_jour_e2)==0) || (strlen($dn_mois_e2)==0) || (strlen($dn_annee_e2)==0) || (strlen($dn_jour_e3)==0) || (strlen($dn_mois_e3)==0) || (strlen($dn_annee_e3)==0) || (strlen($dn_jour_e4)==0) || (strlen($dn_mois_e4)==0) || (strlen($dn_annee_e4)==0) || (strlen($dn_jour_e5)==0) || (strlen($dn_mois_e5)==0) || (strlen($dn_annee_e5)==0) || (strlen($dn_jour_e6)==0) || (strlen($dn_mois_e6)==0) || (strlen($dn_annee_e6)==0) ) { ?> <form method="post" action="adhesion_dx.php" name="form_adh"> <?php if ($etat != "I" ) echo"Vous n'avez pas rempli tous les champs"; ?> <p><font face="Times New Roman, Times, serif" size="4"><b><font color="#000066">Garantie souhaitée</font></b></font><font face="Times New Roman, Times, serif" size="3"> <select name="typ_gar" value="<?php $typ_reg ?>"> <option value="gnull" selected>Garantie ...</option> <option value="geco">Éco</option> <option value="g100">100</option> <option value="g130">130</option> <option value="g160">160</option> <option value="g250">250</option> </select> </font></p> ... et voila l'erreur que mon navigateur m'affiche au chargement de la page : Warning: Undefined variable: typ_gar in D:\serveurs-web\mgel\_mvs2\adhesion\adhesion_dx.php on line 20 (ligne qui correspond au "if" ) j'espere que vous trouverez mon erreur, perso, j'suis perdu :sweat: merci d'avance ++ [edit]--Message édité par Batman-Fr--[/edit]  | 
			



  
