Aide pour validation de 5 personnes via mail

Eléphant du PHP | 99 Messages

23 janv. 2007, 06:38

Bonjour,

Je suis en train de faire un système de validation et j'ai quelques soucis je ne vois pas comment avancer, je m'explique:

J'ai un formulaire avec plusieurs champ en gros un chan "mail" ou la personne dois rentrer son mail et dans ce formulaire la personne doit rentrer 5 pseudo ainsi que 5 mails donc ça fait "pseudo1" "pseudo2" ... "mail1", "mail2".... les informations sont bien stoqués dans une base de donnée et via une requete SELECT je les récupère dans une page php qui sert d'administration. En gros j'aimerais envoyer un mail aux 5 personnes avec deux liens, un lien accepter et un autre lien refusé, si la personne pseudo1 clique sur le lien accepté alors le chiffre 1 sera en vert dans un tableau hors si la personne pseudo1 clique sur refusé ça mettra toujours le chiffre 1 dans le tableau mais en rouge, idem pour pseudo2 qui mettra le chiffre 2 a côté de l'autre.

Je ne sais pas comment m'y prendre, après de nombreuses recherches sur google je n'ai pas trouvé ce que j'attendais.

Si une personne pourrais me donner une piste, je suis prenneur.

Merci d'avance.

Cordialement;

Mammouth du PHP | 1029 Messages

23 janv. 2007, 12:39

Bonjour,
fais une url vers ton fichier avec un infod en get

je refuse :
http://monsite/pageMail.php?reponse=non

j'accepte :

http://monsite/pageMail.php?reponse=oui


et dans ton fichier pageMail.php
if($_GET['reponse']==non)
{
   //mettre 1 en rouge 
}
elseif($_GET['reponse']==oui)
{
   //mettre 1 en bleu
}
else
{
  //prévoir une erreur on ne sait jamais
}



L'expérience est la somme de toutes nos erreurs.

Eléphant du PHP | 99 Messages

23 janv. 2007, 13:27

Bonjour,

Merci pour la réponse mais le mieux ne serait pas d'utiliser le uniqid pour ne pas que la personne puisse valider a la place en connaissant le lien?

Merci.

Cordialement;

Mammouth du PHP | 1029 Messages

23 janv. 2007, 13:47

Je te donnais une piste, à toi d'améliorer en fonction de ton niveau de sécurité
L'expérience est la somme de toutes nos erreurs.

Eléphant du PHP | 99 Messages

23 janv. 2007, 14:04

Ok merci ça m'a permis d'avancer :)


Cordialement;

Eléphant du PHP | 99 Messages

23 janv. 2007, 20:55

Re bonjour,

J'aimerais juste s'avoir à quel endroit dans une requete sql il fallait mettre la syntaxe pour générer un uniqid, et bien évidement quel est la syntaxe pour pouvoir y générer.

En espérant avoir été assez claire.

Merci.

Cordialement;

Eléphant du PHP | 99 Messages

24 janv. 2007, 00:33

Bonjour,

C'est bon j'ai trouvé la solution, en regardant sur php.net et en modifiant suivant mes besoins.

Cordialement;

Eléphant du PHP | 99 Messages

24 janv. 2007, 05:20

Re bonjour c'est encore moi...

J'ai réussis a utiliser la fonction uniqid qui s'enregistre bien dans la base de donnée ainsi via l'envoit des 5 mails l'uniqid arrive bien dans les mails... le soucis c'est pour que les personnes acceptent ou non le lien.

j'ai donc créer 5 champs validuser1,validuser2,validuser3,validuser4,validuser5 et 5 champ status .

Quand les personnes clique sur le lien ça envoit a la page confirm.php voici ce que j'ai ajouté a l'intérieur:

Code : Tout sélectionner

for ($i=1;$i<=5;$i++) { if($var['validuser'.$i] == "1") { echo " <green>".$i."</green> "; }elseif($var['validuser'.$i] == "0"){ echo " <red>".$i."</red> "; } }
Par contre pour que les enregistrements fonctionnnent il faut utiliser plusieurs requetes avec "UPDATE" c'est donc à cet endroit que je bloque je ne sais pas comment m'y prendre :

Code : Tout sélectionner

$result = mysql_query("UPDATE `latable` SET `validuser` WHERE `validuser` $_GET['id']");
Cette requete n'est pas bonne car je n'ai aucune idée comment procéder pour faire marcher ce système...

Si une personne pourrais m'expliquer, je lui serais reconnaissant.

Merci encore.

Cordialement;

Mammouth du PHP | 1029 Messages

24 janv. 2007, 10:44

il te manques les = et les valeurs

Code : Tout sélectionner

$result = mysql_query("UPDATE `latable` SET `validuser`= $unevaleur WHERE `validuser`= $_GET['id']");
L'expérience est la somme de toutes nos erreurs.

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

24 janv. 2007, 11:23

Pour information les quotes `` de mysql n'ont d'intérêt que si le nom du champ est un mot clé sql, afin de le protéger et éviter des erreurs d'interpretation (et à la limite, il vaut mieux trouver un nom correct que de les utiliser). En dehors de cela, elles surchargent ton code inutilement à mon sens.

Il est également recommandé de sortir les variables des chaines pour une meilleure lisibilité et éviter les problème d'apostrophes/guillemets :)
$result = mysql_query("UPDATE latable SET validuser =". $unevaleur ." WHERE validuser = ".$_GET['id']); 
Ps : et avec la balises
 ça met le code en couleur ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 99 Messages

24 janv. 2007, 18:00

Bonjour,

Merci Ryle pour ta bonne explication, qui m'a aidé à réussir :)

Cordialement;