Problème d'authentification

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème d'authentification

par djtec » 13 mai 2007, 09:05

Désolé d'avoir enlevé le résolu mais il y a bien un probleme d'envoi du mail d'activation

Voici le code
<? 
session_start();

include('includes/config.inc.php'); 
require('includes/function.php') ;
$c = @mysql_connect($host,$login_host,$pass_host) or die('connection impossible');
@mysql_select_db($hostname,$c) or die('selection impossible'); 


//recup des champs
$chaine = "abcdefghijklmnopqrstuvwxyz0123456789"; 
$confirm = str_shuffle($chaine); // On créée le code de confirmation qui permettra au membre de valider son compte
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$mdp = mysql_real_escape_string($_POST['mdp']);
$verif_mdp = mysql_real_escape_string($_POST['verif_mdp']);
$mail = mysql_real_escape_string($_POST['mail']);

$prenom = mysql_real_escape_string($_POST['prenom']); 
$born = mysql_real_escape_string($_POST['born']);
$gender = mysql_real_escape_string($_POST['gender']); 
$pays = mysql_real_escape_string($_POST['pays']); 
$msn = mysql_real_escape_string($_POST['msn']); 
$website = mysql_real_escape_string($_POST['website']); 

$point = strpos($mail,".");//Verif si l'email contient un point
$aroba = strpos($mail,"@");//Verif si l'email contient un aroba

if ($point=='')
{
$reponse = '<p><font color="red"><b>Votre email doit comporter un point</b></font></p>'; 
}
else if ($aroba=='')
{
$reponse = '<p><font color="red"><b>Votre email doit comporter un "@"</b></font></p>';
}	
	
//On verifie si le pseudo et l'email sont connues
$verification = mysql_query("SELECT COUNT(*) FROM pdf_membre WHERE pseudo='$pseudo' OR mail='$mail'"); 
$donnees = mysql_fetch_array($verification); 
if($donnees['COUNT(*)'] >= 1)
{ 
$reponse = '<p><font color="red"><b>Ce pseudo ou cet email sont déjà utilisé, veuillez en choisir d\'autres !</b></font></p>';  	
}
else if( $mdp != $verif_mdp) //On verifie que les 2 pass sont identiques
			{
$reponse = '<p><font color="red"><b>Les mots de passe ne sont pas identiques !</b></font></p>';
} 

//Si tout est bon on envoi le mail et on insere avec confirm 0
else 
{

$date = date("Y-m-d"); //Date du jour
$sql = "INSERT INTO pdf_membre(id, pseudo, mdp, mail, confirm, prenom, pays, born, gender, msn, website, date) VALUES ('', '".$pseudo."', '".$mdp."', '".$mail."', '".$confirm."', '".$prenom."', '".$pays."', '".$born."', '".$gender."', '".$msn."', '".$website."', '".$date."')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

$message1 = '<html><body>Bonjour ' . $pseudo . ' et bienvenue<br>'; 
$message1 .= '<br>';
$message1 .= 'Vous venez de vous inscrire et nous sommes heureux<br>de pouvoir vous compter aujourd\'hui parmi nos membres.<br>'; 
$message1 .= '<br>';
$message1 .= 'Voici un rappel de vos identifiants, notez les précieusement: <br>';
$message1 .= '----------------------------<br>';
$message1 .= 'Votre Pseudo :' . $pseudo .'.<br>';
$message1 .= 'Votre Mot de passe :' . $mdp .'.<br>';
$message1 .= 'Votre Mail :' . $mail .'.<br>';                            
$message1 .= '----------------------------';
$message1 .= '<br>';
$message1 .= 'Si vous souhaitez changer vos informations, rendez-vous dans votre compte pour les mettre à jour.<br>';
$message1 .= '<br>';
$message1 .= 'Votre Clé d\'activation:<br>';
$message1 .= 'http://www.monsite.com/confirm.php?login=' . str_replace(' ','%20',$pseudo) . '&confirm=' . $confirm . '<br>';
$message1 .= '<br>';
$message1 .= 'A très bientôt sur le site!';

$entete = "MIME-Version: 1.0\r\n";
$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
$entete .= "From: <$adresse_webmaster>\r\n";
$entete .= "Reply-To: $adresse_webmaster\r\n";   
//Envoi du mail	
mail($mail,'Confirmation d\'inscription' , $message1, $entete);
	
//Texte vu sur le site par le nouvel inscrit
$reponse = '<p><font color="green"><b>Enregistrement réussi.</b></font></p><br>
Toutefois, ce site requière l\'activation du compte,<br>
une clef d\'activation a été envoyée vers l\'adresse email que vous avez fournie.<br>
Veuillez vérifier votre boîte email pour de plus amples informations.';
}
?>
Je ne comprend pas pourquoi maintenant les mail d'activation ne s'envoie plus ce qui me pose un gros problème

par djtec » 13 mai 2007, 00:22

A mon avis il faut pas chercher du moment que cela fonctionne c'est le principal

