LA GLOBULE

Inscris le 25/09/2002 à 10:40
  • Site web
  • Nombre de sujets
    47
  • Nombre de messages
    8 345
  • Nombre de commentaires
    142
  • Nombre de news
    8 346
  • Niveau en PHP
    Excellent

Ses derniers messages sur les forums

LA GLOBULE
le 20/06/2003 à 13:23
Mail avec piece jointe
Utilises PHPMailer : tu peux tout faire comme avec ton OutLook (envoie de mail simple, des cc, des cci, des pieces jointes, etc....).
LA GLOBULE
le 20/06/2003 à 12:26
Mail avec piece jointe
L'envoie de mail avec pièce jointe est une chose super complexe.

Perso je l'ai fait pour des fichiers images.

FICHIER INDEX.PHP

<html>
<head>
<title>Formulaire</title>
</head>

<body>

&nbsp;&nbsp;&nbsp;&nbsp;<b><u>Formulaire</u> :</b><br><br>

<table>
<form action="./traite_formulaire.php" method="post" enctype="multipart/form-data">
<tr><td align="right">Votre nom : </td><td><input type="texte" name="nom" maxlength="40"></td></tr>
<tr><td align="right">Votre @ Email : </td><td><input type="texte" name="email" maxlength="125"></td></tr>
<tr><td align="right">Titre de votre message : </td><td><input type="texte" name="titre" maxlength="60"></td></tr>
<tr><td valign="top" align="right">Corps de votre message : </td><td><textarea name="corps" cols="50" rows="10">
</textarea></td></tr>
<tr><td align="right">Votre fichier image : </td><td><input name="fichier" type="file"></td></tr>
<tr><td>&nbsp;</td><td><br><br><input type="submit" name="ok" value="Soumettre"></td></tr>
</table>
<!— le value qui suit sert à définir la taille maximale du fichier que l'on pourra uploadé -->
<input type="hidden" name="MAX_FILE_SIZE" value="102400">
</form>

</body>
</html>

FICHIER TRAITE_FORMULAIRE.PHP

<?
// **************
// CONFIGURATION
// **************

$destinataire = "la_globule@noos.fr"; // adresse email de celui qui va rececoir le mail du visiteur

$objet = "Objet du mail"; // objet du mail qui sera envoyé à l'adresse juste au-dessus

$max_size = 100000; // Taille maximale du fichier image que l'on pourra uploade

// Contenu du mail qui sera envoyé (il s'agit en fait d'une pahe html tout conne contenant les informations du formulaire)
$message = '<html>';
$message .= '<head>';
$message .= '<title>Remplissage du formulaire par un client</title>';
$message .= '</head>';
$message .= '<body>';
$message .= '<b><u>Nom du contact</u> :</b> '.$nom.'<br>';
$message .= '<b><u>@ mail du contact</u> :</b> '.$email.'<br><br>';
$message .= '<b><u>Titre de son article</u> :</b> '.$titre.'<br><br>';
$message .= '<b><u>Corps de son message</u> :</b><br><br>'.$corps;
$message .= '</body>';
$message .= '</html>';


// **********************
// LE SCRIPT EN LUI MEME
// **********************

function email_OK ($email) {
$test_mail=eregi('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$',$email);
if ($test_mail) {
list ($login, $domaine) = split ("@", $email,2);
/*
if (checkdnsrr ($domaine, "MX")) {
return TRUE;
}
else {
return FALSE;
}
*/
return TRUE;
}
else {
return FALSE;
}
}

