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 :

caractere "<" dans une variable


Sujet :

Langage PHP

  1. #1
    Membre actif
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Points : 215
    Points
    215
    Par défaut caractere "<" dans une variable
    Bonjour,
    Je ne comprends pas , lorsque je tente de mettre des balises <> dans une variable , l'"echo" s'arrete lorsqu'il rencontre le caractère "<" .
    En clair , j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $test='l<ul>';
    $header='From: "Louis"<Louis@bxl.be>';
    echo($test."\n".$header);
    J'ai comme résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    l
     
          From: "Louis"
    J'ai déjà travaillé avec du code html dans une variable pourtant..mais c'était une variable javascript :o
    Logiquement ça doit fonctionner n'est-ce pas ? ou alors j'ai encore fais une grosse bêtise que je ne vois pas !

  2. #2
    Membre actif Avatar de Gaara-Manga
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Avril 2007
    Messages : 247
    Points : 239
    Points
    239
    Par défaut
    <ul> est une balise html si tu veux l'afficher tel quel il te faudra l'écrire avec les caractères spéciaux en html ce qui donnera :

    Edit bon même avec les balises code j'arrive pas à les écrires xD

    ^^"

  3. #3
    Membre actif
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Points : 215
    Points
    215
    Par défaut
    Citation Envoyé par Gaara-Manga Voir le message
    <ul> est une balise html si tu veux l'afficher tel quel il te faudra l'écrire avec les caractères spéciaux en html ce qui donnera :

    Edit bon même avec les balises code j'arrive pas à les écrires xD

    ^^"
    Le <ul> est un exemple..
    Pour être exact , j'utilise la fonction mail(..) ..
    Et pour l'Header , je dois avoir quelque chose comme..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $header='From "libuma"<blabla@uhu.com>';

  4. #4
    Membre actif Avatar de Gaara-Manga
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Avril 2007
    Messages : 247
    Points : 239
    Points
    239
    Par défaut
    Perso jcomprend pas pourquoi tu veux mettre un <ul> visible.

    C'est une balise html c'est pas fait pour être visible

    C'est comme si tu voulais qu'un <td></td> sois visible sa n'aurait pas de sens

  5. #5
    Membre actif
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Points : 215
    Points
    215
    Par défaut
    Citation Envoyé par Gaara-Manga Voir le message
    Perso jcomprend pas pourquoi tu veux mettre un <ul> visible.

    C'est une balise html c'est pas fait pour être visible

    C'est comme si tu voulais qu'un <td></td> sois visible sa n'aurait pas de sens
    Lis ce que je t'ai répondu !! lol
    J'ai mis un <ul> à titre exemplatif , j'aurais très bien pu metre <blabla>.
    Mon vrai but est celui ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $nom="...";
    $text="...";
    $header='From "libuma"<blabla@uhu.com>';
    mail($nom,"Test Mail",$text,$header);
    Un truc de ce genre , je n'ai pas le code sous les yeux , j'me suis peut-être ici trompé dans la syntaxe.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 57
    Points : 44
    Points
    44
    Par défaut
    Perso j'arrive à afficher en utilisant cette syntaxe:

    &lt; = <
    &gt; = >
    ce qui donne:

    $header='From "libuma"&lt;blabla@uhu.com&gt;';
    Je sais pas si c'est ce que tu cherchais...

  7. #7
    Membre actif
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Points : 215
    Points
    215
    Par défaut
    Citation Envoyé par Cedrun Voir le message
    Perso j'arrive à afficher en utilisant cette syntaxe:



    ce qui donne:



    Je sais pas si c'est ce que tu cherchais...
    Je vais tester demain et j'te dis quoi , merci en tout cas!
    Bizarre quand même parce que dans mon bouquin ils montrent un truc du genre
    $headers='..<..>...';

  8. #8
    Membre actif
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Points : 215
    Points
    215
    Par défaut
    en passant , voilà ce que j'ai té repêché dans le manuel de php.net :

    [citation]

    Description
    bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

    Envoi un mail.


    Liste de paramètres

    to

    Le ou les destinataires du mail.

    Le formatage de cette chaîne doit correspondre avec la » RFC 2822. Voici quelques exemples :

    * destinataire@example.com
    * destinataire.com, autre_destinataire@example.com
    * Destinataire <destinataire@example.com>
    * Destinataire <destinataire@example.com>, Autre destinataire <autre_destinataire@example.com>


    [/citation]

    Alors pourquoi n'est-ce pas correcte ??

  9. #9
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Bonsoir ..

    Je comprends pas pourquoi vous vous bataillez à coups de echo et de mail. grmbl.
    echo ne s'arrète pas quand il vois un < ou un >, sinon ca serais un peu la fin du monde .. c'est ton navigateur qui les interprète

    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo '<pre>';
    echo htmlentities( $test . "\n" . $header ) ;
    echo '</pre>';
    ( D'ailleurs, ton \n la, n'est visible que dans la source, pas dans ta page, si tu veux ton retour à la ligne c'est un <br /> qu'il faut, mais bon, avec les balises <pre> tu devrais pas avoir besoin de <br> )
    Et la normalement, magie, tes < et > devrais réapparaitre ..

    Je viens de faire un test sur firefox : ( en html tout simple)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <blabla>toto
    Affichage : toto
    ca a rien à voir avec php !
    Ceci dit, un truc que je comprends pas .. si tu cherche à envoyer un mail ... pourquoi tu te bataille avec echo et ton navigateur ?
    Parce que quand tu envoie un mail, généralement, tu en a un peu rien à faire d'afficher tes headers

  10. #10
    Membre actif
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Points : 215
    Points
    215
    Par défaut
    Citation Envoyé par LoveAngel Voir le message
    Bonsoir ..

    Je comprends pas pourquoi vous vous bataillez à coups de echo et de mail. grmbl.
    echo ne s'arrète pas quand il vois un < ou un >, sinon ca serais un peu la fin du monde .. c'est ton navigateur qui les interprète

    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo '<pre>';
    echo htmlentities( $test . "\n" . $header ) ;
    echo '</pre>';
    ( D'ailleurs, ton \n la, n'est visible que dans la source, pas dans ta page, si tu veux ton retour à la ligne c'est un <br /> qu'il faut, mais bon, avec les balises <pre> tu devrais pas avoir besoin de <br> )
    Et la normalement, magie, tes < et > devrais réapparaitre ..

    Je viens de faire un test sur firefox : ( en html tout simple)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <blabla>toto
    Affichage : toto
    ca a rien à voir avec php !
    Ceci dit, un truc que je comprends pas .. si tu cherche à envoyer un mail ... pourquoi tu te bataille avec echo et ton navigateur ?
    Parce que quand tu envoie un mail, généralement, tu en a un peu rien à faire d'afficher tes headers
    Et bien voilà :
    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    if(isset($_GET['type'])) // envoi + confirmation du message
    {
    $msg = $_POST['Itexte'];
    $nom=$_POST['nom'];
    $mail=$_POST['mail'];
    $test='l<ul>';
    $header='From: "Louis"<Louis@bxl.be>';
    /*echo '<pre>';
    echo htmlentities( $test . "\n" . $header ) ;
    echo '</pre>';*/
     mail("monemail@gmail.com","message en provenance de tz shop",$msg,$header);
     echo("message envoyé !");
     
     
    }
    else // formulaire d'envoi
    {
    print('
    <table name="tContact" border="3">
    <form name="fContact" action="index.php?section=contact&type=envoi" method="post">
    <input type="text" name="nom"/>
    <input type="text" name="mail"/>
    <textarea name="Itexte" id="textarea" cols="50" rows"10"></textarea>
    <input type="submit" name="confirm" value="Envoyer"/>
    </form>
    </table>');
    }
    Voilà mon code d'envoi d'email , afin de facilité le test , $header contient un email de test et non pas l'email entré dans le form..
    Et voilà ce que j'obtiens :
    [citation]
    Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\totalezinzin\mod\contact.inc.php on line 16
    [/citation]
    La ligne 16 est ma ligne mail( );
    J'ai regardé un peu dans le php.ini mais avant de trop chippoter ou poster un message à ce sujet inutilement , j'ai voulu vérifier les arguments que je lui passe..
    Et là vu que j'avais du mal à l'afficher , j'me suis dis que l'erreur venait de là..
    C'est peut être une erreur d'avoir voulu le tester comme ceci ?
    Est-ce que le code est bon et alors mon probleme vient de configuration php.ini ?

    Merci de m'éclairer !

  11. #11
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Citation Envoyé par libuma Voir le message
    Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\totalezinzin\mod\contact.inc.php on line 16
    Bonjour !
    Ahem ... solution en 2 secondes : tu as pas de serveur mail actif sur ta machine :/ donc ca n'a strictement rien à voir avec tes headers, il ne les envoye même pas.
    Donc du coup, ton problème est tout autre !
    Tu est sous Windows, donc je sais pas comment on fais pour le serveur mail.
    Le problème étant qu'il te faut un serveur mail pour pouvoir en envoyer, tu as deux choix :
    Va sous linux, je crois que c'est natif
    Sinon, utilisation d'un serveur mail ( genre gmail, free, ... )
    En toute logique, si tu as un site, on va admettre que soit tu utilise linux, et tu devrais pas avoir de souci, soit tu n'utilise pas ton propre serveur, donc, tu as une adresse mail
    Il suffit de récupérer les informations et de les changer dans le php.ini
    Le souci : sur le serveur final si tu ne travaille pas dessus, tu risque de ne pas avoir accès au php.ini -> fonction ini_set( );
    il te reste à changer SMTP par ce que tu as comme serveur smtp dispo ( en général du smtp.server.com )

    Enfin bref, je suis pas spécialiste de la fonction mail( ), qui se retrouve parfois aussi desactivée ou limitée à cause des abus sur les serveurs gratuits ...

    En tout cas, bonne chance !
    Et n'hésite pas si tu comprends pas

    Bonne journée !

  12. #12
    Membre actif
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Points : 215
    Points
    215
    Par défaut
    Citation Envoyé par LoveAngel Voir le message
    Bonjour !
    Ahem ... solution en 2 secondes : tu as pas de serveur mail actif sur ta machine :/ donc ca n'a strictement rien à voir avec tes headers, il ne les envoye même pas.
    Donc du coup, ton problème est tout autre !
    Tu est sous Windows, donc je sais pas comment on fais pour le serveur mail.
    Le problème étant qu'il te faut un serveur mail pour pouvoir en envoyer, tu as deux choix :
    Va sous linux, je crois que c'est natif
    Sinon, utilisation d'un serveur mail ( genre gmail, free, ... )
    En toute logique, si tu as un site, on va admettre que soit tu utilise linux, et tu devrais pas avoir de souci, soit tu n'utilise pas ton propre serveur, donc, tu as une adresse mail
    Il suffit de récupérer les informations et de les changer dans le php.ini
    Le souci : sur le serveur final si tu ne travaille pas dessus, tu risque de ne pas avoir accès au php.ini -> fonction ini_set( );
    il te reste à changer SMTP par ce que tu as comme serveur smtp dispo ( en général du smtp.server.com )

    Enfin bref, je suis pas spécialiste de la fonction mail( ), qui se retrouve parfois aussi desactivée ou limitée à cause des abus sur les serveurs gratuits ...

    En tout cas, bonne chance !
    Et n'hésite pas si tu comprends pas

    Bonne journée !
    Oui , grâce au message de "Gaara-Manga" j'ai réalisé que mon erreur venait bien du serveur mail.. pas de ma programmation (même si je l'ai déjà améliorée pas mal depuis ^^)
    Le truc c'est que oui , je travaille en local donc je ne vais pas me prendre la tête pour configurer tout ça..
    Mais une fois que je l'aurai mis en ligne , qu'est-ce que je vais devoir configurer et avec quelle valeur exactement ?
    Pourriez-vous me dire ceci?

    Merci beaucoup !

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 57
    Points : 44
    Points
    44
    Par défaut
    Ben si t'as louer un hébergement pro pour ton site normalement tu as rien à configurer pour que mail() fonctionne...

    Tu n'as qu'à tester un petit script bidon qui envois un mail pour que tu te rendes compte par toi même de ce qu'il faut faire !

  14. #14
    Membre actif
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Points : 215
    Points
    215
    Par défaut
    Ok ok , merci à tous pour vos réponses

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

Discussions similaires

  1. [AC-2002] Quotes dans une variable
    Par Domi2 dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/06/2009, 16h51
  2. stocker chaîne de caracteres dans une variable
    Par coachbob44 dans le forum Langage
    Réponses: 2
    Dernier message: 11/01/2007, 17h45
  3. quotes dans une variable
    Par requiemforadream dans le forum ASP
    Réponses: 3
    Dernier message: 09/05/2005, 09h55

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