valeur nulle, remplacer par une autre???

stephanie61
Invité n'ayant pas de compte PHPfrance

08 janv. 2008, 21:58

Pour résumer,
J'ai mis sur toutes mes pages le code suivant, aprés la balise body:
<?php 
if(!defined('MON_ID')) 
    define('MON_ID', 8500, true); 

// du code 

$affl_id = !empty($_GET['affl_id']) ? $_GET['affl_id'] : MON_ID; 

?> 
Ensuite tous les liens de mes pages sont du style:

Code : Tout sélectionner

<a href="page3.php?affl_id=<?php echo $affl_id;?>" ><b>¤ Page3</b></a>
Bon enfin si je rentre directement avec ou sans affl_id du style

Code : Tout sélectionner

http://nomdusite.com
ou alors

Code : Tout sélectionner

http://nomdusite.com/index.php?affl_id=9999
Là tous les liens et les pages prennent l'id 8500
ce qui est le probléme maintenant, c'est que si il y a pas d'id il prend 8500, mais si il en as un comme 9999 par exemple, il doit prendre 9999
Voila
bisous
stéf
ça marche pas de probléme

stephanie61
Invité n'ayant pas de compte PHPfrance

08 janv. 2008, 22:00

oubliez le "ça marche pas de probléme" en fin de message, je sais pas ce qu'il fait là :?

ViPHP
ViPHP | 4039 Messages

08 janv. 2008, 23:44

oubliez le "ça marche pas de probléme" en fin de message, je sais pas ce qu'il fait là :?
:D Dommage qu'on a pas une section "psychologie appliquée", ce serait un cas intéressant..

