Définir la catégorie de recherche

Signaler
Messages postés
53
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
11 mars 2016
-
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Bonjour à tous,
nouveau et néophite, j'ai déjà un problème pour définir l'énoncé pour la recherche.

je voudrais, à l'aide dun clic sur un bouton, ajouter la référence de la page affichée, dans une liste qui me serai envoyée par e-mail après consultation.

comment s'énonce ce genre de requete ?

sous quelle forme et dans quelle page créer la liste ?
comment les référence s'ajoute dans la liste ?

Je précise que > 65 ans et sans base informatique sérieuse. Je travaille surtout à partir d'exemples concrets que j'adapte à mes besoins, même si c'est pas très académique.

Merci de vos lumières

4 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,



hmm, la reference de la page affichee, qu'entends tu par la?

Tu peux recuperer la page (adresse et eventuelles requetes GET faites dessus) dans cette variable : $_SERVER['REQUEST_URI'].

Par exemple si pour afficher ta page, le lien est :
pages/mapage.php?nom=helvetdulac, c'est toute cette chaine que tu auras
dans cette variable.

Pour te l'envoyer par mail sur le clic d'un bouton, passe par un formulaire, ou un onclick sur un bouton :



<form method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>" >





</form>

<?php

if (isset ($_POST['submit']) && $_POST['submit'] == 'Envoyer') {

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

mail(...);

}

}

?>



regarde la fonction mail().



J'espere avoir pu t'etre utile.
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Hello,

<?php Tu n'as pas fermé !


<form method="POST" action="" >

<?php ?>" />



</form>

<?php

if (isset ($_POST['submit']) && $_POST['submit'] == 'Envoyer') {

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

mail(...);

}

}

?>



<hr size="2" width="100%">
Si ma reponse te convient, merci de l'accepter !
Messages postés
53
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
11 mars 2016

Bonjour à tous et merci pour vos réponses,



je vais essayer de préciser mon envie,

sur mon site

http://www.docutech.ch/granges/rep_belvedere_02.htm

quand on clique sur une des photos, on l'affiche en plein écran avec un
bouton "ajouter à la liste" qui donne la référence de la photo (c'est
un test pour l'instant).

le but est de créer une liste des photos choisies pour que je puisse
faire parvenir les fichiers originaux permettant de réaliser des
impressions papier valables pour les visiteurs interessés.

je pense que je dois déclarer un fichier qui contiendra les reférences des photos

(dans la première page du reportage) ?.

chaque page cliquée est ajoutée dans le fichier,

en fin de consultation, le fichier est sauvé en *.txt et joins à l'e-mail de demande.



Je fais peut-être fausse route et la solution est tout autre.

Je suis au B A Ba dur PHP et ça rentre très difficilement.



petite précision, pour l'instant le site fonctionne avec IE mais pas avec Firefox, je dois le reprendre complétement
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Ok, je viens d'aller sur ton site, je comprends, je crois le principe. Au passage, c'est joli par chez toi :-)



Je vais reexpliquer a ma maniere, et tu me corrigeras si je me suis
trompe : un utilisateur vient sur ton site, il voit une galerie de
photos. Il clique sur une photo, elle s'aggrandit, et un bouton
"Ajouter a la liste" s'affiche (avec, mais c'est sans doute un texte,
un petit textarea ou vient s'ecrire le nom de la photo). Il l'ajoute a
la liste, et repart faire son choix (manque un bouton retour en arriere
d'ailleurs. Ok, si on clique sur la photo on revient mais j'en mettrais
un quand meme).

Le but est, au final, de recuperer toutes les photos ajouter a sa
liste, afin pour toi de pouvoir les imprimer et les lui envoyer.

C'est le principe du caddie! Tu as ce principe dans toute boutique en ligne.



Je pense que cela va etre un peu plus complique que tu ne l'imagines.
Il te faut deja savoir qui est ton visiteur, donc un moyen de
l'identifier (pseudo, mot de passe, et evidemment ses details :
adresse, email...tu en as besoin pour ce que tu veux faire). Sinon tu
ne sauras jamais a qui appartient la liste creee.

Un fichier...oui c'est possible. Sachant qu'il faudra un fichier par
visiteur. Parce que si 2 visiteurs viennent et choisissent des photos
en meme temps...tu vas avoir des problemes.

Mais etant donne que tu as besoin, a mon sens en tous cas -tu me
corrigeras si je fais fausse route- d'un moyen de les identifier, je
pense que tu devrais serieusement penser, si c'est faisable, a la mise
en place d'une petite base de donnees.

Avec ce moyen , cela devient beaucoup plus simple. Le principe (en simplifiant au maximum) :

* base de donnee :

