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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de bnadem35
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 134
    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 confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    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
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Membre confirmé Avatar de bnadem35
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 134
    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 confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    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)
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  5. #5
    Membre confirmé Avatar de bnadem35
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 134
    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 chevronné
    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 : 49
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    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 confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    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.
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

+ 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