begin process at 2012 05 28 17:34:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

besoins d'aide svp


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

besoins d'aide svp

samedi 1 mars 2008 à 01:45:04 | besoins d'aide svp

emillionclub

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  = "<p>Merci !</p><p>Vous devriez recevoir un e-mail à l'adresse suivante : ".$email.".</p>";
    $page_confirmation .= "<p>Veuillez confirmer l'inscription en cliquant sur le lien se trouvant sur le mail.</p>";
    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 .= "<p>Merci de remplir le formulaire ci-dessous :</p>";
$page_inscription .= "<p>Login désiré :</p><p><input type=\"text\" name=\"nom\" size=\"20\" maxlength=\"20\" value=\"".$nom."\" /></p>";
$page_inscription .= "<p>Mot de passe :</p><p><input type=\"password\" name=\"pass\" size=\"20\" maxlength=\"20\" value=\"".$pass."\" /></p>";
$page_inscription .= "<p>Confirmation du mot de passe :</p><p><input type=\"password\" name=\"pass2\" size=\"20\" maxlength=\"20\" value=\"".$pass2."\" /></p>";
$page_inscription .= "<p>E-mail :</p><p><input type=\"text\" name=\"email\" size=\"20\" maxlength=\"100\" value=\"".$email."\" /></p>";
$page_inscription .= "<p>Login de votre PARRAIN :</p><p><input type=\"text\" name=\"parrain\" size=\"20\" maxlength=\"20\" value=\"".$parrain."\" /></p>";
$page_inscription .= "<p>Numéro Fétiche :</p><p><input type=\"text\" name=\"fetich\" size=\"20\" maxlength=\"2\" value=\"".$fetich."\" /></p>";
$page_inscription .= "<p><input type=\"submit\" value=\"S'inscrire\" /></p>";
$page_inscription .= "<p style=\"color:#ff0000;font-weight:bold;\">".$error."</p>";
$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 : <a href=\"".$_SERVER["PHP_SELF"]."\">here</a>.";
}
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 <a href=\"../".$page_redirection."\">ICI</a>.";
      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 <a href=\"".$_SERVER["PHP_SELF"]."?code=".$code."&BL=2\">ici</a> 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 "<p>".$page_validation."</p>";
}


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

Merci d'avance

adrien
samedi 1 mars 2008 à 10:30:16 | Re : besoins d'aide svp

Evangun

Réponse acceptée !
Hello,

tu connais les variables GET ?

mapage.php?parrain=toto

à+
samedi 1 mars 2008 à 13:17:23 | Re : besoins d'aide svp

emillionclub

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
samedi 1 mars 2008 à 16:08:33 | Re : besoins d'aide svp

Evangun

Je ne sais pas si tu as trouvé depuis tout à l'heure, mais tu récupères la variable avec $_GET['parrain'].
à+
samedi 1 mars 2008 à 16:21:04 | Re : besoins d'aide svp

emillionclub

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?
samedi 1 mars 2008 à 17:33:30 | Re : besoins d'aide svp

Evangun

Réponse acceptée !
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.
samedi 1 mars 2008 à 17:56:39 | Re : besoins d'aide svp

emillionclub

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 .= "<p>Merci de remplir le formulaire ci-dessous :</p>";
$page_inscription .= "<p>Login désiré :</p><p><input type=\"text\" name=\"nom\" size=\"20\" maxlength=\"20\" value=\"".$nom."\" /></p>";
$page_inscription .= "<p>Mot de passe :</p><p><input type=\"password\" name=\"pass\" size=\"20\" maxlength=\"20\" value=\"".$pass."\" /></p>";
$page_inscription .= "<p>Confirmation du mot de passe :</p><p><input type=\"password\" name=\"pass2\" size=\"20\" maxlength=\"20\" value=\"".$pass2."\" /></p>";
$page_inscription .= "<p>E-mail :</p><p><input type=\"text\" name=\"email\" size=\"20\" maxlength=\"100\" value=\"".$email."\" /></p>";
$page_inscription .= "<p>Login de votre PARRAIN :</p><p><input type=\"text\" name=\"parrain\" size=\"20\" maxlength=\"20\" value=\"".$_GET['parrain']."\" /></p>";

$page_inscription .= "<p>Numéro Fétiche :</p><p><input type=\"text\" name=\"fetich\" size=\"20\" maxlength=\"2\" value=\"".$fetich."\" /></p>";
$page_inscription .= "<p><input type=\"submit\" value=\"S'inscrire\" /></p>";
$page_inscription .= "<p style=\"color:#ff0000;font-weight:bold;\">".$error."</p>";
$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


Cette discussion est classée dans : mail, page, mysql, email, inscription


Répondre à ce message

Sujets en rapport avec ce message

fonction mail [ par refkaben ] salut tous le monde!j'ai un formulaire d'inscription, si un membre vient de s'inscrire on lui envoi un mail lui demandant de me contacter, voila le co Erreur - unexpected T_ELSEIF [ par Frank9321 ] Bonjour,j'ai fait un petit code PHP mais la, ca me bloque. Il me dit:Parse error: syntax error, unexpected T_ELSEIF in E:\www\inscription\inscription variable php et mysql [ par pascb423 ] Bonjour,j'ai une fonction mail qui envoi un mail, mais j'aimerai dans le sujet du mail insérer des enregistrements d'une base de donnée, je vous donne recuperer la valeur d'un type=hidden [ par kaiemma ] Bjr a tous. j'ai 3 pages html et ma base de données est en MySql. la première page contient permet de renseigner les informations de base de mon formu au secours formulaire envoi par email en pdf [ par lyamcarter ] Bonjour, J'avoue ne rien y comprendre en php.J'ai beau avoir essayez c'est compliqué. Je dois faire une page html et une page PHP c'est tout se que j' envoie email via fonction php mail() [ par midoxe ] bonjour, c'est la première fois que je viens sur ce forum. voilà mon problème : j'essaye d'utiliser la fonction mail() dans une page .php en local a impossible de se connecter a la base sur mon systeme virtuel mais en ligne cela fonctionne [ par lorant59 ] bnnjour à tous et à toutes! jai mon fichier qui permet de valider mon formulaire mais impossible de se connecter à la base lorsque je suis sur mon sys PROBLÈME D'AFFICHE EN PHP [ par sarita1987 ] Bonjour tout le monde, ça fait deux que j'ai pas touché a PHP est franchement la j'arrive pas à me retrouver j'espère trouver de l'aide ici, j'ai cré envoi d'un mail automatiquement avec piece jointe [ par chris9722 ] Bonjour à tous, Développeur de métier ! plutôt orienté C C++ en milieu SSII, je dois aujourd'hui développer des applications en PHP avec une DB mysql Avertir lors de l'inscription si un email existe dèjà dans une base de données [ par honey87 ] Bonjour, je suis entrain de créer un site web ou il y a des pages de contact ainsi que l'inscription à la newsletter.. je voudrais avertir l'interna


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales