Besoins d'aide pour le PHP

Discutez ici à propos de la conception de pages ou sites web, de la configuration de serveurs, des langages Html, Php, Flash ...
Scanner Windows pour détecter les erreurs de registre

Ce que nous vous conseillons :

1. Lisez les réponses ci-dessous où vous trouverez des conseils et de l'aide de la part des autres utilisateurs.

2. Avant de faire des modifications sur votre système ou d'installer des logiciels, nous vous recommandons
    fortement de cliquer ici pour scanner Windows afin de détecter les erreurs de registre.



Messagepar eexit » 22 Mar 2005, 14:29

Bonjour,
Voila, il y a quelques mois, j'avais demandé si quelqu'un pouvait m'aider pour une fonction mail() !
C'est ok, ça marche :)
Alors aujourd'hui, je voudrai la perfectionner un peu...
Lorsque l'envoie s'est bien déroulée, il ouvre une autre page dans laquelle je voudrai mettre les données qui ont été envoyées... Mais comment faire ?

Voila la page de formulaire:
Code: Tout sélectionner
//debut de page en html
<?
if(isset($_POST['pseudo'], $_POST['adresse'], $_POST['about'], $_POST['message'])){

$de=$_POST['pseudo'];
$adr=$_POST['adresse'];
$vers="******@****";
$titre=$_POST['about'];
$msg="De la part de ".$_POST['pseudo']." (".$adr.") : ".$_POST['message'];

if(@mail($vers,$titre,$msg)){
include("post_mail.html");
}
else{
include("post_mail_error.html");
}
}
else{
?>
//formulaire + fin de page en html
<?
}
?>

Voila la page de résultat (post_mail.html)
Code: Tout sélectionner
//debut de page en html
<br><br>Pseudo:
<br>Mail:
<br>Sujet:
<br>Message:
//fin de page en html

(C'est une simple page sans rien dedans (enfin aucun code PHP)).

Je voudrai savoir comment faire pour avoir le contenu du formulaire sur la page de résultat...

Merci beaucoup de votre aide.
eexit
 
Messages: 899
Inscrit le: 17 Aoû 2004, 16:04
Localisation: Lille, France

Messagepar JoShuA » 22 Mar 2005, 14:35

Bonjour,

essaye ca


post_mail.html
Code: Tout sélectionner
<?
echo "<br><br>Pseudo:$de<br>Mail:$adr<br>Sujet:$titre<br>Message:$msg";
?>
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Messagepar eexit » 22 Mar 2005, 14:42

Merci beaucoup JoShuA !
Image
eexit
 
Messages: 899
Inscrit le: 17 Aoû 2004, 16:04
Localisation: Lille, France

Messagepar eexit » 26 Mar 2005, 19:18

Est-il possible d'envoyer une page contenant le message ?
Seulement, j'ai essayé de modifier plusieurs fois ce code:
Code: Tout sélectionner
$msg="De la part de ".$_POST['pseudo']." (".$adr.") : ".$_POST['message'];

Et je n'ai pas réussi... ou alors est-ce:
Code: Tout sélectionner
if(@mail($vers,$titre,$msg))

Je ne sais pas... si c'est vraiment possible... car cela m'arrangerai pas mal si je revevai une page avec le message... avec un petit script qui me faciliterai bien la vie... ;)

Si quelqu'un sait... ce serait super !
Image

Merci beaucoup...

@++:)
eexit
 
Messages: 899
Inscrit le: 17 Aoû 2004, 16:04
Localisation: Lille, France

Messagepar JoShuA » 26 Mar 2005, 19:26

Image
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Messagepar eexit » 26 Mar 2005, 19:36

:D
Désolé !
Voila au lieu de recevoir un simple texte en guise de message, je voudrai que le formulaire m'envoie une page web contenant le message... est-ce possible ?
eexit
 
Messages: 899
Inscrit le: 17 Aoû 2004, 16:04
Localisation: Lille, France

Messagepar JoShuA » 26 Mar 2005, 19:50

Image c'est plus clair ;)
extrait de la doc PHP (RTFM)

How to add multiple attachment to an email:

An email can be split into many parts separated by a boundary followed by a Content-Type and a Content-Disposition.

The boundary is initialized as follows:
<?php
$boundary = '-----=' . md5( uniqid ( rand() ) );
?>

You can attach a Word document if you specify:
<?php
$message .= "Content-Type: application/msword; name="my attachment"n";
$message .= "Content-Transfer-Encoding: base64n";
$message .= "Content-Disposition: attachment; filename="$theFile"nn";
?>

When adding a file you must open it and read it with fopen and add the content to the message:
<?php
$path = "whatever the path to the file is";
$fp = fopen($path, 'r');
do //we loop until there is no data left
{
$data = fread($fp, 8192);
if (strlen($data) == 0) break;
$content .= $data;
} while (true);
$content_encode = chunk_split(base64_encode($content));
$message .= $content_encode . "n";
$message .= "--" . $boundary . "n";
?>

