Boulette... [Résolu]

Signaler
Messages postés
103
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
30 avril 2007
-
Messages postés
103
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
30 avril 2007
-
J'explique la situation :

mon
boss veut que l'utilisateur de mon espace membre se connecte avec son
email et password au lieu d'un pseudo qu'il juge dorénavant inutile.

Je pensais qu'un Ctrl + F et remplacer 'pseudo' par 'mail' s'avèrerait
suffisant mais ce n'est pas le cas. De plus, dans ma frénésie sans fin,
j'ai supprimé la colonne pseudo de ma table (oui...)



Aussi, si j'envoie mes pages à une âme charitable qui daignerai se
pencher sur mon code --à moins que je ne les copie-colle içi mais ça
risque de faire trop-- pensez-vous pouvoir m'aider ?



Dis
moi si ma demande est quelque peu osée, en ce cas je vous présente toutes
mes excuses et vous remercie encore pour toute l'aide que vous m'avez déjà
apportée.

5 réponses

Messages postés
103
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
30 avril 2007

c'est bon je suis reparti de 0, j'avais modifié des variables $email
alors qu'il ne suffisait que de toucher aux $mail (en gros). Merci !
Messages postés
105
Date d'inscription
jeudi 24 juin 2004
Statut
Membre
Dernière intervention
28 juin 2006

salut

je suppose que le champ email etait deja dans ta table avent ?

dans ce cas je ne vois pas ou est la catastrophe ?

il te suffit de remplacer le champ de login par un champ email dans ton
formaulaire et d'aller chercher dans la base l'utilisateur
correspondant a l'email au lieu du login...

il te faut donc modifier ta procedure d'identification d'un utilisateur
(+qques requetes car je suppose qu'avant tout etait base sur le login,
dans ce cas bon courage a toi car tu devras repasser toutes les
requetes avec le nouvel identifiant...)

de plus il faut penser a passer le champ email comme cle de la table afin qu'il soit unique.



j'espere que je t'aide un peu, sinon precise car je n'ai peut etre pas compris le veritable pb.

ronan
----------
"Un programme sans bug est un programme qui n'a pas été suffisament testé."
Messages postés
103
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
30 avril 2007

Allez je met mon code kan même, j'essaie de mettre que le principal.
J'ai fais mes modifs, j'arrive à me connecter mais bien que le cookie
se crée, à la fermeture-réouverture de mon index, je ne suis pas
authentifié.



////////////////////////

--page connecter--



<?php

if(isset($_POST['mail']) && isset($_POST['mdp']))

//if(isset($pseudo) & !empty($pseudo) & isset($mdp) & !empty($mdp))

{



$mail= addslashes(htmlspecialchars($_POST[mail]));

$mdp=addslashes(htmlspecialchars($_POST[mdp]));





connecter();

$query="SELECT * FROM `membres` WHERE `mail` LIKE '$mail' and `mdp` LIKE '$mdp'";

$result=@mysql_query($query);

$num=@mysql_num_rows($result);

$row=@mysql_fetch_row($result);

if($num==0){

echo "

<center>Erreur cet email (et/ou mot de passe) est



incorrect!</center>
";

}else

{

//connexion établie

$mail = $row[2];

$meme = $row;



//-------------Cookies-----------------

setcookie('mail', $mail, time()+2592000); //délai d'un mois

setcookie('mdp', $mdp, time()+2592000);



$_SESSION['mail']=$mail;

$_SESSION['meme']=$meme;



header('Location: espace_membre.php?page=3');

}

}

?>



//////////////////////////////



--page info_persos--- //je n'arrive pplus du tout à accéder à cette page ;(



<?php

if(!isset($_SESSION['mail']))

{

echo "<script language='javascript'>document.location='espace_membre.php?page=1'</script>";

}

else

{

if(isset($_POST['email']) && !empty($_POST['email']) && isset($_POST['mdp']) &&



!empty($_POST['mdp']))

{

connecter();



$mdp=addslashes(htmlspecialchars($_POST['mdp']));

$email=addslashes(htmlspecialchars($_POST['email']));

$age=addslashes(htmlspecialchars($_POST['age']));

$sexe=addslashes(htmlspecialchars($_POST['sexe']));

$infos_comp=addslashes(htmlspecialchars($_POST['infos_comp']));



$query="UPDATE `membres` set



`mdp`='$mdp',`mail`='$email',`age`='$age',`sexe`='$sexe',`infos_comp`='$infos_comp' WHERE `mail`



LIKE '$email'";

$result=@mysql_query($query);



echo "<script



language='javascript'>document.location='espace_membre.php?page=3'</script>";

}else

{

connecter();

$query="SELECT * FROM `membres` WHERE `mail` LIKE '$email'";

$result=@mysql_query($query);

$row=@mysql_fetch_row($result);

if($row){

echo "<center> Infos perso: </center>";

echo "";

echo "<form action ='espace_membre.php?page=5' method='post'



enctype=multipart/form-data>\";

echo \"----
Adresse
e-mail:, , \";

echo \"----
Mot de
passe:, , \";

echo \"----
----, Age: </td>";

echo "<select
name=age><option value=-
selected>".stripslashes($row[3])."</option>";

for($i=0;$i<100;$i++) echo "<option value='$i'>$i</option>";

echo "</select> ans, \";

echo \"----
----, Sexe: </td>";

echo "F ";

echo "M";

echo "----, </tD>\";

echo
\"----
----, Informations
complémentaires: </td>";

echo "<textarea name=infos_comp rows=4

cols=20>".stripslashes($row[5])."</textarea>";

echo ", \";

echo \"</tD>\";

echo \"----
, \";

echo \"----
retour, \";

echo "
</form>";

echo "<center>Les changements seront pris en compte lors de votre



prochaine connection</center>";

echo "

";

}

else{

echo "<script



language='javascript'>document.location='espace_membre.php?page=3'</script>";

}

}

}

