Pb syntaxe echo + liens sécurisés

Eléphanteau du PHP | 24 Messages

21 janv. 2012, 16:34

Bonjour à tous,

je suis donc débutant en PHP, je me suis lancé dans la création d'un site qui jusque là fonctionne bien...

Mais en ce moment je rencontre le problème suivant :

J'ai utilisé des sessions privées avec login et mot de passe, elle me donnent accès à certaine page.

Le code PHP adéquate est sur les pages concernées et les liens sont les suivant :

href="ma_page.php?page=ma_page2&id=<? echo "$id"; ?> (j'utilise ce code pour remplacer les frames d'ou le ma_page et ma_page2...)

MON PROBLÈME : Je souhaite afficher des liens différents en fonction de la présence d'un utilisateur autorisé ou non...et la c'est le drame...la syntaxe m’échappe !

Je note ce ci :

<? if(empty($pseudo_membre)) {echo '---';} else{ echo $url= '<a href="http://mon_site.fr/ma_page.php?page=ma_page2&id=<? echo "$id"; ?>">Modifier Profil</a>';}?>

---> EN GROS : Si utilisateur non autorisé afficher "---" et si autorisé afficher le liens sécurisé...

Est ce possible de faire ce "menu personnalisé" ou non?
Si oui est-ce la bonne solution et quelle syntaxe adopter ?

Merci d'avance, en espérant avoir été le plus clair possible !

ViPHP
xTG
ViPHP | 7331 Messages

21 janv. 2012, 17:27

Déjà attention aux short_tags ! C'est <?php et non <?
Ensuite ton problème vient du fait que tu affiches le résultat d'une opération... Et non la valeur de la variable.
Dans ton cas ce n'est pas :
echo $url = '.......';
mais :
echo '.....';
qu'il faut faire.

Eléphanteau du PHP | 24 Messages

22 janv. 2012, 13:45

Bonjour,

merci tout d'abord pour ta réponse rapide !

Hélas j'ai fait tes modif mais cela ne marche toujours pas...

Donc ma ligne était :

<? if(empty($pseudo_membre)) {echo '---';} else{ echo $url= '<a href="http://xxxxx.fr/xxxxx.php?page=xxxxx&id=<? echo "$id"; ?>">Modifier Profil</a>';}?>

--> Cela me donne sur ma page un lien : ">Modifier Profil qui me déconnecte automatiquement de la session...

Avec ta modif je tape donc (si j'ai bien compris :

<?php if(empty($pseudo_membre)) {echo '---';} else{ echo '<a href="http://xxxxx.fr/xxxxx.php?page=xxxxx&id=<? echo "$id"; ?>">Modifier Profil</a>';}?>

--> Cela me donne encore une fois sur ma page un lien : ">Modifier Profil qui me déconnecte automatiquement de la session...

ViPHP
xTG
ViPHP | 7331 Messages

22 janv. 2012, 15:28

Ah oui j'avais pas vu l'autre echo...
echo '<a href="http://xxxxx.fr/xxxxx.php?page=xxxxx&id=<? echo "$id"; ?>">Modifier Profil</a>';
On ne met pas un affichage dans un affichage. ;)

Pour résumer, ceci est un incorrect :
<?php
$var = "test";
echo 'test <?php echo $var; ?> test';
?>
Ceci est correct :
<?php
$var = "test";
echo 'test ' . $var . ' test';
?>

Eléphanteau du PHP | 24 Messages

22 janv. 2012, 16:00

Ok mais en fait le <? echo "$id"; ?> sert à ajouter une série de lettre permettant la validation ou non de l'authentification, cette série de lettre change à chaque authentification...

Je n'ai sais pas si ta solution peut s'appliquer à mon cas au final...

Pourrais tu appliquer ta solution sur mon code ?


Merci

ViPHP
xTG
ViPHP | 7331 Messages

22 janv. 2012, 20:04

C'est exactement ce que je t'ai présenté.
Si tu n'es pas capable de comprendre mon post je te recommande vivement de lire des cours sur le PHP. :/
Car c'est aussi basique que de savoir que la lettre B se trouve après la lettre A.

Ne vois-tu pas la relation entre ton code et mes exemples ? Il n'y a que le nom de la variable et le texte qui change.

Eléphanteau du PHP | 24 Messages

22 janv. 2012, 21:02

Merci de te soucier de mes acquis !

C'est bon ça marche.

Merci