Problème récup variables dans formulaire mail

Fermé
TOONIE Messages postés 130 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 29 octobre 2012 - 8 déc. 2009 à 18:59
TOONIE Messages postés 130 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 29 octobre 2012 - 8 déc. 2009 à 23:21
Bonsoir,

J'ai des problèmes avec la récupération des variables de mon formulaire, et ça fait une semaine que j'arrange des problèmes, mais sur les 3 points suivants, je sèche pour de vrai.
problème 1 : je ne reçois pas le document annexé dans le mail qui est destiné au site
problème 2 : je ne reçois pas les données remplies depuis le formulaire dans le mail destiné au site
problème 3 : je ne sais pas ce que j'ai fait, les données saisies depuis le formulaire ne sont plus récupérées dans la base (elles l'étaient avant...)

Et là, je galère vraiment... J'ai besoin d'aide.
Pardon de mettre tout le code php, mais je ne voudrais pas couper un élément important

<?php

$cryptinstall="./cryptographp.fct.php";
include('classes/class.mail.php');
include $cryptinstall;
$content_captcha= '';
require_once( "config.php" );

$alert='';
if(isset($_POST['captcha'])){


$scriptUrl = '';
$urlok = 'NL-ok.htm';
$urlko = 'NL-ko.htm';
$subscUrl = "form.php";

set_magic_quotes_runtime (0);

if (get_magic_quotes_gpc()) {
foreach($_POST as $k=>$v)
$_POST[$k] = stripslashes($v);
foreach($_COOKIE as $k=>$v)
$_COOKIE[$k] = stripslashes($v);
}


$Ok = 1;
$content_captcha = '';
if (!chk_crypt($_POST['captcha']) ) {
$Ok = 0;
$content_captcha = ' <br /><div class="errMsg">Le code saisi est incorrect</div>';
}
if(isset($_FILES['file']) && $_FILES['file']['size'] > 819200){
$Ok = 0;
$alert='<script>alert("Rappel : la taille du fichier est limitée à 800 ko")</script>';
}


if ($Ok) {
$msg = '';
foreach($_POST as $k=>$v) {
if (strtolower($k) != "submit" && trim($v) != '')
$msg .= "$k:$v\n";
}

$id = md5($msg);
setcookie("sb$id",$msg,time()+86400,'','',0);

$email = trim($_POST['email']);

$body_client = "Nous vous remercions pour votre votre message \n\nA votre demande, voici une copie du message envoyé :\n\n";
$body_admin="Réception d'un nouveau mail :\n\n" ;

$body="";
$Ok = ereg("^([a-zA-Z0-9_\.-]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", $email);
if ($Ok) {

$array_keys=array('sujet' => 'sujet' ,'message' => 'message');


foreach($array_keys as $key => $val){
$body.= $val." : ".$_POST[$key]."\n\n";
}


$array_keys=array('sujet'=>'sujet' ,'civilite'=>'civilite' ,'societe'=>'societe' ,'nom'=>'nom' ,'prenom'=>'prenom' ,'adresse' =>'adresse','adresse2'=>'complement d adresse' ,'code_postal'=>'code postal' ,'ville'=>'ville' ,'email' => 'email' ,'tel_fixe'=>'telephonne fixe' ,'tel_mobile'=>'telephonne mobile' ,'message'=>'message');
foreach($array_keys as $key => $val) {
$body_mail_admin.= $val." : ".$_POST[$key]."\n\n";
}


mysql_connect($host,$user,$pass);
mysql_select_db($db);

$sql_id=sprintf("select id from $table where email='%s'",addslashes($_POST["email"]));
$res=mysql_query($sql_id);
$row=mysql_fetch_array($res);
$id = $row[0];

$sql = sprintf("INSERT INTO $table (sujet ,civilite ,Societe ,nom ,prenom ,adresse ,adresse2 ,code_postal ,ville ,email ,tel_fixe ,tel_mobile ,message) VALUES ('%s' , '%s' , '%s' , '%s', '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s','%s' )" , addslashes($_POST["sujet"]),addslashes($_POST["civilite"]),addslashes($_POST["Societe"]),addslashes($_POST["nom"]),addslashes($_POST["prenom"]),addslashes($_POST["adresse"]),addslashes($_POST["adresse2"]),addslashes($_POST["code_postal"]),addslashes($_POST["ville"]),addslashes($_POST["email"]),addslashes($_POST["tel_fixe"]),addslashes($_POST["tel_mobile"]),addslashes($_POST["message"]));

if($id!='' && $id>=0) {

$sq_update="UPDATE $table set ";
$array_k2= array('sujet' ,'civilite' ,'Societe' ,'nom' ,'prenom' ,'adresse' ,'adresse2' ,'code_postal' ,'ville' ,'email' ,'tel_fixe' ,'tel_mobile' ,'message');
foreach($array_k2 as $key ) {
if($_POST[$key]!=''){$sq_update.= $key." = '".$_POST[$key]."' ,";
}
}

mysql_query($sq_update);

}else{
mysql_query($sql);
}






$mail = new simplemail;
if(isset($_FILES['file']) && $_FILES['file']['size'] < 819200 ){
if( move_uploaded_file( $_FILES['file']['tmp_name'],"upload/".$_FILES['file']['name'])){
$mail -> addattachement ( "upload/".$_FILES['file']['name']);
}
}

if(isset($_POST['mail_copy'])){

// mail($email,'Please confirm your subscription',$body,'From: '.$emailmanager);


//ajout du destinataire
$mail -> addrecipient($email);
// ajout de l'expediteur
$mail -> addfrom($emailmanager);
//ajout du sujet
$mail -> addsubject('Copie de votre message');
// le message plaintext
$mail -> text = $body_client.$body;

$mail -> sendmail();



}


//ajout du destinataire
$mail -> addrecipient($emailmanager);
// ajout de l'expediteur
$mail -> addfrom($email);
//ajout du sujet
$mail -> addsubject('Nouvelle demande : '.$_POST['sujet']);
// le message plaintext
$mail -> text = $body_admin.$body;


$mail -> sendmail();

//ajout du destinataire
$mail -> addrecipient($email);
// ajout de l'expediteur
$mail -> addfrom($emailmanager);
//ajout du sujet

$mail -> addsubject('votre message');
// le message plaintext
$body_demande="\n\nNous avons bien reçu votre message; il sera traité dans les meilleurs délais.";
$mail -> text = "Nous vous remercions pour votre message".$body_demande;

$mail -> sendmail();

@unlink("upload/".$_FILES['file']['name']);






Header("Location: $urlok");
}
}
else {
$_SESSION['capt_err'] = uniqid("");
Header("Location: $subscUrl?".$_SESSION['capt_err']);
}
if(isset($_POST["title"])) {
$content_title = $_POST["title"];
}
else {$content_title = '';}

if(isset($_POST["content"])) {
$content_content = $_POST["content"];
}
else {$content_content = '';}
}

