Page 1 sur 1
Aide pour validation de 5 personnes via mail
Posté : 23 janv. 2007, 06:38
par crash
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;
Posté : 23 janv. 2007, 12:39
par Maitrepylos
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
}
Posté : 23 janv. 2007, 13:27
par crash
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;
Posté : 23 janv. 2007, 13:47
par Maitrepylos
Je te donnais une piste, à toi d'améliorer en fonction de ton niveau de sécurité
Posté : 23 janv. 2007, 14:04
par crash
Ok merci ça m'a permis d'avancer
Cordialement;
Posté : 23 janv. 2007, 20:55
par crash
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;
Posté : 24 janv. 2007, 00:33
par crash
Bonjour,
C'est bon j'ai trouvé la solution, en regardant sur php.net et en modifiant suivant mes besoins.
Cordialement;
Posté : 24 janv. 2007, 05:20
par crash
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;
Posté : 24 janv. 2007, 10:44
par Maitrepylos
il te manques les = et les valeurs
Code : Tout sélectionner
$result = mysql_query("UPDATE `latable` SET `validuser`= $unevaleur WHERE `validuser`= $_GET['id']");
Posté : 24 janv. 2007, 11:23
par Ryle
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 ;)
Posté : 24 janv. 2007, 18:00
par crash
Bonjour,
Merci Ryle pour ta bonne explication, qui m'a aidé à réussir
Cordialement;