Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/12/2011, 12h02   #1
Membre confirmé
 
Avatar de baggie
 
Inscription : octobre 2007
Messages : 676
Détails du profil
Informations personnelles :
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2007
Messages : 676
Points : 225
Points : 225
Par défaut Meilleure manière de procéder pour envoi de mail et accès à du contenu

Bonjour

Je vous écris ici pour savoir quelle est la meilleure manière de résoudre mon problème.

Je dois créer un formulaire : l'utilisateur choisit un visuel et tape un message. Il saisit ensuite une adresse mail (page 1).

Il soumet le formulaire, une page s'affiche avec son visuel et son message (pour voir ce que ça donne ensemble) (page 2).

Il clique ensuite sur "OK" : ça envoie un lien à l'adresse mail saisie à la première page.

Ensuite, le lien permet d'atterrir sur une page contenant le visuel et le message.

Je n'ai jamais fait de système comme celui-ci donc concrètement comment se fait ce système ?
Est-ce que toutes les informations (visuel, message) sont stockées en bdd et l'id contenu dans le lien du mail permet de les retrouver ? Ou est-ce que l'on passe tout en GET (au risque d'avoir de longues url) ??

Je vous remercie
baggie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 14h41   #2
Membre à l'essai
 
Développeur Web
Inscription : octobre 2010
Messages : 55
Détails du profil
Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2010
Messages : 55
Points : 21
Points : 21
tu demande à créer un système complet, en freelance c'est des choses qui se payent

première page : ton formulaire de choix mais on ne sait pas comment tu comptes choisir le visuel
Code :
1
2
3
4
5
6
7
<form action="page2.php" method="post">
<input type="radio" name="visuel" value="1"> visuel 1
<br /><input type="radio" name="visuel" value="2"> visuel 2
<br />e-mail : <input type="text" name="email">
<br />message : <textarea name="message"></textarea>
<br /><input type=submit">
</form>
page2 afficher le preview :
Code :
1
2
3
4
5
6
7
<img src="url/de/ton/visuel/<?php echo $_POST['visuel'] ?>.php">
<br />Message : <?php echo $_POST['message'] ?>
<form action="page3.php" method="post">
<input type="hidden" name="visuel" value="<?php echo $_POST['visuel'] ?>">
<input type="hidden" name="message" value="<?php echo htmlspecialchars($_POST['message']) ?>">
<input type="hidden" name="email" value="<?php echo $_POST['email'] ?>">
<br /><input type=submit" value="OK">
page3 envoie l'email
Code :
1
2
3
4
5
6
7
8
<?php
 /* Enregistrer les infos et créer le lien : là il faut savoir si tu utilise une base de données ou du flatfile... */
$lien = '...';
$destinataire = "<$_POST['email']>";
$expediteur = "From: \"Mon Contact Site\" <contact@monsite.com>";
$objet = 'Objet du message';
$msg = "vous avez reçu un message pour le voir suivez ce lien : $lien";
mail($destinataire, $objet, $msg, $expediteur);
Avec ça tu devrais commencer à faire tourner quelque chose qui ressemble à ce que tu demande.
Titum est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 15h01   #3
Membre confirmé
 
Avatar de baggie
 
Inscription : octobre 2007
Messages : 676
Détails du profil
Informations personnelles :
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2007
Messages : 676
Points : 225
Points : 225
Merci pour ta réponse Titum.

Tu écris pour le code de la page 3 : Enregistrer les infos et créer le lien : là il faut savoir si tu utilise une base de données ou du flatfile...

C'est justement ça ma question, y'a-t-il une meilleure façon de procéder entre ces 2 là ? Dois-je obligatoirement passer par une base de données ?

C'était plus quelque chose comme ça que je me posais comme question que le système complet comme tu le dis
baggie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 15h39   #4
Membre à l'essai
 
Développeur Web
Inscription : octobre 2010
Messages : 55
Détails du profil
Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2010
Messages : 55
Points : 21
Points : 21
ca dépend du genre d'infos, de la quantité, si elles sont temporaires ou si tu veux les garder sur du long terme.

Personnellement j'ai un système identique où le lien est valide 30 jours donc je crée un fichier html contenant juste le bout de code nécessaire, avec un nom de fichier unique et je le colle comme identifiant dans le lien. Par exemple www.monsite.com/voir.php?id=nomdepageUnique
voir.php inclus ton fichier et voilà.
Après j'ai fait un petit fichier log à coté histoire de garder quelques stats et chaque jour une tâche cron supprime les vieux fichiers.
Pas besoin de blinder une base de données pour des données qui seront utilisées 2 fois avant de tomber dans l'oubli !
Titum est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 15h49   #5
Membre confirmé
 
Avatar de baggie
 
Inscription : octobre 2007
Messages : 676
Détails du profil
Informations personnelles :
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2007
Messages : 676
Points : 225
Points : 225
Merci pour cette réponse, la façon de faire est assez intéressante, je vais peut-être me tourner vers ceci !
baggie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 15h59   #6
Membre à l'essai
 
Développeur Web
Inscription : octobre 2010
Messages : 55
Détails du profil
Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2010
Messages : 55
Points : 21
Points : 21
pas besoin du code ?
Titum est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 16h03   #7
Membre confirmé
 
Avatar de baggie
 
Inscription : octobre 2007
Messages : 676
Détails du profil
Informations personnelles :
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2007
Messages : 676
Points : 225
Points : 225
Jamais fait de tâche cron donc ça risque d'être un peu galère.
Pour le reste, ça ne devrait pas être si compliqué que ça ?!?
baggie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 16h11   #8
Membre à l'essai
 
Développeur Web
Inscription : octobre 2010
Messages : 55
Détails du profil
Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2010
Messages : 55
Points : 21
Points : 21
en fait ce n'est même pas nécessaire, il suffit de lancer de temps en temps un php qui fait un unlink sur les fichiers à la date > 30 jours. Si certains restent dispo au-delà ce n'est pas bien grave.

Ou bien mettre le code dans une page accédée régulièrement et utiliser un fichier quotidien pour éviter de lancer le nettoyage plusieurs fois par jour.
Par exemple : si le fichier 11-12-2012.txt (hier) existe je fais le ménage, supprime 11-12-2012.txt et crée 12-12-2012.txt sinon je ne fais rien.
Un file_exists() est rapide.
Titum est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 16h18   #9
Membre confirmé
 
Avatar de baggie
 
Inscription : octobre 2007
Messages : 676
Détails du profil
Informations personnelles :
Âge : 23
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2007
Messages : 676
Points : 225
Points : 225
Oui en effet, je vais voir ce que je peux faire. Merci de ton aide !
baggie est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h31.


 
 
 
 
Partenaires

Hébergement Web