Se connecter / S'enregistrer
Votre question

Problèmes récup données saisies dans formulaire

Tags :
  • Php
  • Programmation
Dernière réponse : dans Programmation
8 Décembre 2009 19:04:05

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

Citation :
<?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) :

Citation :
<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 aide
tOOnie

Autres pages sur : problemes recup donnees saisies formulaire

8 Décembre 2009 23:26:58

Bon, pour la récupération des données dans la base et 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...
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS