Page 1 sur 1

script de parrainage

Posté : 05 nov. 2007, 04:52
par choubix
hello,

je commence un script afin de recommander un site a ses amis.
parmi les outils je compte:
- mes 10 doigts
- les qq neurones qui me restent suite au w.e arrose (vive la serie d'anniversaires et de mariages! ;) )
- Swiftmailer (classe pour envoyer des emails)

la j'en suis au debut: je recupere les donnes d'un formulaire (5 prenoms, 5 noms, 5 mails)

je recupere ca:

$fname1 = (isset($_POST['fname1']))?$_POST['fname1']:'';
$lname1 = (isset($_POST['lname1']))?$_POST['lname1']:'';
$email1 = (isset($_POST['email1']))?$_POST['email1']:'';

$fname2 = (isset($_POST['fname2']))?$_POST['fname2']:'';
$lname2 = (isset($_POST['lname2']))?$_POST['lname2']:'';
$email2 = (isset($_POST['email2']))?$_POST['email2']:'';

$fname3 = (isset($_POST['fname3']))?$_POST['fname3']:'';
$lname3 = (isset($_POST['lname3']))?$_POST['lname3']:'';
$email3 = (isset($_POST['email3']))?$_POST['email3']:'';

$fname4 = (isset($_POST['fname4']))?$_POST['fname4']:'';
$lname4 = (isset($_POST['lname4']))?$_POST['lname4']:'';
$email4 = (isset($_POST['email4']))?$_POST['email4']:'';

$fname5 = (isset($_POST['fname5']))?$_POST['fname5']:'';
$lname5 = (isset($_POST['lname5']))?$_POST['lname5']:'';
$email5 = (isset($_POST['email5']))?$_POST['email5']:'';
comme les utilisateurs ne vont pas recommander en permanence a 5 de leurs copains le site je me demandais comment je pouvais faire de maniere rapide et propre pour stocker les infos dans une table. je souhaite juste les infos renseignees dans le formulaire

je pourrais tout stocker puis faire un DELETE des champs vides mais bon: je n'aime pas corriger, je prefere faire les choses un peu plus proprement ;)


par ailleurs: c'est le seul endroit ou les utilisateurs peuvent envoyer des emails depuis le site. je n'ai pas envie que des robots detournent cette fonctionnalite du site.

je pensais mettre une question toute simple a la fin du formulaire (genre: combien font 3 + 16 )
est ce que c'est suffisant ou je dois me faire un captcha? (apparement les captchas ne sont pas tous egaux devant les robots...)

pour swiftmailer: quels sont vos avis? il y a mieux?

Posté : 05 nov. 2007, 12:14
par Ryle
Que dirais tu d'un simple test pour vérifier si l'un au moins des champs n'est pas vide pour savoir si tu dois enregistrer l'info ?
if ($fname1!='' || $lname1!='' || $email1!='') {
  // ... insertion des données
}
Tu peux même l'adapter dans la mesure ou je suppose que le champ email est obligatoire :)

Pour lutter contre les robots, la question bête fonctionne très bien... maintenant si elle ne change pas, il suffit qu'un individu passe sur le site pour la voir et configurer son robot pour qu'il passe la bonne valeur.

Pour les captcha, effectivement, certains robots intègrent de la reconnaissance de caractère sur des images et donc peuvent parvenir a décripter un captcha

Posté : 05 nov. 2007, 12:55
par choubix
pas bete du tout comme idee et tres simple.

ca me permet de traiter au cas par cas...

pour ce qui est des tests anti robots:
le jeu du chat et de la souris adapte au web ;)
a la rigueur je peux me faire une petit bibli de questions a poser au hasard...