Besoins d'aide svp [Résolu]

Signaler
Messages postés
13
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
4 avril 2008
-
Messages postés
13
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
4 avril 2008
-
Hello tout le monde, Quelqu'un peux-til m'aider svp?


J'ai un probleme et je ne m'en sort pas, j'y comprend pas grand chose!

Je souhaite faire un lien de parrainage tout simple:


Dans ma page d'inscription j'ai l'emplacement PARRAIN et il s'uffit de
l'indiquer pour qu'il soit dans MySql dans la BDD! Le truc c'est que
j'aimerais qu'il soit entré automatiquement par un lien (donc dans
l'adresse) mais comment?


Ma page d'inscription est en 2 pages: J'ai une page VERIFICATION.php3 qui "require" la page "inscription.php3"

<?php
//------------------------------------------------------
// Fonction Inscription
// - Attribution d'une id unique
// - Tous les champs doivent être remplis
// - Les deux champs passwords doivent être identiques
// - Les champs ne doivent pas contenir d'apostrophe
// - Le login ne doit pas déjà exister
// - Le mail ne doit pas être dans la blackliste
// - Envoi d'un mail avec une adresse de confirmation
//------------------------------------------------------
function inscription()
{
require "connect.inc.php3";
$page=$serveur.$_SERVER["PHP_SELF"];
$nom=$_POST["nom"];
$pass=$_POST["pass"];
$pass2=$_POST["pass2"];
$email=$_POST["email"];
$parrain=$_POST["parrain"];
$fetich=$_POST["fetich"];
$IP=$_SERVER['REMOTE_ADDR'];
$heure=time();

// Attendre qu'il n'y ait pas d'autres user avec le même numéro de session.
do
{
$uniqueid=md5(time());
$resultat = mysql_query("SELECT * FROM users WHERE uniqueid='$uniqueid'");
}
while(false!=($ligne = mysql_fetch_array($resultat)));

// Vérification diverses et variées.
if($nom=="" || $pass=="" || $pass2==""
|| $email==""){show_form($nom,$pass,$pass2,$email,'Certains champs ne
sont pas remplis !');die();} // Tous les champs doivent être remplis
if($pass!=$pass2){show_form($nom,$pass,$pass2,$email,'Le
mot de passe et la confirmation sont différents.');die();} // Le mot de
passe et la confirmation doivent être identiques
if(!(!strrpos($_POST["nom"], "'")
&& !strrpos($_POST["pass"], "'") &&
!strrpos($_POST["email"], "'"))){show_form($nom,$pass,$pass2,$email,'Ne
pas utiliser de caractères spéciaux');die();} // Eviter les failles SQL
$resultat = mysql_query("SELECT * FROM users WHERE userid='$nom'");
if(false!=($ligne = mysql_fetch_array
($resultat))){show_form($nom,$pass,$pass2,$email,$parrain,$fetich,"Le
membre (".$nom.") existe déjà");die();}  // Si le login est déjà pris
$resultat = mysql_query("SELECT * FROM users WHERE email='$email' AND level='blacklist'");
if(false!=($ligne = mysql_fetch_array
($resultat))){show_form($nom,$pass,$pass2,$email,$parrain,$fetich,"L'adresse
e-mail (".$email.") est blacklistée. Utilisez une autre adresse
mail.");die();}   // Si l'e-mail est dans la blacklist

$subject  = "Veuillez confirmer votre inscription";
$headers  = "From: ne_pas_repondre@emillionclub.com\n";
$message  = "Veuillez confirmer votre inscription\n";
$message .= "Bonjour ".$nom."\n\n\n";
$message .= "Vous avez recu ce mail
parce que vous ou quelqu'un d'autre utilisant votre adresse mail s'est
enregistre sur le site ".$site_name.".\n\n";
$message .= "Pour valider cet inscription, cliquez sur ce lien :\n ".$page."?code=".$uniqueid."&BL=0 \n\n";
$message .= "Si vous vous n'êtes pas inscrit sur ".$site_name.", veuillez ignorer ce message et accepter nos excuses.\n\n";
$message .= "Vous pouvez aussi choisir
d'ajouter votre mail à notre blacklist pour ne plus recevoir de mail
d'inscription de notre part en cliquant sur ce lien :\n
".$page."?code=".$uniqueid."&BL=1 \n\n";
$message .= "Votre e-mail a ét; envoyé de l'IP ".$IP.".\n\n\n";
$message .= "Cordialement,\n";
$message .= "Le Webmaster";

// Envoi du mail
if(@mail($email, $subject, $message, $headers))
    {
    $query = "INSERT INTO users VALUES
('$nom','$pass','$uniqueid','en_attente','$email','$parrain','$fetich','$heure','$IP')";
// On ajoute le membre à la liste avec le status en attente
    mysql_query($query);
    mysql_close();

    $page_confirmation  =
"Merci !

Vous devriez recevoir un e-mail à
l'adresse suivante : ".$email.".

";
    $page_confirmation .=
"Veuillez confirmer l'inscription en cliquant sur le lien se
trouvant sur le mail.

";
    echo $page_confirmation;
    }
else
{
    
show_form($nom,$pass,$pass2,$email,$parrain,$fetich,"Le mail de
confirmation n'a pu être envoyé. Peut-être que l'adresse n'est pas
valide. Veuillez contacter le webmaster s'il vous plait.");
}
}

//------------------------------------------------------
// Fonction Formulaire
// - Retourne le formulaire avec les messages d'erreurs
//------------------------------------------------------
function show_form($nom="",$pass="",$pass2="",$email="",$parrain="",$fetich="",$error="")
{
$page_inscription  = "<form action="".$_SERVER["PHP_SELF"]."" method="post">";
$page_inscription .= "Merci de remplir le formulaire ci-dessous :

";
$page_inscription .= "Login
désiré :

";
$page_inscription .= "Mot de
passe :

";
$page_inscription .=
"Confirmation du mot de passe :

";
$page_inscription .= "E-mail
:

";
$page_inscription .= "Login
de votre PARRAIN :

";
$page_inscription .= "Numéro
Fétiche :

";
$page_inscription .= "

";
$page_inscription .= "".$error."

";
$page_inscription .= "</form>";
echo $page_inscription;
}

//-------------------------------------------------------------------------------
// Fonction de vérification de l'adresse de confirmation
// - Suppression des utilisateurs n'ayant pas confirmer avant la durée impartie
// - Extraction de la personne concernée
// - Validation de son enregistrement
// - Si l'on veut être blacklisté, après confirmation on effectue le blacklistage
// - Le webmaster recoit un mail lorsque l'inscription est validé
//-------------------------------------------------------------------------------
function code_check($code="",$BL="")
{
require "connect.inc.php3";

$heure=time();

// On profite de l'occasion pour supprimer les users n'ayant pas confirmé dans la durée impartie
$heure2=$heure-$validite;
mysql_query("DELETE FROM users WHERE heure<$heure2 AND level='en_attente'");

// On extrait la personne qui souhaite valider son inscription
$uniqueid=$code;$resultat mysql_query("SELECT * FROM users WHERE uniqueid'$uniqueid' AND level='en_attente'");
if(false==($ligne = mysql_fetch_array ($resultat)))
{
mysql_close();
$page_validation = "Ce code n'existe
pas, est expiré ou à déjà été validé, veuillez remplir à nouveau le
formaulaire : here.";
}
else
{
  // Si l'utilisateur vient pour confirmer, on passe son level de "en_attente" à "registered"
  if($BL==0)
  {
      mysql_query("UPDATE users SET level='registered' WHERE uniqueid ='$uniqueid' AND level='en_attente'");
      $page_validation = "Merci, vous
êtes maintenant enregistré ! Vous pouvez maintenant vous connectez
librement ICI.";
      if ($mail_controle==1)
      {
       $subject="Nouvelle inscription sur $site_name";
       $message="Bonjour,\n\n";
       $message.="Un nouveau membre vient de s'inscrire :\n";
       $message.="Nom : ".$ligne["userid"]."\n";
       $message.="E-Mail : ".$ligne["email"]."\n";
       $headers="From: emillionclub.com\n";
       @mail($adresse_webmaster, $subject, $message, $headers);
      }
  }
  // Si l'utilisateur vient pour être blacklisté, on passe son level de "en_attente" à "blacklist"
  // Mais avant une petite confirmation
  if($BL==1)
  {
      $page_validation = "Vous
souhaitez ajouter votre adresse mail à notre blackliste. Cliquez ici
pour que vous puissiez confirmer.";
  }
  // Si l'utilisateur a confirmé qu'il veut être dans la liste noire, on l'y met
  if($BL==2)
  {
      mysql_query("UPDATE users SET level='blacklist' WHERE uniqueid ='$uniqueid' AND level='en_attente'");
      $page_validation = 'Votre e-mail a été blacklisté. Vous ne receverez plus aucun e-mail de notre part.';
  }
  mysql_close();
}
echo "".$page_validation."

";
}

Je sais que c'est pas clair mais si quelqu'un peux m'aider  c'est avec grand plaisir!

Merci d'avance

adrien

6 réponses

Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Hello,

tu connais les variables GET ?

mapage.php?parrain=toto

à+
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Tu le mets dans la page qui reçoit la variable. Autrement dit, si le lien c'est mapage.php?parrain=toto, dans mapage.php.
Messages postés
13
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
4 avril 2008

euh non je connais pas trop le php, je le comprend , je le lit , par contre et j'arrive plus ou moins à le modifier  mais j'ai essayer de mettre dans l'adresse : verification.php3?parrain=toto   mais çà fait fien!

tu peux m'en dire plus stp?

merci
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Je ne sais pas si tu as trouvé depuis tout à l'heure, mais tu récupères la variable avec $_GET['parrain'].
à+
Messages postés
13
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
4 avril 2008

ok  je vais essayer je te tien au courant!
si jcomprend bien $_GET['parrain'] je peux le mettre n'importe sur la page ou cette vvariable à une place bien précise?
Messages postés
13
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
4 avril 2008

Super çà fonctionne! Merci car çà fait presque 1 semaine que j'y suis dessus (oui j'aime trouver par moi-même aussi ^^)

Alors je l'ai mis là  la variable:




function show_form($nom= "",$pass="",$pass2="",$email="",$parrain="",$fetich="",$error="")
{
$page_inscription  = "<form action="".$_SERVER["PHP_SELF"]."" method="post">";
$page_inscription .= "Merci de remplir le formulaire ci-dessous :

";
$page_inscription .= "Login désiré :

";
$page_inscription .= "Mot de passe :

";
$page_inscription .= "Confirmation du mot de passe :

";
$page_inscription .= "E-mail :

";
$page_inscription .= "Login de votre PARRAIN :

";
$page_inscription .= "Numéro Fétiche :

";
$page_inscription .= "

";
$page_inscription .= "".$error."

";
$page_inscription .= "</form>";
echo $page_inscription;
}








sur ma page " inscription.php3 "

l'inscription se fait sur: ma page VERIFICATION.php3 qui require "inscription.php3"

qui donne:

http://www.monsite.com/validation.php3?parrain =MOI

Merci beaucoup