Page 1 sur 1

Téléchargement de fichier par formulaire

Posté : 18 juin 2014, 11:53
par CC6952
Bonjour,

Je souhaiterais réaliser un petit formulaire (nom, mail) pour permettre à l'internaute de downloader un fichier. Ainsi on propose un téléchargement d'un fichier (exemple : livre blanc) gratuit en contrepartie de ces informations de contact. Je trouve beaucoup de tuto pour créer des formulaires d'upload de fichiers mais pas de download.
Si vous pouvez m'aider j'en serais vraiment heureux, je suis débutant en php.
Merci

Re: Téléchargement de fichier par formulaire

Posté : 18 juin 2014, 13:33
par xTG
Ce que tu cherches donc à faire est de forcer un téléchargement.
Voici le principe : http://stackoverflow.com/questions/7263 ... d-with-php (4-5 lignes de code)

Bout de code qui est à placer si tu as toutes les informations en provenance de ton formulaire.

Re: Téléchargement de fichier par formulaire

Posté : 18 juin 2014, 16:28
par CC6952
Ok, merci j'ai compris le principe mais je ne parviens pas encore à l'appliquer.

J'ai réussi à créer un formulaire qui fonctionne en récupérant les données nom et mail mais je ne sais pas où placer ce bout de code qui permet de télécharger le document une fois les informations du formulaire validées.

Re: Téléchargement de fichier par formulaire

Posté : 18 juin 2014, 18:20
par xTG
Montres nous ton code de récupération du formulaire. :)

Re: Téléchargement de fichier par formulaire

Posté : 20 juin 2014, 10:31
par CC6952
<?php

/////////// Add your own email below //////////////// 

	define("WEBMASTER_EMAIL", '[email protected]');
	
	error_reporting (E_ALL ^ E_NOTICE);

//////////////////////////////////////////////////////

	function ValidateEmail($email)
	{
		$regex = '/([a-z0-9_.-]+)'. # name
		'@'. # at
		'([a-z0-9.-]+){2,255}'. # domain & possibly subdomains
		'.'. # period
		'([a-z]+){2,10}/i'; # domain extension 
		
		if($email == '') 
			return false;
		else
			$eregi = preg_replace($regex, '', $email);
		return empty($eregi) ? true : false;
	}

//////////////////////////////////////////////////////

	$post = (!empty($_POST)) ? true : false;
	
	if($post)
	{
		$name 	 = stripslashes($_POST['name']);
		$email 	 = trim($_POST['email']);
		$subject = trim($_POST['subject']);
		$message = stripslashes($_POST['message']);
	
		$error = '';
	
		// Check name
		if(!$name)
			$error .= 'Merci de renseigner votre nom';
	
		// Check email
		if(!$email)
			$error .= 'Merci de renseigner votre e-mail';
	
		if($email && !ValidateEmail($email))
			$error .= 'e-mail invalide';
	
		// Check message
		if(!$message)
			$error .= "Merci de renseigner votre message";
	
		if(!$error)
		{
			$mail = @mail(WEBMASTER_EMAIL, $subject, $message,
				 "From: ".$name." <".$email.">\r\n"
				."Reply-To: ".$email."\r\n"
				."Return-Path: " .$email. "\r\n"
				."MIME-Version: 1.0\r\n"	
				."Content-type: text/html; charset=UTF-8\r\n");
			
			if($mail){
				echo 'OK';

			}else{
				echo 'Envoi impossible';
			}
		}
		else
			echo $error;
	}
?>

Re: Téléchargement de fichier par formulaire

Posté : 20 juin 2014, 18:10
par xTG
Donc le code de téléchargement doit se placer dans la condition suivante :
if(!$error)

Re: Téléchargement de fichier par formulaire

Posté : 23 juin 2014, 16:46
par CC6952
Malheureusement je ne suis pas parvenu à mes fins. C'est à dire que je modifie un template, donc l'exercice est d'autant plus difficile pour moi vu que je ne pars pas de zéro.

J'ai le même problème pour rendre un menu flottant. Ca marche mais a moitié... C'est pour le site d'un client et c'est très urgent.
Je souhaite donc déléguer... Je suis prête à payer un développeur pour qu'il me corrige le code et me rende fonctionnel ces petites fonctions.

Pouvez-vous m'envoyez un message privé si vous voulez m'aider?

Merci.