Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/01/2011, 00h06   #1
Nouveau Membre du Club
 
Éric
Inscription : mai 2010
Messages : 106
Détails du profil
Informations personnelles :
Nom : Éric

Informations forums :
Inscription : mai 2010
Messages : 106
Points : 30
Points : 30
Par défaut Problème d'envoie de mail (\n)

Bonjour,

j'ai un code qui me permait d'evoyer un mail sous VB.net en appelant un fichier php:

Sur ma form en vb.net:
Code :
1
2
3
4
5
6
7
8
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim mailcorps As String
        mailcorps = Replace(TextCorps.Text, Chr(10), "\n")
 
        mailcorps = "message=" & mailcorps
 
        WebBrowser1.Navigate("http://www.example.com/mailsending.php?" & mailcorps)
    End Sub
et dans "mailsending.php" :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<html>
<BODY>
 
<?php
 $to = "example@hotmail.com";
 $subject = "Test";
 $message = $_GET['message'] ;
 
 if (mail($to, $subject, $message)) {
echo("<p>Message envoyé.</p>");
  } else {
   echo("<p>Un problème est survenu lors de l'envois du message...</p>");
  }
 ?>
</BODY>
</html>
Le problème concerne les nouvelles lignes (Enter).
Lorsque je reçois le mail, au lieu d'obtenir ceci
Citation:
Boujour
Test
j'obtiens cela:
Citation:
Bonjour\\nTest
Savez-vous comment régler ce problème?

Merci d'avance.
Eric_M est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2011, 00h10   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
normale tu fais :
Code :
mailcorps = Replace(TextCorps.Text, Chr(10), "\n")
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2011, 00h43   #3
Nouveau Membre du Club
 
Éric
Inscription : mai 2010
Messages : 106
Détails du profil
Informations personnelles :
Nom : Éric

Informations forums :
Inscription : mai 2010
Messages : 106
Points : 30
Points : 30
Si je ne fais pas cette ligne de code, il va simplement supprimer les Enter.
J'ai besoin de voir les Enter.

J'ai aussi remarqué que quand j'écris un ' (ex.: j'ai), ça me donne \'
Eric_M est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2011, 01h47   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par Eric_M Voir le message
Si je ne fais pas cette ligne de code, il va simplement supprimer les Enter.
J'ai besoin de voir les Enter.

J'ai aussi remarqué que quand j'écris un ' (ex.: j'ai), ça me donne \'
c'est pas \n mais %0A si tu veux faire un saut de ligne via GET, pour le \' ca vient que les magic_quote sont activé sur PHP, sois tu les déactive, sois tu fait un stripslashes (je te conseil la 1er option), tu devrais plutot utiliser POST que GET, il faudrais d'ailleur que toute ta valeur soit encoder suivant la norme RFC 3986 avec Uri.EscapeDataString
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2011, 03h01   #5
Nouveau Membre du Club
 
Éric
Inscription : mai 2010
Messages : 106
Détails du profil
Informations personnelles :
Nom : Éric

Informations forums :
Inscription : mai 2010
Messages : 106
Points : 30
Points : 30
Citation:
Envoyé par stealth35 Voir le message
c'est pas \n mais %0A
Merci beaucoup, ça fonctionne maintenant.
Pour un ' et un &, c'est quoi les codes (s'ils existent)

Citation:
Envoyé par stealth35 Voir le message
si tu veux faire un saut de ligne via GET, pour le \' ca vient que les magic_quote sont activé sur PHP, sois tu les déactive,
Comment on désactive ça?

Citation:
Envoyé par stealth35 Voir le message
tu devrais plutot utiliser POST que GET,
Pour utiliser POST, on ne fait que changer $erreur = $_GET['erreur'] ; pour $erreur = $_POST['erreur'] ;?
Si c'est cela, ça ne marche pas pour moi.

Citation:
Envoyé par stealth35 Voir le message
il faudrais d'ailleur que toute ta valeur soit encoder suivant la norme RFC 3986 avec Uri.EscapeDataString
Quand j'utilise Uri.EscapeDataString() (Avec GET), il n'y a pas de texte.
Eric_M est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2011, 03h31   #6
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

Citation:
Envoyé par Eric_M
Pour un ' et un &, c'est quoi les codes ?
& = %26

' = %27
Citation:
Envoyé par Eric_M
Citation:
Envoyé par stealth35
pour le \' ca vient que les magic_quote sont activé sur PHP, sois tu les déactive, sois tu fait un stripslashes (je te conseil la 1er option)
Comment on désactive ça ?
Voir la documentation PHP Désactiver les guillemets magiques

Citation:
Envoyé par stealth35
tu devrais plutot utiliser POST que GET
+1

Citation:
Pour utiliser POST, on ne fait que changer $erreur = $_GET['erreur'] ; pour $erreur = $_POST['erreur'] ; ?
Pour la récupération des données oui.

Par contre, concernant l'envoi de ces données en utilisant la méthode POST avec VB.NET, je ne saurais te répondre... Je ne connais pas ce langage.
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2011, 04h10   #7
Nouveau Membre du Club
 
Éric
Inscription : mai 2010
Messages : 106
Détails du profil
Informations personnelles :
Nom : Éric

Informations forums :
Inscription : mai 2010
Messages : 106
Points : 30
Points : 30
Merci beaucoup à vous deux!

Tout semble bien fonctionner. Par contre, j'utilise GET (POST ne semble pas fonctionner...)

Les enter et les & s'affiche, sauf les ' (\') et les \ (\\)
Remplacer les ' par des %27, ça m'affiche %27 au lien de '
Sinon je peut les remplacer par des ` qui se resemble (' et `)
Eric_M est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h45.


 
 
 
 
Partenaires

Hébergement Web