October 31, 200520 yr Bonjour à tous, je rencontre actuellement un petit probleme en PHP. Je voudrais mettre tout le code d'une page dans un echo. Exemple: <?php session_start(); if($_SESSION['nom']=='admin') { echo(" <html> <body> <?php echo("Coucou"); ?> </body> </html> "); } else { echo("Vous n'avez pas les droits pour accéder à cette page"); } ?> Le probleme que je rencontre, c'est que dans mon echo général, j'ai des plus petits echo ... je ne sais pas si je suis clair. Donc, dès que mon premier echo rencontre le signe ", il pense qu'il est terminé alors qu'il ne l'est pas. J'ai essayé de remédier à cela en utilisant le " mais ca ne marche pas non plus, il me met une erreur par exemple à la ligne @$query="SELECT * FROM client ORDER BY nom,prenom"; si je mets @$query="SELECT * FROM client ORDER BY nom,prenom"; il me mets une erreur ... comment faire svp ?
October 31, 200520 yr Salut, essaye de mettre des slashs ( \ ) devant tes guillemets, au moins il sera pris pour un caractère et pas pour une fermeture de phrase. @+
October 31, 200520 yr [...] et avec des \" à la place des " ? enfin moi je comprends pas trop la raison des echo dans les echo ?
October 31, 200520 yr enfin moi je comprends pas trop la raison des echo dans les echo ? je pense que c'est pour pouvoir afficher un code PHP sur une page html....enfin j'peux m'tromper
October 31, 200520 yr je pense que c'est pour pouvoir afficher un code PHP sur une page html....enfin j'peux m'tromper tiens j'avais même pas vu ton poste sinon si c'est pour l'afficher sans l'interpreter faut utiliser htmlentities()
October 31, 200520 yr Marche pas non plus le \"Oui c'est pour afficher du php dans du html en gros tu veux avoir ça d'afficher ? <?php echo("Coucou"); ?> donc tu dois faire ça : <? echo "<html>\n<body>"; echo (htmlentities(" <?php echo(\"Coucou\"); ?> ")); echo "</body>\n</html>"; ?>
October 31, 200520 yr Si j'ai bien compris, il te suffit de fermer ta balise php, puis d'écrire le code de ta page. J'ai repris ton exemple : <?php session_start(); if($_SESSION['nom']=='admin') { ?> <html> <body> <?php echo("Coucou"); ?> </body> </html> <?php }//on ferme le if else { echo("Vous n'avez pas les droits pour accéder à cette page"); } ?> Ici cela affichera donc "Coucou" si le nom de session est "admin" sinon "Vous n'avez pas les droits pour accéder à cette page".
October 31, 200520 yr Author Si j'ai bien compris, il te suffit de fermer ta balise php, puis d'écrire le code de ta page. J'ai repris ton exemple : <?php session_start(); if($_SESSION['nom']=='admin') { ?> <html> <body> <?php echo("Coucou"); ?> </body> </html> <?php }//on ferme le if else { echo("Vous n'avez pas les droits pour accéder à cette page"); } ?> Ici cela affichera donc "Coucou" si le nom de session est "admin" sinon "Vous n'avez pas les droits pour accéder à cette page". Ca maaaaarche Un grand merci à toi et à tous ceux qui m'ont aidé à résoudre ce problème
October 31, 200520 yr Je pense qu'il serait plus simple de faire l'inverse : 0. ouvrir un bloc PHP 1. tester si l'utilisateur a les droits 2. s'il n'a pas les droits, afficher le message, puis utiliser exit() pour arrêter l'interprétation de la page 3. fermer le bloc PHP 4. afficher du HTML pur, pour afficher la page normalement. Ainsi, plus de problème d'écho dans des échos dans du PHP !
Archived
This topic is now archived and is closed to further replies.