par dunbar » 12 mai 2007, 22:40

En faites j'ai trouvé mais je comprend pas pourquoi

La ligne d'envoie était celle-ci
mail($email,'Confirmation d\'inscription' , $message1, $entete);
Et j'ai changé email pour mail

Comme ceci
mail($mail,'Confirmation d\'inscription' , $message1, $entete);
Mais ce qui est bizar c'est qu'il fonctionnait avant avec la première ligne qui était fausse car se n'était pas la bonne déclaration


Je te remercie de ton aide dunbar
Je ne comprend pas non plus :?:

par djtec » 12 mai 2007, 20:57

En faites j'ai trouvé mais je comprend pas pourquoi

La ligne d'envoie était celle-ci
mail($email,'Confirmation d\'inscription' , $message1, $entete);
Et j'ai changé email pour mail

Comme ceci
mail($mail,'Confirmation d\'inscription' , $message1, $entete);
Mais ce qui est bizar c'est qu'il fonctionnait avant avec la première ligne qui était fausse car se n'était pas la bonne déclaration


Je te remercie de ton aide dunbar

par dunbar » 12 mai 2007, 20:52

Non pas du tout dans ma base le champs mdp était nommé pass donc j'ai juste renommé se champ en mdp mais je n'ai rien fait d'autre pourtant j'ai délété le compte et recréer le même avec la même adresse e-mail et je l'avais reçu mais la je le reçoit plus

Et moi non plus je comprend pas pourquoi d'un coup sa ne fonctionne plus
Le reste du mail est correct ?
Comme par exemple le Login est bien dans le mail ?

par djtec » 12 mai 2007, 20:50

Non pas du tout dans ma base le champs mdp était nommé pass donc j'ai juste renommé se champ en mdp mais je n'ai rien fait d'autre pourtant j'ai délété le compte et recréer le même avec la même adresse e-mail et je l'avais reçu mais la je le reçoit plus

Et moi non plus je comprend pas pourquoi d'un coup sa ne fonctionne plus

par dunbar » 12 mai 2007, 20:45

Par contre maintenant j'ai un autre problème il n'envoie plus l'e-mail avec la clef de confirmation
Je voie pas le rapport avec l'autre erreur :-k
Si cela fonctionnais avant c'est que tu a probablement modifier autre chose :?:

par djtec » 12 mai 2007, 20:35

Par contre maintenant j'ai un autre problème il n'envoie plus l'e-mail avec la clef de confirmation

par dunbar » 12 mai 2007, 20:00

Désolé mais c'est bon j'ai trouvé.

C'était une erreur dans ma bdd.


Merci
:gla:

par dunbar » 12 mai 2007, 19:58

Si tu regarde la requête il existe bien
$sql = "INSERT INTO pdf_membre(id, pseudo, 
mdp, mail, confirm, nom, prenom, pays, born, website, date) 
VALUES ('', '".$pseudo."', '".$mdp."', '".$mail."', '".$confirm."', '".$nom."',
 '".$prenom."', '".$pays."', '".$born."', '".$website."', '".$date."')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
Oui et alors :?:
Il te dit qu'il doit introduire une donnée dans le champs "mdp" mais qu'il ne le trouve pas
En clair cela veut probablement dire que le champ mdp n'existe pas dans ta TABLE (base Mysql). :boire4:

par djtec » 12 mai 2007, 19:57

Désolé mais c'est bon j'ai trouvé.

C'était une erreur dans ma bdd.


Merci

par djtec » 12 mai 2007, 19:53

Si tu regarde la requête il existe bien
$sql = "INSERT INTO pdf_membre(id, pseudo, mdp, mail, confirm, nom, prenom, pays, born, website, date) VALUES ('', '".$pseudo."', '".$mdp."', '".$mail."', '".$confirm."', '".$nom."', '".$prenom."', '".$pays."', '".$born."', '".$website."', '".$date."')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

par dunbar » 12 mai 2007, 19:38

Il ne doit pas le trouver mais l'insérer dans la base et la il n'arrive pas à l'insérer
Et comment il fait pour l'insérer si le champ n'existe pas :-k

par djtec » 12 mai 2007, 19:36

Il ne doit pas le trouver mais l'insérer dans la base et la il n'arrive pas à l'insérer

par dunbar » 12 mai 2007, 19:16

Ah oui j'avais oublié ca

Bon j'ai mis
$sql = "INSERT INTO pdf_membre(id, pseudo, mdp, mail, confirm, nom, prenom, pays, born, website, date) VALUES ('', '".$pseudo."', '".$mdp."', '".$mail."', '".$confirm."', '".$nom."', '".$prenom."', '".$pays."', '".$born."', '".$website."', '".$date."')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
Et voici l'erreur que j'ai

Code : Tout sélectionner

Unknown column 'mdp' in 'field list'
Pourtant je mdp est dans la liste si on regarde la requête
Si je ne me trompe pas :oops: il dit que mdp il ne le trouve pas dans ta TABLE :idea: