[RESOLU] retour à la ligne

Eléphanteau du PHP | 20 Messages

05 juil. 2019, 16:33

Bonjour,

Vous allez me dire que le sujet à déjà été traité 1000 fois, mais je pose quand même la question sachant que.......
Je précise à tout hasard que je débute et que je suis les cours PHP de Grafikart.

Code : Tout sélectionner

<?php $notes = [10,15,18,7,9]; foreach ($notes as $note) { echo "- $note \n"; } ?>
Mon éditeur est visual, mon serveur uWamp v 3.1.0 et mon navigateur Opera 62.0.3331.43.
J'ai essayé avec un autre navigateur mais c'est pareil, les retours à la ligne ne se font pas.

D'où peut venir le problème du non retour à la ligne sachant que j'ai bien mis un double quote, donc \n doit bien être interprété.

Merci pour votre aide...

Eléphant du PHP | 337 Messages

05 juil. 2019, 19:14

Si tu veux en retour à la ligne en HTML, il faut mettre la balise "<br>" au lieu du \n.
Ou alors, utiliser la fonction php nl2br() qui convertit les retours chariots en balises <br>.

Eléphanteau du PHP | 20 Messages

05 juil. 2019, 19:49

Merci cela fonctionne très bien mais je ne comprends pas pourquoi mon \n n'est pas interprété par mon serveur uWamp (qui est à jour sur sa dernière version) et qui utilise PHP v7.0.3...

Mammouth du PHP | 1967 Messages

06 juil. 2019, 12:17

il est surement interprété si tu regarde le code source mais c'est le navigateur qui ne s'en soucie pas.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 20 Messages

07 juil. 2019, 08:41

Bonjours,

Quelque soit le navigateur utilisé, je n'ai pas de saut à la ligne.
Même ce code ne fonctionne pas

Code : Tout sélectionner

$nb=(int)readline('Saisir un nombre : ');

J'ai désinstallé uWamp et installé Wamp, mais cela n'y change rien.
J'ai l'impression que c'est mon pc qui déconne... #-o

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

07 juil. 2019, 12:02

Si tu es dans un navigateur web, alors il faut que tu fasses un saut à la ligne avec une balise HTML, c'est à dire en utilisant la balise <br>

Si tu es en ligne de commande, ou en train de générer un fichier au format texte (avec la bonne entête de Content-type: text/plain), alors tu dois utiliser le caractère de nouvelle ligne \n pour Unix, \r\n pour Windows, \r pour MacOS<X
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 20 Messages

08 juil. 2019, 15:13

Voici mon code (fichier cours.php situé à la racine de mon serveur dans le dossier www) :

Code : Tout sélectionner

<!DOCTYPE html> <html> <head> <title>Titre de la page</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" type="text/css" href="index.css" /> </head> <body> <!--Haut de page--> <header> </header> <!--Contenu principal--> <main> <?php <?php $notes = [10,15,18,7,9]; foreach ($notes as $note) { echo "- $note \n"; } ?> </main> <!--Pied de page--> <footer> </footer> </body> </html>
Suis-je obligé d'écrire

Code : Tout sélectionner

echo "- $note"; echo "<br>";
ou alors

Code : Tout sélectionner

echo "- $note <br>";
à la place de

Code : Tout sélectionner

echo "- $note \n";
?
Modifié en dernier par hars le 08 juil. 2019, 15:25, modifié 1 fois.

Mammouth du PHP | 2703 Messages

08 juil. 2019, 15:23

echo "- $nom est dans la classe de $class.<br>";
fait aussi l'affaire.

Eléphanteau du PHP | 20 Messages

08 juil. 2019, 15:28

OK, merci.
Pardon, je me suis trompé de code...

C'est étrange de voir des cours (graphikart) en vidéo et que cela fonctionne pour eux mais pas quand on le fait en perso chez soit.

Bref, je ferai ainsi la prochaine fois.

Merci encore pour votre aide à tous...