function ff($key){
if(isset($_POST[$key])){
echo $_POST[$key];
}

}

?>


Et dans mon body (extraits, juste pour illustrer ce qu'il y a ci-dessus) :

<div class="required">
<input name="sujet" value="<?php ff("sujet");?>" type="text" class="text">
</div>

<div align="left">Nom* </div>
<div class="required"><input value="<?php ff("nom");?>" name="nom" type="text" class="text"></div>
<div align="left">Annexer une pièce jointe</div>
<input name="file" value="<?php ff("file");?>" style="width:482px;" type="file" class="text">

<span style="color:#6C492D">(taille maximale du fichier annexé : 800 ko)</span>


D'avance merci pour votre coopération
tOOnie
A voir également:

1 réponse

TOONIE Messages postés 130 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 29 octobre 2012
8 déc. 2009 à 23:21
Bon, pour la récupération des données dans la baseet le mail, c'est fait.

Là où j'avais juste $array_keys=array('sujet' => 'sujet' ,'message' => 'message'); j'ai mis :
$array_keys=array('sujet'=>'sujet' ,'civilite'=>'civilite' ,'societe'=>'societe' ,'nom'=>'nom' ,'prenom'=>'prenom' ,'adresse' =>'adresse','adresse2'=>'complement d adresse' ,'code_postal'=>'code postal' ,'ville'=>'ville' ,'email' => 'email' ,'tel_fixe'=>'telephonne fixe' ,'tel_mobile'=>'telephonne mobile' ,'message'=>'message');

J'ai par contre toujours le souci avec la pièce jointe...
0