Add the needed headers and send!
<?php
$headers = "From: "Me"<me@here.com>n";
$headers .= "MIME-Version: 1.0n";
$headers .= "Content-Type: multipart/mixed; boundary="$boundary"";
mail('myAddress@hotmail.com', 'Email with attachment from PHP', $message, $headers);
?>
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Messagepar JoShuA » 26 Mar 2005, 19:57

Pour info voici à quoi ressemble le corp d'un email avec fichier attaché en HTML

Code: Tout sélectionner
This is a multi-part message in MIME format.
--------------080203040904010205050506
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit



--------------080203040904010205050506
Content-Type: text/html;
name="message.html"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="message.html"

<html>
Message qui va bien
</html>
--------------080203040904010205050506--

Ne pas oublié ceci dans l'header du mail :
Code: Tout sélectionner
Content-Type: multipart/mixed;
boundary="------------080203040904010205050506"
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Messagepar eexit » 26 Mar 2005, 20:15

Oula oula oula....
Bon ben je vais prendre le temps de Image lire tout ça et je te donne des nouvelles, ok ?
@plus ;)

ps: RTFM... cpa gentil... :|
Dernière édition par eexit le 26 Mar 2005, 20:19, édité 1 fois au total.
eexit
 
Messages: 899
Inscrit le: 17 Aoû 2004, 16:04
Localisation: Lille, France

Messagepar JoShuA » 26 Mar 2005, 20:46

disleur a écrit:ps: RTFM... cpa gentil... :|

Pourquoi ? je te le dis à chaque fois et tu n'en tiens pas compte ... Image Image
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Messagepar eexit » 26 Mar 2005, 21:02

JoShuA a écrit:
disleur a écrit:ps: RTFM... cpa gentil... :|

Pourquoi ? je te le dis à chaque fois et tu n'en tiens pas compte ... Image Image

Sauf que là, j'ai pris la peine de cherché ce que ça voulais dire .... Image
eexit
 
Messages: 899
Inscrit le: 17 Aoû 2004, 16:04
Localisation: Lille, France

Messagepar eexit » 26 Mar 2005, 21:05

Bon sincèrement, je suis perdu et Image
Je ne sais pas où il faut mettre le code... dans quelle page... Image
Et puis, je reçois le mail chez free, alors est-ce que ca va fonctionner ?

Merci Image
eexit
 
Messages: 899
Inscrit le: 17 Aoû 2004, 16:04
Localisation: Lille, France

Messagepar JoShuA » 26 Mar 2005, 21:24

aucun probleme avec Free un mail ca reste un mail ...

regarde l'exemple de contenu de mail que je t'ai donné il suffit de mettre ceci dans le corps de ton message
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Messagepar eexit » 26 Mar 2005, 22:20

Oué mais il y a un truc que je ne comprend pas...
Je fais ma page (celle qui sera à chaque fois envoyée) contenant les données, et dans cette page je met les codes que tu m'a donné ?

Je veux que ce soit bien clair: lorsque l'utilisateur clique sur le bouton "envoyer" de mon formulaire, je veux que le php envoie une page qui contiendra le contenu du formulaire précédement rempli ! La page servira pour tous les mails mais cette page n'est pas la page de résultat du formulaire (comme un gabarit qui se remplirai pour chaque mail)... Et dans cette page, je voudrai ajouter un javascript qui permettrai d'envoyer l'adresse email de l'utilisateur dans le presse-papier lorsque je cliquerai sur son pseudo... en gros, je ne suis pas au bout de mes peines... Image

Mais je sais que je peux y arriver avec ta précieuse aide....

Voila, tu as lu tout mon projet ....

Merci pour ton aide.
eexit
 
Messages: 899
Inscrit le: 17 Aoû 2004, 16:04
Localisation: Lille, France

Messagepar JoShuA » 26 Mar 2005, 22:38

bon je recommence

Voici le corps d'un mail qui contient un fichier HTML attaché ....

Code: Tout sélectionner
This is a multi-part message in MIME format.
--------------080203040904010205050506
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit



--------------080203040904010205050506
Content-Type: text/html;
name="message.html"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="message.html"

<html>
Message qui va bien
</html>
--------------080203040904010205050506--

il faut donc que tu genere le même mail
le corps du mail est passé en 3eme parametres de la fonction mail() comme tu as pu le lire dans la documentation.

Il n'y a pas besoin d'avoir le fichier joint physiquement puisqu'il est créé directement dans le "body" du mail ...

Je suis désolé je ne vois pas comment te l'expliquer autrement et je n'ai pas le temps de te faire le boulot ...
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Suivant

Retour vers Le développement de sites Web

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

  •  Liens commerciaux