Variable en php
Fermé
Elpaz
-
3 sept. 2008 à 15:53
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 - 3 sept. 2008 à 17:48
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 - 3 sept. 2008 à 17:48
A voir également:
- Variable en php
- Easy php - Télécharger - Divers Web & Internet
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
4 réponses
adaro2000
Messages postés
46
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
28 octobre 2008
2
3 sept. 2008 à 16:02
3 sept. 2008 à 16:02
Si c'est bien là ta question, ma réponse est celle-ci :
$x = "monebook.pdf";
echo "<a href='$x'>voici votre ebook</a>";
Satisfait ?
$x = "monebook.pdf";
echo "<a href='$x'>voici votre ebook</a>";
Satisfait ?
vlmath
Messages postés
794
Date d'inscription
vendredi 20 octobre 2006
Statut
Contributeur
Dernière intervention
4 septembre 2011
160
3 sept. 2008 à 16:06
3 sept. 2008 à 16:06
Salut,
Tu ne peux pas modifier une directement une variable PHP : tu dois recharger la page.
@Bientôt
Tu ne peux pas modifier une directement une variable PHP : tu dois recharger la page.
$x = $_GET['x'] ? $_GET['x'] : "monebook.pdf" ; // x = la variable du lien seulement si celle-ci est définie. echo "<a href='./page.php?x=lien'>voici votre ebook</a>";
@Bientôt
vlmath
Messages postés
794
Date d'inscription
vendredi 20 octobre 2006
Statut
Contributeur
Dernière intervention
4 septembre 2011
160
>
Elpaz
3 sept. 2008 à 17:06
3 sept. 2008 à 17:06
$x = $_GET['x'] ? $_GET['x'] : "monebook.pdf" ;
C'est une opperation ternaire : si $_GET['x'] est vrai (" $_GET['x'] ? "), alors l'oppérateur va être remplacé par $_GET['x'] (ce qu'il y a entre le ? et le : ), sinon par "monebook.pdf".
En claire, si la variable $_GET['x'] contient quelque chose, le code est équivalent à : $x = $_GET['x'];
sinon à : $x = "monebook.pdf";
La forme générale de l'oppérateur ternaire est la suivant :
(condition boolean) ? si vrai : si faux ;
echo "<a href='./page.php?x=lien'>voici votre ebook</a>";
Cette partie du code fait simplement un lien vers la page elle même, en initialisant la variable $_GET['x'] à 'lien'. Les variables GET viennent après le nom de la page suivi d'un ? .
La forme générale est la suivante :
page.php?variable1=valeur1&variable2=valeur"&...
adaro2000
Messages postés
46
Date d'inscription
vendredi 23 mai 2008
Statut
Membre
Dernière intervention
28 octobre 2008
2
3 sept. 2008 à 16:35
3 sept. 2008 à 16:35
Le premier exemple a-t-il marché ? Veuille me l'indiquer, Elpaz !
Flachy Joe
Messages postés
2103
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
21 novembre 2023
260
3 sept. 2008 à 17:48
3 sept. 2008 à 17:48
Niveau sécurité c'est zéro.
Il faudrai utiliser des identifiants uniques stockés dans une base de donné et couplés aux adresses mails.
Le fichier PDF ne serait pas disponible directement mais à travers une page PHP qui renverrai le contenu et dont voici la structure de base :
Il faut bien évidement créer l'identifiant unique au moment de l'envoi du mail.
Et le passer dans l'url fourni dans le mail :
De cette façon l'utilisateur ne connaît pas la véritable adresse sur le serveur.
On peut rajouter des fonctionnalités :
Par exemple en supprimant l'id de la base de donné on n'autorise qu'un téléchargement.
En faisant une page qui fabrique un nouvel id et le renvoi, un utilisateur peut télécharger plusieurs fois (s'il perd le fichier il peut le récupérer), mais l'adresse e-mail doit correspondre donc on est sur que c'est pas quelqu'un d'autre.
Il faudrai utiliser des identifiants uniques stockés dans une base de donné et couplés aux adresses mails.
Le fichier PDF ne serait pas disponible directement mais à travers une page PHP qui renverrai le contenu et dont voici la structure de base :
<?php $id = $_GET['id']; $mail = $_GET['mail']; //Vérification dans la base de donnée de la correspondance id <->mail // [...] if (c_est_ok){ header('Content-type: application/pdf'); header('Content-Disposition: attachment; filename="downloaded.pdf"'); readfile('original.pdf'); }else{ //erreur le fichier n'a pas été acheté } ?>
Il faut bien évidement créer l'identifiant unique au moment de l'envoi du mail.
Et le passer dans l'url fourni dans le mail :
$link = 'la_page.php?id='.$uniqid.'&mail='.$to; $msg = ''voici le lien où telecharger le livre :'; $msg .= '<a href="'.$link.'">'.$link.'</a>'; mail ($to,$msg);
De cette façon l'utilisateur ne connaît pas la véritable adresse sur le serveur.
On peut rajouter des fonctionnalités :
Par exemple en supprimant l'id de la base de donné on n'autorise qu'un téléchargement.
En faisant une page qui fabrique un nouvel id et le renvoi, un utilisateur peut télécharger plusieurs fois (s'il perd le fichier il peut le récupérer), mais l'adresse e-mail doit correspondre donc on est sur que c'est pas quelqu'un d'autre.
3 sept. 2008 à 16:42
si qq achete l'ebook je l'envoi un mail dans lequel je met un lien vers l'ebook.
pour éviter qu'on télécharger l'ebook sans payer je change regulièrement le nom de l'ebook.
donc dans le href je met le nom de l'ebook mais nom la variable qui contient ce nom.
si je fait href="$x",que j change ou pas la valeur de $x le lien sera valable.