- Statut : non résolu
- Ce sujet contient 12 réponses, 6 participants et a été mis à jour pour la dernière fois par eglie, le il y a 7 années.
-
AuteurMessages
-
9 juin 2006 à 15 h 57 min #447861
Bonjour à tous, j’ai parcouru le forum et je me rends compte que mon besoin ne peut être satisfait par les autres posts en rapport avec le sujet;
Je voudrai pouvoir faire la chose suivante :
Mettre un lien vers un document word ou pdf dans un billet que je rédige
puis faire en sorte que le visiteur qui lise le billet et qui veut ensuite accéder au document soit dans l’obligation de renseigner un formulaire avant de pouvoir commencer le téléchargement du document. Il indiquerait son nom, prénom, mail, éventuellement le nom de son entreprise…A la différence des autres post en rapport avec ma question je ne suis pas intéressé par créer et gérer des login pour chaque lecteur et obliger chaque visiteur à se loguer à chaque fois je veux juste pouvoir récupérer leurs infos en échange du téléchargement du document mis dans l’article.
Si vous avez une idée sachez que ce serait super.
Paul
9 juin 2006 à 16 h 30 min #575118Si tu t’y connais en PHP, je te conseilles de le coder toi-même, car il s’agit là d’une véritable petite application 😉
Voici ce que je te conseille de faire :
–dans ton article : un lien vers un fichier redirect.php?file=le_nom_de_ton_fichier.ext
–dans le ficher redirect.php : un formulaire demandant les coordonnées du visiteur
–à la soumission du formulaire, le script php enregistre les données dans une base MySQL (par exemple) puis envoie les en-têtes correspondantes au type de fichier demandé ce qui provoque le téléchargement 🙂9 juin 2006 à 19 h 53 min #575119Merci je pensais qu’il existerait quelquechose de plus simple ou un plug in tout fait.
Je suis conscient que ma demande est assez spécifique.
Merci pour votre réponse.Polo
10 juin 2006 à 8 h 38 min #575120Je peux essayer de te coder cela (je posterai ici si j’y arrive) 😉
10 juin 2006 à 9 h 19 min #575121Il n’existe pas de plugins de ce style…
une dérivé peut etre… tu force les gens à s’inscrire pour permettre le downloads…
mais il faudra peut etre hacker WP pour augmenter le nombre de champ à l’inscription ^^Fin ca reste technique… mais relativement simple ^^ pour un débutant PHP^^
10 juin 2006 à 9 h 54 min #575122Bon je t’ai pondu un petit script à l’arrache qui fait ce que tu voulais ^^
Tout tient en un seul fichier : redirect.php que tu dois placer à la racine de ton blog.
$value)
{
if (empty($value))
{
header(‘Location: ‘.$_SERVER[‘REQUEST_URI’]);
die;
}
else
$_POST[$key] = mysqli_real_escape_string($value);
}
$file = trim($_GET[‘file’]);
$dir_file = ‘wp_downloads/’.$file;
function getExtension ($file)
{
if (!strpos ($file, ‘.’) || !is_string ($file))
return false;
$fragments = explode (‘.’, $file);
return array_pop($fragments);
}
$extension = getExtension($file);
if (!in_array($extension, array(‘doc’, ‘pdf’))
die;
/** Insert user information in the DataBase **/
$date = date(‘d/m/Y h:i:s’);
mysql_query(« INSERT INTO wp_downloads (name, first_name, email, other, date, file)
VALUES (‘ ».$_POST[$user_name]. »‘, ‘ ».$_POST[$user_first_name]. »‘, ‘ ».$_POST[$user_email]. »‘, ‘ ».$_POST[$user_other]. »‘, ‘$date’, ‘$file’) ») or die(mysql_error());
/** Check if the requested file exists and starts downloading it **/
if (is_file($dir_file) && is_readable($dir_file))
{
header(‘Content-Disposition: attachment; filename= »‘.$file.' »‘);
header(‘Content-Transfer-Encoding: binary’);
header(« Content-Type: application/force-download »);
header(‘Content-Length: ‘.filesize($file));
readfile($dir_file);
}
else
die(‘Erreur: Le fichier demandé nexiste pas.’);
}
elseif (!empty($_GET[‘file’]))
{
?>
<title>Espace de Téléchargement</title>
<h1>Espace de Téléchargement</h1>
<form action=" » method= »post »>
<p><input type="hidden" name="file" value=" » /></p>
<p><label>Nom: </label></p>
<p><label>Prénom: </label></p>
<p><label>Email: </label></p>
<p><label>Autre: </label></p>
<p></p>
</form>
Excusez-moi pour la saleté du code, mais je sors du lit là :p
Je corrigerai à l’occasion 😉…Ensuite, il faut créer un dossier wp_downloads dans le même répertoire et y placer tes fichiers à télécharger 🙂
…Enfin, dans PhpMyAdmin, exécutes la requête suivante:
CREATE TABLE `wp_downloads` (
`id` int(5) unsigned NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
`first_name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`other` varchar(255) NOT NULL,
`date` char(19) NOT NULL,
`file` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;/! ATTENTION /!
Ce script est certainement sujet à des injections SQL, car je n’ai pas exécuté de tests sur les valeurs renvoyées par le formulaire 😕
Va falloir que tu travailles un peu ^^12 juin 2006 à 14 h 11 min #575123Merci je vais tenter d’intégrer tout ça prochainement !!!
C’est trés sympa de votre part, merci la communauté WP.
Polo
12 juin 2006 à 15 h 41 min #575124Hummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ca marche peut etre… mais niveau code :'(
Utilise les classes de WP !12 juin 2006 à 18 h 29 min #575125Petite question, je tente de mettre en place tout ça mais je voulais savoir:
Comment faire pour afficher le formulaire sur une page de wordpress?
Merci
Paul
13 juin 2006 à 18 h 22 min #575126AmO wrote:Hummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ca marche peut etre… mais niveau code :'(
Utilise les classes de WP !Oui, ben j’ai fait ça au saut du lit hein :rolleyes:
Je n’ai pas encore étudié le fonctionnement de WordPress en détail, donc le plugin attendra un peu ^^
(si quelqu’un accepte de se dévouer, … 😋 )29 janvier 2010 à 18 h 18 min #575127Bonjour tout le monde,
Comme Polo74, à l’origine de ce post, je suis à la recherche d’un plugin permettant de télécharger un fichier une fois que le visiteur a laissé son mail, cet adresse mail devant bien sur être collectée sous wp.
Je n’ai malheureusement pas trouvé de solution à mon problème et mes connaissances sont tellement faibles que je suis dans l’incapacité d’adapter le code proposé.
Mais bon, vu l’age du post, je me dis que peut être un plugin existe désormais ?
2 septembre 2010 à 20 h 45 min #575128Salut,
Apparemment il existe ce plugin :
http://wordpress.org/extend/plugins/ss-downloads/Il permet de demander un email pour pouvoir télécharger un fichier.
En plus il log le nombre de téléchargement.@+
Thierry1 septembre 2017 à 14 h 13 min #1846781Bonjour,
Je suis à la recherche de la même chose : je souhaiterais que le visiteur qui souhaite télécharger mon CV soit obligé de renseigner son nom/prénom/email et éventuellement Nom d’entreprise, qu’il reçoive par mail le CV (avec un texte que j’aurais personnalisé), et dans l’absolu que je reçoive moi aussi un email me signalant que qqun à télécharger mon CV avec les informations qu’il a renseigné.
Le dernier plugin proposer pour faire le job n’a pas reçu d’update depuis 2 ans…
Existe t-il aujourd’hui un ou des autres plugins (ou solutions simples à mettre en place, sans entrer forcément dans du code) ?
Merci !
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.