Probleme avec IF et verification avec un cookie

Résolu
cs_destiny Messages postés 249 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 29 août 2011 - 9 mars 2005 à 10:04
cs_destiny Messages postés 249 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 29 août 2011 - 9 mars 2005 à 12:03
lo all :)=

En gros, dans mes clients ( de ma bdd ) certain ont des contrat sur les mise à jour, donc il ont accés aux dernieres maj beta!

Dans ma page download je DOIT faire (pas le choix) que si c est un visiteur classique, la page affichera avec les dl normal, si c est un client la page s'affichera avec les dl normal ET les mise à jour.

De plus, vu que nous vendon plusieurs soft, certain client n'auront droit qu'aux mise a jour de leur contrat ex:

contrat pa2000 et pw2000 <- la page affichera les dl normal, les dl pa2000 et pw2000 mais pas les autre.

bon j'espere avoir ete assez kler :p

mon code qui ne marche pas !!!!! (il a pas d'erreur mais fais pas ce que jveut)

<? do { ?> //boucle des dl client
<? $soft=$row_Rs2['soft'] ?> // soft et egal aux non du soft ( ex pa,pw,pp,etc)
<? if ($HTTP_COOKIE_VARS['cldl_$soft']) <-pour verifier si le client a droit au download, j'ai mis dans le cookie les soft dont il a droit, donc ici jvoudrais faire le test "SI dans le cookie l'accés est garantie, alors affiche le... (relou qd meme :p)
{
echo "<tr class='smallink'>\n";
echo "<td background='../images/fon-ajout.jpg'>
$row_Rs2[date]
</td>\n";
echo "<td width='20%'>
$row_Rs2[nom]
</td>\n";
echo "<td width='20%' background='../images/fon-ajout.jpg'>
$row_Rs2[taille]
</td>\n";
echo "<td width='40%'>
Exclusivit&eacutee client :
$row_Rs2[desc]
\n";
echo "
\n";
echo "
</td>\n";
echo "</tr>\n";
}
?>
<? } while ($row_Rs2 = mysql_fetch_assoc($Rs2)); ?> // fin de boucle

Dans mon cookie :

cldl_pw
pw
serveurmc/www.mc-new2.comm/pages/
1024
721884800
29770575
2912034416
29697154
*
cldl_pc
pc
serveurmc/www.mc-new2.comm/pages/
1024
721884800
29770575
2912134416
29697154
*
bon si kelkun a une idée pour une autre procédure, parceque je sais pas trop comment faire enfin si jpense avoir trouver mais sa ne marche pas ...

Try to dodge my skill noob!

7 réponses

cs_destiny Messages postés 249 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 29 août 2011
9 mars 2005 à 12:03
SA Y EST SA MARCHE!!!! pt1 depuis ce matin 8h30 la dessus :p
Bon tout marche si visiteur (donc aucune session) il naffiche que les dl normal.
Sinon il affiche dl normal et les dl suivant l'accés qu il a :)

//code html et autres

<? do { ?>
<? $soft = $row_Rs2['soft'] ?>
<?
mysql_select_db($database_mc, $mc);
$verif=mysql_query("SELECT $soft FROM tbl_membre WHERE utili='".$_SESSION['pseudo']."'");


$rq=mysql_fetch_row($verif);
$acces=$rq[0];
?>
<? if ($acces=="oui")
{
echo "<tr class='smallink'>\n";
echo "<td background='../images/fon-ajout.jpg'>
$row_Rs2[date] $soft
</td>\n";
echo "<td width='20%'>
$row_Rs2[nom]
</td>\n";
echo "<td width='20%' background='../images/fon-ajout.jpg'>
$row_Rs2[taille]
</td>\n";
echo "<td width='40%'>
Exclusivit&eacutee client :
$row_Rs2[desc]
\n";
echo "
\n";
echo "
</td>\n";
echo "</tr>\n";
}
?>

//code html

<?
mysql_free_result($Rs2);
mysql_close();
?>

Merci les gars :)

Try to dodge my skill noob!
3
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
9 mars 2005 à 10:32
Salut,
Juste comme ça, il me semble curieux de mettre une info de sécurité (autorisation de télécharger) dans un cookie sur le poste du client : s'il veut pouvoir télécharger un autre de tes softs, il suffit qu'il ajoute dans son cookie ??? (ou alors j'ai peut-être pas bien compris)

Ensuite, il ne me semble pas nécessaire de mettre des
dans tes <td>. Si c'est juste pour la mise en forme, tu peux la faire directement dans les <td>, et même l'idéal : en attribuant des classes à tes <td> et en utilisant une css pour mettre tout ce qui concerne la forme : centrage du texte, image de fond, largeur, etc... Tu gagneras en clareté.

Enfin, depuis PHP 4.1.0, utilise $_COOKIE au lieu de $_HTTP_COOKIE_VARS.

Bon dev.//
Arnaud
0
cs_destiny Messages postés 249 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 29 août 2011
9 mars 2005 à 10:38
ok pour tout sa mais sa resolu pas du tout (j utilise deja du css) <tr class='smallink'>

non mais bon comment jpourrais faire ...

Try to dodge my skill noob!
0
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
9 mars 2005 à 10:51
utilise $_COOKIE au lieu de $_HTTP_COOKIE_VARS.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_destiny Messages postés 249 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 29 août 2011
9 mars 2005 à 11:07
lol c ets fais, mais c'est mon principe qui pu, j ai pense a autre chose, voila

<? do { ?>
<? $soft=$row_Rs2['soft']?> // "$row_Rs2['soft']"est egal au soft de l'enregistrement a qui il appartient (ex : pa, pp, etc)
<?
mysql_select_db($database_mc, $mc);
$sess1=mysql_query("SELECT $soft FROM tbl_membre WHERE utili='".$_SESSION['pseudo']."'"); // la jvais allez chercher les info de ces droits accés dans la bdd ("$soft" va lui indiquer pour quel logiciel prendre la l'info
mysql_close();


$r2=mysql_fetch_row($sess1);
$acces=$r2[0]; //ici je devrais avoir un oui ou non (suivant ces droits)
?>
<? if ($acces!=oui)
{
echo "<tr class='smallink'>\n";
echo "<td background='../images/fon-ajout.jpg'>
$row_Rs2[date]
</td>\n";
echo "<td width='20%'>
$row_Rs2[nom]
</td>\n";
echo "<td width='20%' background='../images/fon-ajout.jpg'>
$row_Rs2[taille]
</td>\n";
echo "<td width='40%'>
Exclusivit&eacutee client :
$row_Rs2[desc]
\n";
echo "
\n";
echo "
</td>\n";
echo "</tr>\n";
}
?>
<? } while ($row_Rs2 = mysql_fetch_assoc($Rs2)); ?> //je recommence jusqu'a plus d'enregistrement.

sa ne marhce tj pas enfaite il m'affiche tout les dl possible ( comme si il avais des oui pour tous les soft) jcomprend pas la :p

Try to dodge my skill noob!
0
arnal69130 Messages postés 445 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 22 mars 2007 2
9 mars 2005 à 11:46
Je pense que c'est bien plus sur comme ça.

Ne serait-ce pas plutôt
if ($acces=="oui")
à la place de
if ($acces!=oui) ???

Et le mysql_close, il me semble qu'il faut le mettre après le fetch...

Arnaud
0
ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008
9 mars 2005 à 11:49
Salut


Tu doit avoir une BDD avec tes utilisateurs donc un profil spécial pour chaque utilisateur.


Mon idée serait de faire grossomodo la meme chose avec tes download tu attribue un profil pour chaque (plutot un numéro d'ordre) exemple :


Utilisateur profil 1 telecharge tout les application dont le numéro d'ordre est supérieur ou égal à 1
Utilisateur profil 2 telecharge tout les application dont le numéro d'ordre est supérieur ou égal à 2
Utilisateur profil 3 telecharge tout les application dont le numéro d'ordre est supérieur ou égal à 3


Ca peut etre un début de reponse.

Apres tu a aussi des cas particulier des appli que seul certainne personne doivent telecharger la ca se complique fodrait mettre en plus dans la table de profil des application une référence entreprise pour gérer les cas particulier du style quand tas pas de numéros de profils pour ton applis personnes ne la voit (sauf admin bien sur) et l'entreprise qui est noté dans cette case.


Je sais pas si j'ai ete clair.....


Une petite remarque sur le code je sais pas si tu as tout mis ou si c'est juste différent bout de code mis bout à bout mais evite de fermer et d'ouvrir sans arret les balises <? ?> si t'as pas de code html entre. et mieux vaut utiliser <?php ?> pour une compatibilité ascendante.


PS : arnal69130 si destiny n'utilise pas $_COOKIE c'est surement qu'il a une bonne raison moi par exemple ma version de php c'est la 4.0.5 donc le $_COOKIE je me le met sous le bras


++


"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller"
0
Rejoignez-nous