ton idée est pas mal, par contre la redirection sur le_script_ftp.php bas ca va pas etre possible vu que je l'ai foutu dans la meme page que l'envoie du mail.
bon voila comment ca s'articule :
accueil.php = > page d'authentification
en fonction du privilege :
admin => redirection accueilAdmin
user => redirection accueilUser ==> page qui contient formulaire_envoie_de_document.php (avec la connexion au ftp et l'envoie de mail)
client => redirection accueilClient =>> page contenant le meme formulaire que pour user
voici le code de la page formulaire_envoie_de_document :
<?php
session_start(); // On relaye la session
if ($_SESSION['authentification'])
{ // vérification sur la session authentification (la session est elle enregistrée ?)
// ici les éventuelles actions en cas de réussite de la connexion
}
else {
header("Location:accueil1.php?erreur=intru"); // redirection en cas d'echec
}
?>
<?php
// ---------------------------------- editer ici ---------------------------------
// Le chemin complet ou seront stocké les fichiers Uploadé.
$up_full = "ftp://XXX.XXX.XXX.XXX";
// Le chemin du dossier
$up_dir = "/test/";
// Le nombre de fichiers qu'il est possible d'Uploader
$UploadNum = "1";
//Le titre de votre site
$titresite = "un titre au pif";
//Adresse de la page d'acceuil
$siteadresse = "http://127.0.0.1/monsite/Test2/accueilUser.php";
//Insérer une image en haut du formulaire
//L'images peut être stocké à la racine ou dans un dossier Exemple:
//Racine ou même dossier que le formulaire: logo.JPG
//Dossier: images/logo.JPG
//$insertimghaut = "/test/images/logo.gif";
//Ne rien changer ici
$online_isp = "0";
// --------------------------------------------------------------------------------- //
function unique_id()
{
$taille = 6;
$new_pass = '';
$lettres = "abcdefghijklmnpqrstuvwxyz123456789";
srand(time());
for ($i=0;$i<$taille;$i++)
{
$new_pass.=substr($lettres,(rand()%(strlen($lettres))),1);
}
define("timer", $new_pass);
}
if(isset($_POST["submit"]))
{
// ------------------------ Vérification du formulaire -------------------------
$to = trim($_POST['to']);
$From =trim($_POST['From']);
$Name = htmlspecialchars(trim($_POST['Name']));
$Prenom = htmlspecialchars(trim($_POST['Prenom']));
$Nada = '';
$Msg = $_POST['Msg'];
if(empty($to))
{
$Nada.="Veuillez renseigner votre adresse Email!
";
}
if(empty($From))
{
$Nada.="Veuillez renseigner l'adresse Email du destinataire!
";
}
if(empty($Msg))
{
$Nada.="Veuillez inscrire un Message !
";
}
if(empty($Name))
{
$Nada.="Veuillez renseigner votre Nom!
";
}
if(empty($Prenom))
{
$Nada.="Veuillez renseigner votre Prenom!
";
}
$noway = "$Nada" ;
if(empty($Nada) &&
preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$From))
{
$ok = TRUE;
}
elseif(!empty($Nada) &&
preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$From))
{
$ok = FALSE;
}
if(empty($Nada) &&
preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$to))
{
$ok = TRUE;
}
elseif(!empty($Nada) &&
preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$to))
{
$ok = FALSE;
}
else
{
$ml = "Email invalide !
";
$ok = FALSE;
}
// ------------------------------------------------------------------------- //
// ----------------------------- Système d'upload ------------------------------ //
//Options
$nom = 'Fichier';
$maxsize = 5*1024*1024*1024;
//extension à rajouter ci besoin
$extensions = array( 'jpg' , 'jpeg' , 'gif' , 'pptx', 'ppsx' , 'png', 'bmp' , 'exe' , 'doc', 'xls' , 'ppt' , 'pps' , 'txt' , 'zip' , 'rar' , 'pdf' , 'dxf' , 'dwg' , 'avi' , 'wma' , 'flv');
$status='';
$fichier='';
$ftp_server = "XXX.XXX.XXX.XXX";
$ftp_user_name=$_SESSION['login'];
$ftp_user_pass= $_SESSION['pass']; //probleme le mdp et crypté dans $_session or le compte ftp a besoin du mdp en clair...
//Messages
$ferrors = array('',
1 => "Le fichier téléchargé excède la taille de upload_max_filesize, configurée dans le php.ini.",
2 => "Le fichier téléchargé excède la taille de MAX_FILE_SIZE, qui a été spécifiée dans le formulaire HTML.",
3 => "Le fichier n'a été que partiellement téléchargé. ",
4 => "Aucun fichier n'a été téléchargé. ",
6 => "Un dossier temporaire est manquant.",
7 => "Échec de l'écriture du fichier sur le disque.",
8 => "Une extension PHP a arrété l'envoi de fichier. PHP ne propose aucun moyen de déterminer quelle extension est en cause. L'examen du phpinfo() peut aider.",
);
//Prioriétés
if(!empty($_FILES[$nom])){
$extension = strtolower( substr( strrchr($_FILES[$nom]['name'], '.') , 1) );
}
//Vérifications
if(empty($_FILES[$nom]))
{
?>
<?php
}
elseif ($_FILES[$nom]['error']>0)
{
echo $ferrors[$_FILES[$nom]['error']];
}
elseif($_FILES[$nom]['size'] > $maxsize)
{
echo "Le fichier a une taille de ".$_FILES[$nom]['size']." octets, supérieur à la limite de $maxsize octets.";
}
elseif(!in_array($extension,$extensions))
{
echo "L'extension du fichier n'est pas acceptée.";
}
//Trasnfert sur le FTP
elseif(!($conn_id = ftp_connect($ftp_server)))
{
echo "Impossible de se connecter au serveur FTP.";
}
elseif(!ftp_login($conn_id, $ftp_user_name, $ftp_user_pass))
{
echo "Impossible de se logger au FTP.";
}
elseif(!ftp_put($conn_id, $_FILES[$nom]['name'] , $_FILES[$nom]['tmp_name'] , FTP_BINARY))
{
echo "Impossible de transférer le fichier";
}
else
{
$fichier=$_FILES[$nom]['name'];
$status="Fichier transférer avec succès";
//On peut éventuellement supprimer le fichier local
//unlink($path.$_FILES[$nom]['name']);
ftp_close($conn_id);
}
// ------------------------------------------------------------------------- //
// ----------------------------- Envoi du mail ------------------------------ //
// L'adresse à laquelle le formulaire sera envoyé.
unique_id();
if($ok == "TRUE")
{
$dest=$From;
ini_set("sendmail_from", $dest);
$referer = $_SERVER["HTTP_REFERER"];
$subject = "Envoi de document";
$body="\n------------\n\n";
$champs array ('Nom de l\'expediteur'> $Name, 'Prenom de l\'expediteur' => $Prenom, 'Message' => $Msg);
foreach($champs as $key => $val)
{
$body.="$key : $val \n\n";
}
$body.="\n\n";
$body.="Upload : $status\n\n";
$body.="$up_full/$fichier\n\n";
$body.="------------------------\n";
$body = strip_tags(stripslashes($body));
if($online_isp == "1")
{
if(!email("feedback",$dest,$sujet,$sujet,$body))
{
print "Une erreur c'est produite durant l'envoi du mail.
";
}
}
else
{
$header = 'From: '.$to . "\r\n" .
'Reply-to: From: '. $to . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if(!mail($dest, $subject, $body, $header ))
{
print "Une erreur c'est produite durant l'envoi du mail.
";
}
}
// ------------------------------------------------------------------------- //
// ---------------------------- Message d'envoi avec Succes ---------------------------- //
?>
<html>
<head>
<title>Media6 - Message envoyé!</title>
</head>
" border="0" alt="Media6">
<center>
<table width="550" border="0" cellspacing="1" cellpadding="2">
----,
Votre message a bien été envoyé.
<?php echo $status;
echo $fichier;
?>
Nouvel envoi
</td>
</td>
</tr>
</table>
</center>
</html>
<?php
}
// ------------------------------------------------------------------------- //
else
{
// ----------------------------- Message en cas d'erreur ----------------------------- //
?>
<html>
<head>
<title>Media 6 - Erreur durant l'envoi!</title>
</head>
" border="0" alt="Media6">
<center>
<table width="550" border="0" cellspacing="1" cellpadding="2">
----,
<?php echo $noway; echo $ml; echo $statut;?>
Une erreur c'est produite durant l'envoi de votre message.
Réessayer une seconde fois.
-Retour-
</td>
</td>
</tr>
</table>
</center>
</html>
<?php
// ------------------------------------------------------------------------- //
}
}
else
{
$num = 0;
$upload_box = '';
while($num < $UploadNum)
{
$num++;
$upload_box.= "<tr><td> Fichier $num:</td><td align='right'></td>";
}
?>
<html>
<head>
<title>Media6 - Envoi de document</title>
</head>
<!--
Formulaire de contact pour l'envoie de document :
le mail du destinataire
le nom de l'expiditeur
le prenom de l'expiditeur
les pieces à joindre
-->
Notice : Ce formulaire vous permet de déposer vos fichiers, dans votre dossier personnel sur le serveur FTP.
Une fois le dépot effectué, un email sera automatiquement envoyé au destinataire que vous aurez choisi.
Celui ci pourra récupérer le fichier en cliquant sur le lien fourni dans l'email.,
----
<table border="1" width="90%" bordercolor="#000000" bordercolordark="#FFFFFF" cols="1" align="center">
----,
<form action=\"<?php echo $_SERVER['PHP_SELF']; ?>\" method=\"post\" enctype=\"multipart/form-data\">
<table border=\"0\" bordercolor=\"#000000\" height=\"100\" align=\"center\">
----
Votre Email* : ,
,
----
Votre Nom* : ,
,
----
Votre Prénom* : ,
,
----
Email du destinataire* : ,
Message* :
<textarea name ="Msg" cols="45" rows="7"></textarea>
Si vous désirez envoyer un document, un plan etc...
<?php echo $upload_box; ?>
</form>
*Champs Obligatoires
</td>
</tr>
</table>
</td>
</tr>
</table>
</html>
<?php
}
?>