if (empty($fichier)) {
echo '<body onLoad="alert(\'Aucun fichier de sélectionné...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
exit;
}
else if ($nom == "") {
echo '<body onLoad="alert(\'Le mot de passe est vide...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
exit;
}
else if ($email == "") {
echo '<body onLoad="alert(\'Aucune adresse E-amil de saisie...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
exit;
}
else if ($titre == "") {
echo '<body onLoad="alert(\'Votre titre est vide...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
exit;
}
else if ($corps == "") {
echo '<body onLoad="alert(\'Le corps de votre message est vide...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
exit;
}
else if ($fichier_size > $max_size || $fichier_size == 0) {
echo '<body onLoad="alert(\'La taille du fichier est incorrecte...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
exit;
}
else if (!$fichier || $fichier == "none") {
echo '<body onLoad="alert(\'La format du fichier est incorrect...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
exit;
}
else if (strpos($fichier_name,"\\") || strpos($fichier_name, "/")) {
echo '<body onLoad="alert(\'La format du fichier est incorrect...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
exit;
}
else if (!stristr($fichier_name, ".jpg") && !stristr($fichier_name, ".jpeg") && !stristr($fichier_name, ".gif")) {
echo '<body onLoad="alert(\'La format du fichier est incorrect...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
exit;
}
else if (!stristr($fichier_type, "gif") && !stristr($fichier_type, "pjpeg") && !stristr($fichier_type, "plain")) {
echo '<body onLoad="alert(\'La format du fichier est incorrect...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
exit;
}
else if (file_exists("./$fichier_name")) {
echo '<body onLoad="alert(\'Le fichier existe déjà. Choisissez-en un autre...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
exit;
}
else {
if (email_OK($email)) {
$corps = stripslashes ($corps);
$corps = nl2br ($corps);

$boundary = "-----=".md5(uniqid(rand()));

$header = "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$header .= "\r\n";

$msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";
$msg .= "--$boundary\r\n";
$msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
$msg .= "Content-Transfer-Encoding:8bit\r\n";
$msg .= "\r\n";
$msg .= $message."\r\n";
$msg .= "\r\n";

$fp = fopen($fichier, "rb");
$attachment = fread($fp, filesize($fichier));
fclose($fp);

$attachment = chunk_split(base64_encode($attachment));

$msg .= "--$boundary\r\n";
$msg .= "Content-Type: image/gif; name=\"$file\"\r\n";
$msg .= "Content-Transfer-Encoding: base64\r\n";
$msg .= "Content-Disposition: attachment; filename=\"$file\"\r\n";
$msg .= "\r\n";
$msg .= $attachment . "\r\n";
$msg .= "\r\n\r\n";
$msg .= "--$boundary--\r\n";

mail($destinataire, $objet , $msg, "Reply-to: $email\r\nFrom: $email\r\n".$header);

echo '<body onLoad="alert(\'Merci pour votre contribution...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
exit;
}
else {
echo '<body onLoad="alert(\'Votre adresse email est invalide...\')">';
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
exit;
}
}
?>


Toutefois, je te conseille d'utiliser une classe qui a été developpée spécialement pour çà (PHPMailer par exemple).
LA GLOBULE
le 20/06/2003 à 12:22
question de debutant
Ouaip, Lamou a bien résumé la différence.

J'ajouterais que l'envoie de données par la méthode GET est limité (une URL ne peut pas etre aussi longue que l'on veut), alors que pour la méthode POST, cette limite est définie dans un fichier, je ne sais plus où...
LA GLOBULE
le 20/06/2003 à 11:01
EasyPHP
Consultes la FAQ d'EasyPHP.

Ptet qu'ils parlent de ton problème...
LA GLOBULE
le 20/06/2003 à 01:08
formulaire
<input type="text" name="toto" value="<?php echo $valeur; ?>">


Et comme çà ?
LA GLOBULE
le 20/06/2003 à 00:10
formulaire
Ben au lieu de faire un echo dans ta page web, fais ton echo dans la propriete value de ton champ texte.

Non ?
LA GLOBULE
le 19/06/2003 à 12:26
l'inverse...
! est un opérateur logique.
Il represente le NON en logique.

En clair si A est vrai, alors NON A sera faux.

Donc si $var est TRUE, !$var sera FALSE.

(Ce n'est pas vraiment une histoire d'inverse, mais plutot d'opposé).
LoadingChargement en cours