C'est ton opérateur ternaire qui cause souci.
Il faut le mettre comme ceci (j'ai ajouté des parenthèses):
$affl_id = (!empty($_GET['affl_id'])) ? $_GET['affl_id'] : MON_ID;
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

ViPHP
AB
ViPHP | 5818 Messages

09 janv. 2008, 05:56

j'ai ajouté des parenthèses
$affl_id = (!empty($_GET['affl_id'])) ? $_GET['affl_id'] : MON_ID;
C'est pas ça le souci.

Comme disait Traker y'a déjà un moment : "à moins que tu ne soit atteint de parenthésite aigüe..." (les parenthèses sont inutiles dans ce cas de figure) :wink:

stephanie61
Invité n'ayant pas de compte PHPfrance

09 janv. 2008, 06:01

Bonjour,
ça ne change rien, c'est toujours MON_ID qui prend le dessus
stéf

ViPHP
ViPHP | 4039 Messages

09 janv. 2008, 10:34

Oui, AB à raison, ça change rien en fait.. (mal inspiré du tuto de zeus, je dirais :wink: )

Le code marche, il suffit de mettre ceci dans une petite page:
<?php 
if(!defined('MON_ID')) 
    define('MON_ID', 8500, true); 
$affl_id = !empty($_GET['affl_id']) ? $_GET['affl_id'] : MON_ID; 
echo $affl_id;
?> 
Et l'appeller par page.php?affl_id=45 pour voir s'afficher le 45. L'erreur doit être ailleurs.. tu ne peux pas nous poster toute ta page stef ? on y verrait tout de suite plus clair.. :(
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

ViPHP
ViPHP | 4674 Messages

09 janv. 2008, 10:50

Si il t'affiche MON_ID à chaque fois, ça signifie que : $_GET['affl_id'] n'existe pas (pas défini) ou alors que qu'il est défini, mais vide (ou nul).

@Berzemus : tu as fais du Lisp ou du Scheme quand t'étais jeune c'est ça ? T'as encore envie de mettre des parenthèses partout ^^.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 4039 Messages

09 janv. 2008, 10:57

Ah, une fois qu'on a appris quelque chôse de travers, c'est dur de s'en défaire.. :cry:
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

09 janv. 2008, 11:04

Pourquoi de travers ?

Je suis partisan du fait de toujours être explicite et de ne pas laisser PHP gérer les priorités.

Je préfère de loin écrire
if( (($machin > 18) || ($test != 1)) && ($bidule < 0) )
à
if( $machin > 18 || $test != 1 && $bidule < 0)
Et me demander à chaque fois quelle est la règle que suit PHP :?

Donc, pour conclure, je ne suis pas d'accord sur le fait que la parenthésite aïgue soit une maladie, mais plutôt une manière de coder.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 3300 Messages

09 janv. 2008, 11:19

Ah, une fois qu'on a appris quelque chôse de travers, c'est dur de s'en défaire.. :cry:
t'avais un torticolis quand t'allais sur php.net?
ouch :(
Fait du php depuis que ca existe ou presque :)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

09 janv. 2008, 11:32

Euh oui et non... y a la parenthésite utile et la parenthésite qui surcharge pour pas grand chose. C'est pas bien compliquer de retenir que la priorité de l'opérateur ET sur le OU, et la priorité de ces deux opérateurs sur tout opérateur de comparaison.

De plus, il y a une petite erreur (?) dans les codes que tu donnes en exemple, puisque le résultat n'est pas le même (le premier favorisant le OU, le second le ET), tu ne peux pas préférer l'un à l'autre ;)

Et entre :
1. if ( (($machin > 18) || ($test != 1)) && ($bidule < 0) )

2. if ( ($machin > 18 || $test != 1) && $bidule < 0 )
La seconde syntaxe m'est beaucoup plus agréable, avec juste les parenthèses de priorité qu'il faut :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

ViPHP
ViPHP | 4039 Messages

09 janv. 2008, 11:47

Ah, une fois qu'on a appris quelque chôse de travers, c'est dur de s'en défaire.. :cry:
t'avais un torticolis quand t'allais sur php.net?
ouch :(
Dans le sens de 'une fois que c'est devenu un reflexe'. Ceci ne s'appliquant pas exclusivement à l'informatique, mais à toute forme d'apprentissage.

Stef, ne t'occupe pas des tourments sémantiques sur la question de pour ou contre la sur-parenthèsisation, contentons-nous de poursuivre.. je me demandais si tu pouvais nous montrer ta page dans son entièreté. Peut-être que l'erreur est ailleurs, ou tu ne le soupçonnes pas.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

ViPHP
ViPHP | 3300 Messages

09 janv. 2008, 11:50

Ah, une fois qu'on a appris quelque chôse de travers, c'est dur de s'en défaire.. :cry:
t'avais un torticolis quand t'allais sur php.net?
ouch :(
Dans le sens de 'une fois que c'est devenu un reflexe'. Ceci ne s'appliquant pas exclusivement à l'informatique, mais à toute forme d'apprentissage.

Stef, ne t'occupe pas des tourments sémantiques sur la question de pour ou contre la sur-parenthèsisation, contentons-nous de poursuivre.. je me demandais si tu pouvais nous montrer ta page dans son entièreté. Peut-être que l'erreur est ailleurs, ou tu ne le soupçonnes pas.
out of topic: j'imaginais juste une lecture complète de php.net avec un torticolis, un de mes grand jeu c'est de comprendre mal exprès :)

on topic: + pour un postage complet des pages pour mieux comprendre le déroulement de l'action ca aiderait nettement je pense :)
Fait du php depuis que ca existe ou presque :)

Invité
Invité n'ayant pas de compte PHPfrance

09 janv. 2008, 15:54

Oui, AB à raison, ça change rien en fait.. (mal inspiré du tuto de zeus, je dirais :wink: )

Le code marche, il suffit de mettre ceci dans une petite page:
<?php 
if(!defined('MON_ID')) 
    define('MON_ID', 8500, true); 
$affl_id = !empty($_GET['affl_id']) ? $_GET['affl_id'] : MON_ID; 
echo $affl_id;
?> 
Et l'appeller par page.php?affl_id=45 pour voir s'afficher le 45. L'erreur doit être ailleurs.. tu ne peux pas nous poster toute ta page stef ? on y verrait tout de suite plus clair.. :(
Rebonjour,
Je ne ne pas faire une page par affilié, ça en ferais trop!!!
Voici ma page index .php:

Code : Tout sélectionner

<html> <!-- Date de création: 03/01/2008 --> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title></title> <meta name="description" content=""> <meta name="keywords" content=""> <meta name="author" content="REVENGE Crew"> <meta name="generator" content="WebExpert 5"> <style type="text/css"> a { TEXT-DECORATION: none; } </style> <style> <!-- body { scrollbar-face-color:#E3E3E3; scrollbar-arrow-color:#171717; scrollbar-track-color:#6E6E6E; scrollbar-shadow-color:#E3E3E3; scrollbar-highlight-color:#E3E3E3; scrollbar-3dlight-color:#171717; scrollbar-darkshadow-Color:#171717; } --> </style> <meta http-equiv="pics-Label" content='(pics-1.1 "http://www.icra.org/pics/vocabularyv03/" l gen true for "http://aanuaire.fr" r (n 3 s 3 v 3 l 3 oa 2 ob 2 oc 2 od 2 oe 2 of 2 og 2 oh 2 c 3) gen true for "http://www.aanuaire.fr" r (n 3 s 3 v 3 l 3 oa 2 ob 2 oc 2 od 2 oe 2 of 2 og 2 oh 2 c 3))' /> </head> <body bgcolor="#171717" text="#6e6e6e" link="#6e6e6e" vlink="#6e6e6e" alink="#6e6e6e"> <?php if(!defined('MON_ID')) define('MON_ID', 8500, true); // du code $affl_id = (!empty($_GET['affl_id'])) ? $_GET['affl_id'] : MON_ID; ?> <table width="800" border="0" align="center" cellspacing="0" summary=""> <tr> <td width="800" bgcolor="#6E6E6E" align="center" valign="middle"><img src="img/titre.jpg" border="0" width="300" height="100" alt=""></td> </tr> <tr> <td width="800" bgcolor="#E3E3E3"></td> </tr> <tr> <td width="800" bgcolor="#E3E3E3" align="center" valign="middle"> <br> <br> <img src="img/ban1.gif" border="0" width="468" height="60" alt=""> <table border="0" align="center" cellspacing="50" summary=""> <tr> <td><a href="menu.php?affl_id=<?php echo $affl_id;?>"><img src="img/entrez.jpg" border="0" width="200" height="40" alt=""></a></td> <td><a href="http://www.google.fr"><img src="img/sortir.jpg" border="0" width="200" height="40" alt=""></a></td> </tr> <tr> <td align="center" valign="middle" colspan="2"><a href="http://www.icra.org" title="Protégez vos enfants" target="_blank"><img src="img/fr_aw_88x31.gif" border="0" width="88" height="31" alt=""></a></td> </tr> </table> </td> </tr> </table> </body> </html>
Avec ce code , n'importe quel id est transformé en 8500
stéf

ViPHP
ViPHP | 4039 Messages

09 janv. 2008, 16:41

C'est bien ce que je me disais ,le code fonctionne parfaitement. Si tu appelles la page en spécifiant affl_id:
index.php?affl_id=457
j'ai clairement indiqué "menu.php?affl_id=154".

Ou alors c'est un autre problême, et c'est juste un souci de communication entre nous..

Ou alors un paramtère de configuration de php, mais alors je ne vois lequel ça pourrait être..
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.