?>



/////////////////////////////



///par contre j'accède à celle-ci///

--page MesAbonnements--

<?php

if(!isset($_SESSION['mail']))

{

echo "<script language='javascript'>document.location='espace_membre.php?page=1'</script>";

}?>

<html>



<head>

<meta http-equiv="Content-Language" content="fr">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>Abonnes</title>

</head>





Ici je renseigne et modifie mes informations personnelles.


Quels est le sport qui m'intéresse (plusieurs choix) ?


Qui suis-je ?


&nbsp;&nbsp;&nbsp; Joueur


&nbsp;&nbsp;&nbsp; Entraineur


&nbsp;&nbsp;&nbsp; Dirigeant


&nbsp;


Etc.


&nbsp;


&nbsp;






</html>



////////////////////////////



--page inscription-- //elle aussi inacessible



<?php

if(isset($mail) && !empty($mail)

&& isset($mdp)) && !empty($mdp))

{

$mail=addslashes(htmlspecialchars($_POST['mail']));

$mdp=addslashes(htmlspecialchars($_POST['mdp']));

$url_site=addslashes(htmlspecialchars($_POST['url_site']));

$age=addslashes(htmlspecialchars($_POST['age']));

$sexe=addslashes(htmlspecialchars($_POST['sexe']));

$infos_comp=addslashes(htmlspecialchars($_POST['infos_comp']));



connecter();

$query="SELECT * FROM `membres` WHERE `mail` LIKE '$mail'";

$result=@mysql_query($query);

$num=@mysql_num_rows($result);

if($num==0){

$query="INSERT INTO `membres` VALUES ('','$mdp','$mail','$age','$sexe','$infos_comp')";

$result=@mysql_query($query);

//''''''''''''''''''''''''''''''''''''''

if(!empty($avatar))

{

$query="SELECT * FROM `membres` WHERE `mail` LIKE '$mail'";

$result=@mysql_query($query);

$row=@mysql_fetch_row($result);

$ext = ".jpg";

$nom_image=($row[0].$ext);

$chemin = "images/".$nom_image;

move_uploaded_file($HTTP_POST_FILES["avatar"]["tmp_name"],$chemin);

}



///////////////

echo "

<center>Inscription réussie
Vous pouvez désormais
vous connecter ici</center>
";



}else

echo "

<center>Un autre membre utilise déjà cette adresse email
!</center>
";

}

?>
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,



et la structure de ta table ?



Au passage, vire les @ devant tes differentes requetes, tu verras si tu as une erreur, au moins.
Messages postés
103
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
30 avril 2007

-- Structure de la table `membres`

--



CREATE TABLE `membres` (

`id_membre` int(4) NOT NULL auto_increment,

`mdp` varchar(30) NOT NULL default '',

`mail` varchar(60) NOT NULL default '',

`age` int(3) NOT NULL default '0',

`sexe` char(1) NOT NULL default '',

`infos_comp` text NOT NULL,

PRIMARY KEY (`id_membre`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;



--

-- Contenu de la table `membres`

--



INSERT INTO `membres` VALUES (1, 'kamel', 'kamelB@gmail.com', 0, '', '');

INSERT INTO `membres` VALUES (2, 'miguel', 'dsds@fre.com', 26, 'm', '');

INSERT INTO `membres` VALUES (3, 'coco', 'coco@coco.fr', 0, '', 'test réussi');

INSERT INTO `membres` VALUES (4, 'michel', 'michel@mi.fr', 0, '', '');

INSERT INTO `membres` VALUES (5, 'kkkkk', 'test@test.fr', 0, '', '');

INSERT INTO `membres` VALUES (6, 'miguel', 'miguel@hotmail.fr', 0, '', 'test');

INSERT INTO `membres` VALUES (7, 'test', 'test@test.fr', 20, 'f', 'bbfgh');

INSERT INTO `membres` VALUES (8, 'test', 'rrr@rrr.fr', 0, '', '');

INSERT INTO `membres` VALUES (9, 'caca', 'test2@test.fr', 56, 'm', 'fdsfdsfdsf');