IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Pourquoi le "\n" ne fonctionne pas ?! [Trucs & Astuces]


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de bnadem35
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Points : 54
    Points
    54
    Par défaut Pourquoi le "\n" ne fonctionne pas ?!
    Bonjour !
    Je ne comprend pas pourquoi le "\n" ne fonctionne pas chez mon interprèteur
    Il n'a absolument aucun effet , non plus celui de retour à la ligne
    Merci d'avance de bien vouloir m'accorder de votre temps
    cordialement , MicroMaths

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    C'est parce que tu n'as pas compris à quoi servait PHP (le prend pas mal, c'est simplement un constat )

    PHP ne sert pas à générer ce qui est affiché par le navigateur web...

    PHP sert à générer la réponse faite par le serveur web au navigateur...

    c'est à dire les en-tête du
    protocole HTTP (via la fonction header par exemple) [c'est le protocole qui utiliser entre un serveur et un navigateur web pour les faire dialoguer]
    puis le code HTML, le code JavaScript, éventuellement du CSS... etc...

    donc pour insérer un retour à la ligne à l'affichage, il te faut générer le code HTML qui permettra d'afficher le retour à la ligne...

    c'est à dire : le \n permet d'insèrer un retour à la ligne dans ce qui est généré, c'est à dire dans le code HTML, affiche la source de ta page web générée, tu verras ton retour à la ligne généré par le \n

  3. #3
    Membre du Club Avatar de bnadem35
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Points : 54
    Points
    54
    Par défaut
    Effectivement ! Dans le source l'effet de "\n" est perçu ?!
    Si j'ai bien compris votre explication , une page php ne s'affiche pas KifKif sur Un serveur et Un Navigateur ?! C'est ça ?!

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    une page web est en fait l'interprétation du code HTML/CSS/JS faite par un navigateur, une page web ne s'affiche jamais sur un serveur, toujours sur un navigateur (donc un "client")

    quand tu demandes un document web (clique sur un lien, charge une image, etc...) le navigateur demande le document à un serveur web grâce au protocole HTTP...

    le PHP permet de générer (pour une part) la réponse du serveur, dont la page web... si le document est une page HTML pure ou une image, il est renvoyé tel quel

    si tu n'as aucune notion là dedans, je te conseille de t'y pencher avant de t'attaquer au PHP... au moins avoir une vague idée de ce qu'est & à quoi sert le protocole HTTP, et maitriser le HTML et le CSS (pour le JS faut au moins savoir de quoi ç'a l'air & à quoi ça sert)

  5. #5
    Membre du Club Avatar de bnadem35
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Points : 54
    Points
    54
    Par défaut
    En fait , je comprends ce que vous me dites , et je vous demanderais quel rapport exact ça a avec le point suivant , que je vient de trouver dans la Faq PhP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaineAvecBR = nl2br($chaineSansBR);
    En fait , si ça ne vous dérrange pas , ce que je n'arrive pas à comprendre c'est que j'ai un serveur local , et que l'appel à mon fichier.php se fait par mon navigateur , donc le "\n" devrait etre interpreté entant que saut de ligne par mon serveur Pour ainsi générer un saut de ligne visible !!!
    Je sais qu'il me faudra encore y creuser pour etre mieu documenté , mais il me faut juste un petit éclair sur le sujet pour etre guidé de façon optimale !
    Merci Beaucoup

  6. #6
    Membre éclairé
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Points : 663
    Points
    663
    Par défaut
    Pour faire simple, créé un retour à la ligne dans le code source, et créé un retour à la ligne sur la page web.

    le \n n'a donc aucun effet sur l'affichage de la page, il sert uniquement à améliorer la lisibilité du code source.

  7. #7
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Alors, pour le premier point, la fonction ajoute la balise <br> à chaque saut de ligne, provoquant ainsi le retour à la ligne visible à l'affichage.


    Pour le second point, c'est parce que tu confond machine client/serveur et application client/serveur.

    Dans le cas présent, la machine sur laquelle est située Apache (application serveur) est la même que celle où est située le navigateur (application client)

    donc la machine client et la machine serveur sont confondue, d'où l'appellation "local" pour être précis, il s'agit en fait d'un accès en localhost, c'est à dire hébergement local : il y a communication entre deux application via une Connection Réseau (en l'occurence une connection de type TCP/IP) mais les machines serveur et client sont les même.

    On parle d'accès distant quand les deux machines sont séparées.

    Un accès local pur serait effectué s'il n'y avait pas de connection réseau, exemple : tu charge une page qui est directement sur ton disque dur (double clique sur un fichier .html par exemple)

    Il y a (hélas) parfois confusion entre "accès local" (pas de connexion) et "accès en localhost" (machine client et machine serveur confondues)

    Il n'y a auncune différence de réaction de la part d'Apache ou de ton navigateur du fait de la connection en localhost car la démarche effectuée est exactement la même que pour un accès distant.

  8. #8
    Membre du Club Avatar de bnadem35
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Points : 54
    Points
    54
    Par défaut
    Merci infiniment pour vos explications! Je vous suis très reconnaissant !
    Eric Berger --> Pour le tag [débutant] , je l'ajouterai tout de suite au titre de ce post
    Vous m'avez rendu un grand service , Merci encore !
    Cordialement , MicroMaths

  9. #9
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    De rien, mais documentes-toi sur ce que je t'ai conseillé, si ces notions te manque, tu risque de te retrouver façe à des erreurs ou des comportements dont tu ne connaîtra pas la cause

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/04/2008, 00h45
  2. Réponses: 11
    Dernier message: 02/10/2007, 11h11
  3. Fonction Quoted printable qui ne fonctionne pas.
    Par leCcsympas dans le forum C
    Réponses: 3
    Dernier message: 13/01/2007, 18h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo