Message de confirmation si un formulaire n'est pas soumi

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Message de confirmation si un formulaire n'est pas soumi

Re: Message de confirmation si un formulaire n'est pas soumi

par moogli » 11 janv. 2014, 11:53

Lorsque tu clic sur le bouton submit du formulaire avec l'upload le fichier est chargé dans le répertoire du serveur web et supprimé une fois le script terminé.

Si tu souhaite confirmation il faut que tu deplaçe le fichier dans un répertoire temporaire ou dans le répertoire final et que tu stock l'information.
Généralement c'est dans une table SQL.
Tu peux avoir une table avec
Id image : clef primaire
Id utilisateur : clef étrangère de la table utilisateur (histoire de savoir a qui elle appartient)
État : temporaire / validé / a supprimer
Date upload : date Time ou timestamp de l'upload

Lors de l'upload tu insert une ligne dans cette table avec l'état à temporaire
A la validation tu passe l'état en validé


Pour le ramasse miettes c'est simple tu select sur cette table qui ont l'état "a supprimer" ou l'état temporaire avec une date d'upload plus vieille que x minutes (à toi de voir le x minutes qui te convient).
Tu Traite le résultat du select avec la suppression des fichiers indiqués par la requête.
Tu fait un delete sur la table avec le même prédicat que le select ou mieux tu vérifie que le delete du fichier se passe bien. Si oui tu met dans une table l'id image et pour le delete tu utilise la clause SQL in dans le prédicat.
Comme tu ne supprime de table que les lignes dont le fichiers est réellement supprimé ;)

Cg ripât est a exécuter plusieurs fois par jour (cron système).

Si l'utilisateur supprime une image tu supprime le fichier et la ligne qui correspond dans la table.

Ce système permet d'avoir plusieurs images par utilisateur.

@+

Re: Message de confirmation si un formulaire n'est pas soumi

par nico44530 » 10 janv. 2014, 20:58

Merci de ta réponse,

Comment je fais pour faire un "ramasse miette" ?
En théorie, je pense que la photo s'upload dans un répertoire temporaire, et si le membre clique sur Publier, j'insère le chemin de la photo avec son nom.
Et sinon je la supprime.

Je ne sais pas comment faire :(

Re: Message de confirmation si un formulaire n'est pas soumi

par moogli » 10 janv. 2014, 12:14

salut,

ton event affiche simplement une demande de confirmation de navigation.
Tu ne pourras faire quelque chose "d'universel" ainsi (par exemple si le navigateur est tué ton event ne sera pas pris en compte).

Il est préférable de travailler dans un répertoire temporaire et d'utiliser un "ramasse miette" pour le nettoyer régulièrement.

ceci n’empêche pas le message de confirmation existant.

et peux te permettre, (en gérant le chose avec une base de donnée) de proposer aux personne qui viennent sur le formulaire de le pré remplir avec les information précédente (avant passage du ramasse miette).

@+

Message de confirmation si un formulaire n'est pas soumi

par nico44530 » 10 janv. 2014, 01:34

Bonjour,

J'ai un script d'upload de photo.
J'aimerais que dès qu'on actualise, qu'on clique sur un lien ou qu'on quitte la page,
un message de confirmation s'affiche.

Et donc si on clique sur "Quitter la page", j'efface la photo sur le serveur.

Normalement ça se fait en javascript, j'ai essayé avec ça, mais ça marche pas :

[javascript]
if(('#statut .statutWrap textarea').value != ''){
window.onbeforeunload = function(){
return "T'es sûr de vouloir fermer ?";
};
}
[/javascript]

Merci d'avance ;)