- tables : utilisateur (champs : pseudo, mot de passe, id_utilisateur),
details_utilisateur (id_utilisateur, adresse, nom, prenom, email...et
ce que tu veux!), choix_photos (id_utilisateur, id_photo,
id_commande, eventuellement quantite si tu veux compliquer et donner la
possibilite de commander plusieurs impressions de la meme photo),
photos (id_photo, nom_photo, url_photo - eventuellement, cela
simplifiera la tache pour la galerie).

- un utilisateur s'inscrit sur ton site. Tu remplis les 2 tables correspondantes (utilisateur et details_utilisateurs).

- il s'en va, puis revient quelques jours plus tard. Il se logge, tu
compares le pseudo et le mot de passe (ah oui : crypte le mot de passe,
et stocke crypte, on y reviendra peut-etre) qu'il donne a ceux de ta
base. Une entree correspond!

* session :

- tu as besoin des sessions pour conserver l'identification de ton
utilisateur pendant sa visite du site. Tu y stockes ce que tu veux.
C'est tres simple a utiliser en realite, bien plus qu'il n'y parait. Tu
auras notamment dans cette session, son id_utilisateur, c'est le plus
important.

- il va dans la galerie et ajoute une photo a la liste. Tu crees un
tableau dans ta session, que tu appelles choix_photos par exemple, et
tu y ajoutes l'id_photo correspondant.

- il en choisit une autre, tu crees une nouvelle entree dans ce
tableau, avec le nouvel id_photo. Donc, dans ce tableau, tu as
maintenant 2 id_photo. L'avantage ? Tu peux lui donner la possibilite
d'annuler un choix...il suffit d'effacer l'id_photo correspondant (un
simple bouton a cote de clui pour ajouter a la liste suffit) dans ton
tableau.

- Il a fini! Il veut maintenant commander, son choix lui convient. Tu
as quelquepart un bouton "commander". Des qu'il clique, tu rappelles
ses details, et tu lui fais confirmer. Evidemment, tu verifies encore
une fois que ses details sont complets, et lui donnes l'opportunite de
les modifier. S'il le fait, tu mets la table details_utilisateurs de ta
base a jour.

- finalement il commande : Tu ajoutes a ta table choix_photos
autant d'entree qu'il a fait de choix, avec son id_utilisateur, et a
chaque entree, l'id_photo correspondant. Le derbnier cha,p de cette
base, id_commande est juste la pour organiser tes commandes, et les
conserver. Grace a ce champ tu pourras si tu le desires, voir combien
de commandes, en tout, a passe un utilisateur donne.

- une fois la commande effectuee, tu peux t'envoyer un mail avec
l'id_commande de cette commande, eventuellement le nom de photos avec,
les details de l'utilisateur, etc.



Voila le principe. Je passe les requetes sur ta base, mais vraiment ce
n'est rien de tres complique. Ca a l'air, mais ca ne l'est pas.

Maintenant, je me doute que tu cherchais beaucoup plus simple!

Mais a mon avis tu te heurteras vite a des problemes, ou des besoins,
en simplifiant trop, des besoins auquel cette demarche-ci repondra sans
probleme.



En dehors de ca : je vois donc dans ton idee le probleme de
l'identification utilisateur. Si tu lui fais confiance, tu peux te
passer de ca, et lui demander juste son adresse, ou email, a chaque
commande terminee. Dans ce cas, tu peux utiliser un fichier, mais il
faudra vraiment un nom different. Tu peux les nommer ainsi : choix0001
pour le 1er, et ainsi de suite. Il te faudra evidemment, a chaque
nouvelle commande, verifier ou tu en es de ce chiffre dans ton fichier
(il faut decouper le nom des fichiers presents dans le repertoire prevu
a cet effet, et en extirper ce nombre. Tu prends le plus grand, tu
l'incrementes de 1 et crees ton nouveau fichier.

Un moyen, avec ce que tu as deja : tu as ton textarea. Tu le remplis a
chaque clic sur le bouton. Ok. La, a chaque clic sur le bouton, tu
ouvres avec fopen, option a+, le fichier, et tu ecris le nom de la
photo. Tu fermes le fichier. Et ainsi de suite.

- fopen() ouvre un fichier. Les options sont diverses, a+ te permettant
de creer le fichier s'il n'existe pas deja, et d'ajouter a la fin du
fichier ce que tu veux y ecrire, afin de ne pas ecraser ce qu'il y
avait deja a l'interieur. Pour ecrire : fputs(), fwrite() etc...il y a
plusieurs possibilites.



A priori, c'est tout ce dont tu as besoin dans ce cas de figure la (ah,
ecrire le nom, email, adresse de la personne passant commande,
eventuellement, dans ec fichier).



Bon, c'etait long...un petit nouveau de 65 ans, ce n'est pas chose courante alors je me suis applique :-)