Double formulaire !!! Aide !!!

Petit nouveau ! | 6 Messages

14 sept. 2012, 19:41

Tout d'abord, bonjour a tous.


J'aurais besoin d'aide.

Pour empecher mes visiteurs de remplir 2 formulaire d'affilé dans la meme journée. J'utilise :


A l'affichage du formulaire

Code : Tout sélectionner

$resultat = ($_COOKIE["cookie_doblon"]); //Si la variable est vide if(empty($resultat)) { echo 'affiche le formulaire'; } //Sinon else { header('Location: http://www.mon-site.com/deja-remplie.html'); }
Apres la page de remerciement :

Code : Tout sélectionner

setcookie('cookie_doblon', 'Cookiesdoblon', (time() + 172800));
En fait je mets un cookies, et si le gars revient au formulaire apres avoir deja remplie , il est redirigé direct vers une page genre 'vous avez déja remplie'

Ca marche bien, mais encore beaucoup trop passe au travers. Je voudrais ajouter l'IP aussi en detection, par exemple en créant une table s'il le faut dans la bdd, mais comment puis je faire ?

Merci d'avance a ceux qui pourrait m'aider, et bien sur a aussi a ceux qui ont pris le temps de lire.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

14 sept. 2012, 19:51

salut,

regarde dans la variable $_SERVER tu y trouvera ton bonheur.
tu peux y ajouter le navigateur pour em**** un peu plus les gens ;)

Le seul moyen de faire quelque chose de vraiment sécurisé c'est d'autoriser l'accès a ces formulaires qu'après connexion.

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 6 Messages

14 sept. 2012, 19:57

Merci a toi, mais au niveau code je suis encore au tout debut.

si c'est pas abusé ça s'écrirait comment ?


#-o

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

14 sept. 2012, 22:34

avec le clavier :mrgreen: :mrgreen: :mrgreen:

fait des tests, regarde ce qu'il y a dans $_SERVER, et si tu ne t'en sort pas revient avec ton code :)


@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 6 Messages

14 sept. 2012, 22:40

Ok, j'ai déja mater la fonction $_SERVER bien intéressante. Et je vais m'entrainer.

Je reviendrais avec le code tout fait : =D>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

14 sept. 2012, 22:50

Ok, j'ai déja mater la fonction $_SERVER bien intéressante. Et je vais m'entrainer.
VARIABLE ....
Il en faut peu pour être heureux ......

Petit nouveau ! | 6 Messages

16 sept. 2012, 12:30

je galere comme un fou.

Pourrait tu me filer un tuyau.

Tous les email sont dans la table jos_rsform_submission_values et dans la colonne FieldValue

j'aimerais avoir mon bout de code qui va chercher dans cette table, avec si oui alors echo 'oui' ou si non alors echo 'non'

Comme ça quand l'internaute remplie le formulaire, avant d'envoyer le mail de confirmation je fait ce contrôle.

J'espere que ca sera possible pour toi ?

Eléphant du PHP | 343 Messages

16 sept. 2012, 20:30

select * from jos_rsform_submission_values where FieldValue='$mail'
Et tu récupères le nombre de résultats de la requête.
Développeur web

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

17 sept. 2012, 13:38

<?php
$sql = 'select count(*) as nb from jos_rsform_submission_values WHERE FieldValue=\''.mysql_real_escape_string($mail).'\'';
// mysql_query et mysql_fetch_assoc
// résultat à l'index nb
// if / else ici
?>
Il serait préférable de créer des sujets différents en fonction des problèmes plutot que de les entasser sur le même

de plus
j'aimerais avoir mon bout de code qui va chercher dans cette table, avec si oui alors echo 'oui' ou si non alors echo 'non'
on en te feras pas tout, le but c'est de t'aider à apprendre.

je te conseil, par exemple : http://www.phpdebutant.org pour cela.


@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 6 Messages

17 sept. 2012, 17:04

Tout d'abord merci a nouveau pour votre aide.

Voici mon magnifique code :

Code : Tout sélectionner

//Declaration de la variable a chercher $pseudo ="[email protected]"; //Requete $sql = 'select count(*) as nb from jos_rsform_submission_values WHERE FieldValue=\''.mysql_real_escape_string($pseudo).'\''; $requete = mysql_query($sql)or exit(mysql_error()); // fait la requete $nb = mysql_fetch_assoc($requete); if($nb['nb'] > 0) { // si le nombre est 1 echo 'Le mail est deja present : '; } else { echo 'Le mail est pas present : '; } ?>

Petit nouveau ! | 6 Messages

17 sept. 2012, 19:57

..

C'est pas magnifique ?

Ca mérite une huée d'applaudissement :lol: :lol:
Mais c'est pas grave.

Bon J'ai pas encore fait tous les tests, mais je sens que c'est bon la.
Au fait, si vous êtes coincé en PHP, demandez moi c'est bon j'ai tout compris. :arrow: :^o