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 :

Fonction mail en PHP et le return path obligatoire pour oleane quel syntaxe?


Sujet :

Langage PHP

  1. #21
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 73
    Points : 17
    Points
    17
    Par défaut enctype="multipart/form-data" ça ne suffit pas??
    Bonjour à vous,

    Alors j'ai rajouté l'attribut enctype dans le code ci-dessous et toujours la même chose

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    <div id="FormulaireCV" style="position:absolute; left:25%; top:75%; width:50%; height:50%; z-index:69">
      <form action="ciblerecrut.php" method="post" enctype="multipart/form-data" name="Formulaire" id="Formulaire">
        <table width="99%" height="50%" border="0">
          <tr> 
            <td width="32%" height="28"><div align="right"><font face="Monotype Corsiva"><strong>Poste 
                souhait&eacute; :</strong> </font></div></td>
            <td width="30%"><input name="Objet" type="text" id="Objet2"></td>
          </tr>
          <tr> 
            <td height="30"><div align="right"><font face="Monotype Corsiva"><strong>Votre 
                E-mail:</strong> </font></div></td>
            <td><input name="Email" type="text" id="Email2"></td>
          </tr>
          <tr> 
            <td height="28"><div align="right"><font face="Monotype Corsiva"><strong>Lettre 
                de Motivation :</strong></font></div></td>
            <td> <div align="left"> 
                <input name="LM" type="file" id="LM3">
              </div></td>
          </tr>
          <tr> 
            <td height="27"><div align="right"><font face="Monotype Corsiva"><strong>CV 
                :</strong></font></div></td>
            <td> <div align="left"> 
                <input name="CV" type="file" id="CV3">
              </div></td>
          </tr>
          <tr> 
            <td height="28">&nbsp;</td>
            <td> <div align="left">
                <input type="submit" name="Submit" value="Envoyer">
              </div></td>
          </tr>
        </table>
        <p>&nbsp;</p>
        </form>
    </div>
    Ensuite, j'ai consulté le lien de eric2a :

    Et la je me perds un peu :

    Dans mon fichier html où il y a le code ci dessus de mon formulaire, il faut que j'insère du code php?

    Où le code ci-dessous est une classe upload à construire??

    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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     
    <html>
    <head>
        <title>Exemple Classe Upload</title>
    </head>
     
    <body>
    <form action="un_champ.php" method="post" enctype="multipart/form-data" name="formulaire" id="formulaire">
    <?php
    print $Upload->Field[0];
    print $Upload->Field[1];
    ?>
    <br>
    <input type="submit" value="Envoyer" name="submit">
    </form>
    </body>
    </html>

    Que manque-t-il dans mon code de formulaire? la fonction upload?

    Ce que je n'arrive toujours pas à comprendre c'est pourquoi mon code sous wamp en local fonctionne sans rajouter ces fonctions et que chez mon hebergeur non ? Est-ce si différent au niveau des serveurs web qui heberge le site?

    En faite la, je n'arrive pas à voir la démarche qu'il faut avoir pour que mes fichiers soient bien uploadés ?

    Merci de votre aide

  2. #22
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    N'ayant jamais fait d'Upload multiple, j'ai conçu un nouveau code pour voir.

    Testé avec succès (sur free) avec ou sans pièce(s) jointe(s).

    Si le code te convient, je te recommande d'étudier quand-même les scripts suggérés. Il te seront sans aucun doute utiles pour de prochains projets.


    La fonction Envoi_mail($Email,$to,$Objet,$files) construit le corps du message et envoie le mail.

    Le mail sera de type multipart/mixed (avec pièces jointes) ou de type text/plain (texte uniquement).

    Afin de l'adapter à tes besoins, il te faut modifier les variables :

    $chemin
    Répertoire (avec slash final) contenant les fichiers téléversés
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chemin=dirname(__FILE__).DIRECTORY_SEPARATOR.'uploads'.DIRECTORY_SEPARATOR;
    Il doit être présent et nous devons avoir les droits d'accès en écriture (CHMOD).

    Je te suggère d'y déposer un fichier .htaccess contenant la ligne
    afin de le rendre indisponible au public.

    $extensions
    Tableau contenant les extensions admises pour le téléversement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $extensions=array('.txt','.doc','.rtf');
    Bien évidemment, il reste à finaliser la gestion des erreurs ansi que le retour au formulaire...

    Partie du formulaire
    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
    29
    30
    31
    32
    33
    34
    35
    <div id="FormulaireCV" style="position:absolute; left:25%; top:75%; width:50%; height:50%; z-index:69">
    	<form action="ciblerecrut.php" method="post" name="Formulaire" id="Formulaire" enctype="multipart/form-data">
    		<table width="99%" height="50%" border="0">
    		<tr>
    			<td width="32%" height="28"><div align="right"><font face="Monotype Corsiva"><strong>Poste souhait&eacute; :</strong> </font></div></td>
    			<td width="30%"><input name="Objet" type="text" id="Objet2"></td>
    		</tr>
    		<tr>
    			<td height="30"><div align="right"><font face="Monotype Corsiva"><strong>Votre E-mail:</strong> </font></div></td>
    			<td><input name="Email" type="text" id="Email2"></td>
    		</tr>
    		<tr>
    			<td height="28"><div align="right"><font face="Monotype Corsiva"><strong>Lettre de Motivation :</strong></font></div></td>
    			<td><div align="left">
    			<input type="hidden" name="MAX_FILE_SIZE" value="1024000">
    			<input type="file" name="userfile[]" id="LM3">
    			</div></td>
    		</tr>
    		<tr>
    			<td height="27"><div align="right"><font face="Monotype Corsiva"><strong>CV :</strong></font></div></td>
    			<td><div align="left">
    			<input type="hidden" name="MAX_FILE_SIZE" value="1024000" />
    			<input type="file" name="userfile[]" id="CV3">
    			</div></td>
    		</tr>
    		<tr>
    			<td height="28">&nbsp;</td>
    			<td><div align="left">
    			<input type="submit" name="Submit" value="Envoyer">
    			</div></td>
    		</tr>
    		</table>
    		<p>&nbsp;</p>
    	</form>
    </div>
    ciblerecrut.php
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
     
      ////////////////////////////////////////////////////////////////
     // fonctione d'envoi de Mail (avec pièces jointe éventuelles) //
    ////////////////////////////////////////////////////////////////
     
    function Envoi_mail($Email,$to,$Objet,$files){
    $mix=(count($files)>0);
     
    $eol="\n";
     
    // Texte
    $txt ='Bonjour, '.$eol.$eol;
    $txt.='Ce mail a été envoyé depuis moi.com '.$eol.$eol;
    $txt.='L\'Email de la personne est : '.$Email.$eol;
    $txt.='L\'Objet du message est  : '.$Objet.$eol;
    if($mix)$txt.='Un message avec une pièce jointe'.$eol;
    $txt=chunk_split(base64_encode($txt));
     
    // Headers
    $headers ='From: '.$Email.$eol;
    $headers.='Return-Path: '.$Email.$eol;
    $headers.='Reply-To: '.$Email.$eol;
    $headers.='X-Priority: 3'.$eol;
    $headers.='X-Mailer: PHP/'.phpversion().$eol;
    $headers.='MIME-Version: 1.0'.$eol;
     
    if($mix){
    	$boundary=md5(uniqid(microtime(),true));
    	$headers.='Content-Type: multipart/mixed; boundary="'.$boundary.'"'.$eol.$eol;
    	$msg ='This is a multi-part/mixed message in MIME format.'.$eol;
    	$msg.='--'.$boundary.$eol;
    	$msg.='Content-Type: text/plain; charset="ISO-8859-1"'.$eol;
    	$msg.='Content-Transfer-Encoding: base64'.$eol.$eol;
    }else{
    	$headers.='Content-Type: text/plain; charset="ISO-8859-1"'.$eol;
    	$headers.='Content-Transfer-Encoding: base64'.$eol.$eol;
    	$msg='';
    }
    $msg.=$txt;
     
    if($mix){
    	foreach($files as $mixed){
    		$file=$mixed['name'];
    		$type=$mixed['type'];
    		$size=$mixed['size'];
    		if($handle=@fopen($file,'r')){
    			$content=@fread($handle,$size);
    			$content=chunk_split(base64_encode($content));
    			@fclose($handle);
    			$base=basename($file);
    			$msg.='--'.$boundary.$eol;
    			$msg.='Content-type: '.$type.'; name="'.$base.'"'.$eol;
    			$msg.='Content-Transfer-Encoding: base64'.$eol;
    			$msg.='Content-Disposition: attachment; filename="'.$base.'"'.$eol.$eol;
    			$msg.=$content.$eol;
    		}
    	}
    	$msg.='--'.$boundary.'--'.$eol;
    }
     
    $obj='=?ISO-8859-1?B?'.base64_encode('Poste demandé par SOUASOUA.COM: '.$Objet).'?=';
     
    return (bool)@mail($to,$obj,$msg,$headers);
    }
     
      ////////////////////
     // Initialisation //
    ///////////////////
     
    // Tableau contenant les infos des fichiers (nom, taille et type)
    $mixfiles=array();
     
    // Flag indiquant le bon déroulement de l'upload et donc... la présence de pièces jointes
    $mix=false;
     
    // Répertoire contenant les fichiers téléversés
    $chemin=dirname(__FILE__).DIRECTORY_SEPARATOR.'uploads'.DIRECTORY_SEPARATOR;
     
    // Extensions admises
    $extensions=array('.txt','.doc','.rtf');
     
    // Destinataire du mail
    $to='soua@laposte.net';
     
      ///////////////////////////////////////////////////////
     // Récupération des valeurs des champs du formulaire //
    ///////////////////////////////////////////////////////
     
    $Email=(isset($_POST['Email']))?trim(rawurldecode($_POST['Email'])):'';
    $Objet=(isset($_POST['Objet']))?trim(rawurldecode($_POST['Objet'])):'';
     
    $f=(($Email!=='')and($Objet!=='')and(isset($_FILES['userfile'])));
    if($f){
    	$count=count($_FILES['userfile']['tmp_name']);
    	for($i=0;$i<$count;$i++){
    		if($_FILES['userfile']['error'][$i]==UPLOAD_ERR_OK){
    			$file=basename($_FILES['userfile']['name'][$i]);
    			$ext=strtolower(substr($file,strrpos($file,'.')));
    			if(in_array($ext,$extensions)){
    				$file=strtr($file,
    					  'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
    					  'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    				$file=preg_replace('/([^.a-z0-9-\(\)]+)/i','',$file);
    				if(@move_uploaded_file($_FILES['userfile']['tmp_name'][$i],$chemin.$file)){
    					$tab=array();
    					$tab['name']=$chemin.$file;
    					$tab['size']=$_FILES['userfile']['size'][$i];
    					$tab['type']=$_FILES['userfile']['type'][$i];
    					$mixfiles[]=$tab;
    					$mix=true;
    				}
    			}else{
    				$message='Fichier rejeté';
    				$f=false;
    				break;
    			}
    		}
    	}
    }else
    	$message='Veuillez saisir les champs votre adresse e-mail et votre objet';
     
    if($f){	
    	if(Envoi_mail($Email,$to,$Objet,$mixfiles))
    		$message='Votre demande a été envoyée';
    	else
    		$message='Erreur ! Votre demande n\'a pas été envoyée';
    }
     
    echo $message;

  3. #23
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 73
    Points : 17
    Points
    17
    Par défaut Tjrs pas de pièce jointes
    Re Eric2a,

    Et bien merci de ton aide mais je suis navré de dire que à la lettre j'utilise ton script et toujours pas de pièce jointe!

    Je t'avoue que là j'ai plus trop d'idée...J'ai du oublié un truc pas possible!!
    Et j'ai plus l'épingle par contre quand je reçois le mail avec cette façon de faire ;

    Le code htm est le suivant


    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
     
    <div id="FormulaireCV" style="position:absolute; left:25%; top:75%; width:50%; height:50%; z-index:69">
    	<form action="ciblerecrut.php" method="post" name="Formulaire" id="Formulaire" enctype="multipart/form-data">
    		<table width="99%" height="50%" border="0">
    		<tr>
    			<td width="32%" height="28"><div align="right"><font face="Monotype Corsiva"><strong>Poste souhait&eacute; :</strong> </font></div></td>
    			<td width="30%"><input name="Objet" type="text" id="Objet2"></td>
    		</tr>
    		<tr>
    			<td height="30"><div align="right"><font face="Monotype Corsiva"><strong>Votre E-mail:</strong> </font></div></td>
    			<td><input name="Email" type="text" id="Email2"></td>
    		</tr>
    		<tr>
    			<td height="28"><div align="right"><font face="Monotype Corsiva"><strong>Lettre de Motivation :</strong></font></div></td>
    			<td><div align="left">
    			<input type="hidden" name="MAX_FILE_SIZE" value="1024000">
    			<input type="file" name="userfile[]" id="LM3">
    			</div></td>
    		</tr>
    		<tr>
    			<td height="27"><div align="right"><font face="Monotype Corsiva"><strong>CV :</strong></font></div></td>
    			<td><div align="left">
    			<input type="hidden" name="MAX_FILE_SIZE" value="1024000" />
    			<input type="file" name="userfile[]" id="CV3">
    			</div></td>
    		</tr>
    		<tr>
    			<td height="28">&nbsp;</td>
    			<td><div align="left">
    			<input type="submit" name="Submit" value="Envoyer">
    			</div></td>
    		</tr>
    		</table>
    		<p>&nbsp;</p>
    	</form>
    </div> 
     
    </body>
    </html>

    le code php est le suivant :


    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
     
     
    <?php
    ////////////////////////////////////////////////////////////////
     // fonctione d'envoi de Mail (avec pièces jointe éventuelles) //
    ////////////////////////////////////////////////////////////////
       	$Email = $_POST['Email']; 
        $Objet = $_POST['Objet'];
    	$LM = $_FILES['LM']; 
    	$CV = $_FILES['CV'];  
     
     
    function Envoi_mail($Email,$to,$Objet,$files){
    $mix=(count($files)>0);
     
    $eol="\n";
     
    // Texte
    $txt ='Bonjour, '.$eol.$eol;
    $txt.='Ce mail a été envoyé depuis moi.com '.$eol.$eol;
    $txt.='L\'Email de la personne est : '.$Email.$eol;
    $txt.='L\'Objet du message est  : '.$Objet.$eol;
    if($mix)$txt.='Un message avec une pièce jointe'.$eol;
    $txt=chunk_split(base64_encode($txt));
     
    // Headers
    $headers ='From: '.$Email.$eol;
    $headers.='Return-Path: '.$Email.$eol;
    $headers.='Reply-To: '.$Email.$eol;
    $headers.='X-Priority: 3'.$eol;
    $headers.='X-Mailer: PHP/'.phpversion().$eol;
    $headers.='MIME-Version: 1.0'.$eol;
     
    if($mix){
    	$boundary=md5(uniqid(microtime(),true));
    	$headers.='Content-Type: multipart/mixed; boundary="'.$boundary.'"'.$eol.$eol;
    	$msg ='This is a multi-part/mixed message in MIME format.'.$eol;
    	$msg.='--'.$boundary.$eol;
    	$msg.='Content-Type: text/plain; charset="ISO-8859-1"'.$eol;
    	$msg.='Content-Transfer-Encoding: base64'.$eol.$eol;
    }else{
    	$headers.='Content-Type: text/plain; charset="ISO-8859-1"'.$eol;
    	$headers.='Content-Transfer-Encoding: base64'.$eol.$eol;
    	$msg='';
    }
    $msg.=$txt;
     
    if($mix){
    	foreach($files as $mixed){
    		$file=$mixed['name'];
    		$type=$mixed['type'];
    		$size=$mixed['size'];
    		if($handle=@fopen($file,'r')){
    			$content=@fread($handle,$size);
    			$content=chunk_split(base64_encode($content));
    			@fclose($handle);
    			$base=basename($file);
    			$msg.='--'.$boundary.$eol;
    			$msg.='Content-type: '.$type.'; name="'.$base.'"'.$eol;
    			$msg.='Content-Transfer-Encoding: base64'.$eol;
    			$msg.='Content-Disposition: attachment; filename="'.$base.'"'.$eol.$eol;
    			$msg.=$content.$eol;
    		}
    	}
    	$msg.='--'.$boundary.'--'.$eol;
    }
     
    $obj='=?ISO-8859-1?B?'.base64_encode('Poste demandé par SOUASOUA.COM: '.$Objet).'?=';
     
    return (bool)@mail($to,$obj,$msg,$headers);
    }
     
      ////////////////////
     // Initialisation //
    ///////////////////
     
    // Tableau contenant les infos des fichiers (nom, taille et type)
    $mixfiles=array();
     
    // Flag indiquant le bon déroulement de l'upload et donc... la présence de pièces jointes
    $mix=false;
     
    // Répertoire contenant les fichiers téléversés
    $chemin=dirname(__FILE__).DIRECTORY_SEPARATOR.'uploads'.DIRECTORY_SEPARATOR;
     
    // Extensions admises
    $extensions=array('.txt','.doc','.rtf');
     
    // Destinataire du mail
    $to='soua@laposte.net';
     
      ///////////////////////////////////////////////////////
     // Récupération des valeurs des champs du formulaire //
    ///////////////////////////////////////////////////////
     
    $Email=(isset($_POST['Email']))?trim(rawurldecode($_POST['Email'])):'';
    $Objet=(isset($_POST['Objet']))?trim(rawurldecode($_POST['Objet'])):'';
     
    $f=(($Email!=='')and($Objet!=='')and(isset($_FILES['userfile'])));
    if($f){
    	$count=count($_FILES['userfile']['tmp_name']);
    	for($i=0;$i<$count;$i++){
    		if($_FILES['userfile']['error'][$i]==UPLOAD_ERR_OK){
    			$file=basename($_FILES['userfile']['name'][$i]);
    			$ext=strtolower(substr($file,strrpos($file,'.')));
    			if(in_array($ext,$extensions)){
    				$file=strtr($file,
    					  'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
    					  'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    				$file=preg_replace('/([^.a-z0-9-\(\)]+)/i','',$file);
    				if(@move_uploaded_file($_FILES['userfile']['tmp_name'][$i],$chemin.$file)){
    					$tab=array();
    					$tab['name']=$chemin.$file;
    					$tab['size']=$_FILES['userfile']['size'][$i];
    					$tab['type']=$_FILES['userfile']['type'][$i];
    					$mixfiles[]=$tab;
    					$mix=true;
    				}
    			}else{
    				$message='Fichier rejeté';
    				$f=false;
    				break;
    			}
    		}
    	}
    }else
    	$message='Veuillez saisir les champs votre adresse e-mail et votre objet';
     
    if($f){	
    	if(Envoi_mail($Email,$to,$Objet,$mixfiles))
    		$message='Votre demande a été envoyée';
    	else
    		$message='Erreur ! Votre demande n\'a pas été envoyée';
    }
     
    echo $message;
     
    ?>

  4. #24
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Citation Envoyé par djamess
    Et j'ai plus l'épingle par contre quand je reçois le mail avec cette façon de faire
    C'est normal ! Cela veut dire que l'upload a échoué.

    As-tu créé le répertoire uploads pour y placer les fichiers ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chemin=dirname(__FILE__).DIRECTORY_SEPARATOR.'uploads'.DIRECTORY_SEPARATOR;
    Et as-tu changé les droits d'accès en écriture (CHMOD) via ton client FTP ?

    As-tu ajouté les extensions que tu désires autoriser ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $extensions=array('.txt','.doc','.rtf');
    Au fait, n'ajoute plus ces lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $Email = $_POST['Email']; 
    $Objet = $_POST['Objet'];
    $LM = $_FILES['LM']; 
    $CV = $_FILES['CV'];
    Elles ne servent plus à rien.

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 73
    Points : 17
    Points
    17
    Par défaut .htaccess et droit chmod adequate
    Re Eric2a,

    Bon et bien que dire de Plus qu'un grand MERCCCIIII

    ça marche...

    Mais je vais encore te poser deux questions si c'est possible :

    Actuellement je n'ai pas mis de .htaccess
    pour le créer c'est juste un fichier texte que j'enregistre sous .htaccess
    avec les infos suivantes :
    Deny from all

    Sinon pour le chmod j'ai tout mis à 777 ça derrange en rien pour les intrusions si y a le .htaccess?

    Pour le reste de mon site j'en ai pas mis mais j'ai mis des fichier php qui redirige sur la page d'accueil si quelqu un veux pointer sur un répertroire et voir l'arborescence.

    qu'en penses-tu?

    (3 questions en faite!)
    LOL

    Merci encore ça me fait très plaisir que tu m'ais aidé et que ça fonctionne!

  6. #26
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Citation Envoyé par djamess
    ça marche...

    Citation Envoyé par djamess
    le chmod j'ai tout mis à 777
    Tout ?

    777 uniquement pour le répertoire uploads.

    À savoir que l'idéal est 700. Si ça ne fonctionne pas, tu peux essayer avec 703.

    Citation Envoyé par djamess
    ça ne derange en rien pour les intrusions si y a le .htaccess ?
    Il le faut.
    Il est là pour que les accès HTTP soient refusés.

    Citation Envoyé par djamess
    j'ai mis des fichier php qui redirige sur la page d'accueil si quelqu un veux pointer sur un répertroire et voir l'arborescence.
    qu'en penses-tu?
    C'est très bien...

    Tu peux aussi cacher l'arborescence des répertoires "publiques" à l'aide d'un... .htaccess contenant

  7. #27
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 73
    Points : 17
    Points
    17
    Par défaut .htaccess et droit chmod adequate
    Re Eric2a,

    Oui, juste pour le dossier upload j'ai mis à 777 ;

    pour le .htaccess c'est juste un fichier texte que tu enregistre sous .htaccess?

    Pour cacher l'arborescence le .htaccess tu le met à la racine?

    Merci

  8. #28
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Oui, le .htaccess est bien un fichier texte.

    Si tu es sous Windows ET que tu utilises son Notepad :
    il faut enregistrer le fichier sous... ".htaccess"
    Sans les guillemets, Windows refuserait de l'enregistrer (car il ne voit que l'extension).
    Concernant le .htaccess contenant "Options - Indexes" :
    Il est effectivement préferable de le placer à la racine.
    Ainsi, tu empêches l'affichage de l'arborescence de tous les répertoires du site.
    Concernant le .htaccess contenant "Deny from all" :
    Il est impératif de le placer dans le répertoire uploads.
    Ainsi, tu garanties la protection de ce dernier et donc la protection de la vie privée des personnes y déposant leurs fichiers.

  9. #29
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 73
    Points : 17
    Points
    17
    Par défaut .htaccess
    Re Eric2a

    Ou lalala

    Gros pb, j'ai mis le .htaccess à la racine de mon serveur et la mon site est plus accessible!!

    Et mieux encore, je ne vois pas le fichier .htaccess!!

    Qu'est ce ça produit d'autre ce fichier qd on y met


    t'as une idée?

  10. #30
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 73
    Points : 17
    Points
    17
    Par défaut .htaccess
    re Eric2a,

    c'est amusant, je ne voit pas le fichier mais j'ai remis un .htaccess vide et ça remarche ;

    mais bon bizarre!

    ça veut dire qu'il y avait peut être un .htaccess et que je l'ai écrasé ;

    un hébergeur en fournit par défaut?

    Tu sais ?

  11. #31
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Citation Envoyé par djamess
    j'ai mis le .htaccess à la racine de mon serveur et la mon site est plus accessible!!
    À la racine, il faut mettre celui-ci
    Il produit une erreur 403 (accès refusé) si le répertoire actuel n'a pas de fichier index.

    Tu as probablement mis celui-ci
    Il refuse systématiquement tout accès.

    Citation Envoyé par djamess
    je ne vois pas le fichier .htaccess
    Regarde dans la configuration de ton client FTP pour activer l'option permettant de voir les fichiers cachés.

  12. #32
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 73
    Points : 17
    Points
    17
    Par défaut .htaccess
    Bjr Eric2a

    Merci je vais corriger ça ...

Discussions similaires

  1. Fonction mail en php et Serveur de mail
    Par Rudya dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 26/04/2007, 12h11
  2. [Mail] Fonction mail en PHP
    Par rte304 dans le forum Langage
    Réponses: 1
    Dernier message: 11/04/2007, 22h02
  3. [Mail] probleme avec la fonction mail de php
    Par fdavid dans le forum Langage
    Réponses: 3
    Dernier message: 15/06/2006, 15h48
  4. [Mail] Fonction mail () de php
    Par goma771 dans le forum Langage
    Réponses: 5
    Dernier message: 20/02/2006, 21h18

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