Espace-Membre : pb connexion - Forums de discussion

Navigation

Accueil du forum » PHP » Espace-Membre : pb connexion


Le sujet

toutsi83Espace-Membre : pb connexion
Par toutsi83, le Mardi 07/10/2008 à 17h55'21
5 messages
Re-bonjour
Autodidacte étudiant Php & MySQL, j'ai installé le script "web_espace_membre V1.2 | Script gratuit réalisé par Chmouc" en 2004.

Impossible de me connecter..? Même les echo ne fonctionnent pas !
NB : Dans if(isset : j'ai ajouté un 2e &, il n'y en avait qu'un... J'ai aussi testé en enlevant les <`>.

Page : connecter.php
<center><b>CONNEXION</b></center>

<?php
if(isset($pseudo) && !empty($pseudo) && isset($mdp) && !empty($mdp))
{

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


connecter();
$query="SELECT * FROM `membres` WHERE `pseudo` LIKE '$pseudo' and `mdp` LIKE '$mdp'";
$result=@mysql_query($query);
$num=@mysql_num_rows($result);
$row=@mysql_fetch_row($result);
if(
$num==0)
{
  echo 
"<br><br><center><font color='#990000'>Erreur ce pseudo (et/ou mot de passe) est incorrect!</font></center><br>";
}

else
{
    
//connexion Ètablie
    
$mail $row[3];
    
$meme $row;
    
//-----------------VERSION 1.1-----------------
    
$_SESSION['pseudo']=$pseudo;
    
$_SESSION['mail']=$mail;
    
$_SESSION['meme']=$meme;
    
//---------------------------------------------
    //session_register("pseudo");  VERSION 1.0 nÈcessitÈ d'avoir register_global=on
    //session_register("mail");
    //session_register("meme");
    
    
echo "Connexion Ètablie...";
    echo 
"<script language='javascript'>document.location='espace_membre.php?page=3'</script>";
    }
}
?>
<form action="espace_membre.php?page=1" method="post"> 
<table align="center" class="texte">
<tr><td>Pseudo: </td><tD><input type="text" name="pseudo"></tD></tr> 
<tr><td>Mot de passe: </td><tD><input type="password" name="mdp"></tD></tr>
<tr><tD colspan="2" align="center"><input type="submit" value="Envoyer"></tD></tr>
</table>
</form>

<div align="center"><a href="espace_membre.php?page=6"><font size="1">Mot de Passe oubliÈ ?</font></a></div>

<div align="center"><a href="espace_membre.php?page=2"><font size="1">S'inscrire</font></a></div>


Merci de votre aide.
Toutsi83.

[Message édité par toutsi83 le 07/10/2008 à 17h57'55]

[Message édité par toutsi83 le 07/10/2008 à 17h58'40]

________________
toutsi83

Les réponses

xersesPar xerses, le Mercredi 08/10/2008 à 01h17'13
736 messages
Dans tes isset et !empty, ll te faut utiliser les variables $_POST et non des variables $pseudo et $mdp qui n'existent pas.

Mets aussi des quotes dans tes $_POST["mdp"] et $_POST["pseudo"]

Que fait la fonction connecter() ?
Elle n'est décrite nulle part et à mon avis cette ligne ne sert à rien.

Pour le reste, ça doit tourner.
Tiens nous au courant.

________________
Anything that can go wrong will go wrong (Murphy)
Statut: Modérateur

toutsi83Par toutsi83, le Mercredi 08/10/2008 à 18h42'38
5 messages
Salut Xerses
Merci de ta réponse. C'est ok, je me connecte et récupère les infos (après bien des corrections...)dans une page appelée membres.php.
Le pb cette fois-ci vient de la page infos_perso.php qui permet de modifier les données (la page originale comportait bien des erreurs aussi), la page s'affiche mais elle est vide. Je cherche les erreurs depuis ce matin.
*******************************************
infos_perso.php =page 5 (avec les corrections)
<?php
if(!isset($_SESSION['pseudo']))
/// VERSION 1.0 : if(!session_is_registered("pseudo"))-> nÈcessitÈ REGISTER_GLOBALS &#8225; ON
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']));
        
$url_site=addslashes(htmlspecialchars($_POST['url_site']));
        
$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',`url_site`='$url_site',`age`='$age',`sexe`='$sexe',`infos_comp`='$infos_comp' WHERE `pseudo` LIKE '$pseudo'";
        
$result=@mysql_query($query);
        
        if(!empty(
$avatar))
        {
            
$ext ".jpg"
            
$nom_image=($meme[0].$ext);
            
$chemin "images/".$nom_image
            
move_uploaded_file($HTTP_POST_FILES["avatar"]["tmp_name"],$chemin); 
 
        }
        echo 
"<script language='javascript'>document.location='espace_membre.php?page=3'</script>";
    }else
    {
        
connecter();
        
$query="SELECT * FROM `membres` WHERE `pseudo` LIKE '$pseudo'";
        
$result=@mysql_query($query);
        
$row=@mysql_fetch_row($result);
        if(
$row){
        echo 
"<center><b>Infos perso:</b></center>";
        echo 
"<p>";
        echo 
"<form action='espace_membre.php?page=5' method='post' enctype=multipart/form-data><table align='center' class='texte'>";
        echo 
"<tr><td>Pseudo: </td><td><input type='text' name='pseudo' value='.stripslashes($_SESSION['pseudo']).' disabled></td></tr>";
        echo 
"<tr><td>Mot de passe: </td><td><input type='password' name='mdp' value='.stripslashes($row[2]).'></td></tr>";
        echo 
"<tr><td>Adresse e-mail: </td><td><input type='text' name='email' value='.stripslashes($row[3]).'></td></tr>";
        echo 
"<tr><td>Url de votre site: </td><tD><input type='text' name='url_site' value='.stripslashes($row[4]).'></tD></tr>";


        echo 
"<tr><td><tr><td>Age: </td><td>";
        echo 
"<select name='age'><option value='- selected'>'.stripslashes($row[5]).'</option>";
        for(
$i=0;$i<100;$i++) echo "<option value='$i'>$i</option>";
        echo 
"</select> ans</td></tr>";
        
        
        echo 
"<tr><td>Sexe: </td><td> ";
        echo 
"<input type='radio' name='sexe' value='f'>F ";
        echo 
"<input type='radio' name='sexe' value='m'>M";
        echo 
"</tD></tr>";
        
        
    
        echo 
"<tr><td valign='top'>Informations complÈmentaires: </td><td>";
        echo 
"<textarea name='infos_comp' rows='4' cols='20'>".stripslashes($row[7])."</textarea>";
        echo 
"</td></tr>";
        echo 
"<tr><td>Avatar (extension .jpeg seulement)*: </td><td>";
        echo 
"<input type='file' name='avatar'>";
        echo 
"</td></tr>";
        echo 
"<tr><td colspan='2' align='center'><input type='submit' value='Modifier'></td></tr>";
        echo 
"<tr><td colspan='2' align='center'><a href='espace_membre.php?page=3'><font size='1'>retour</font></a></td></tr>";
        echo 
"</table></form>";
        echo 
"<center><font size='1'>Les changements seront pris en compte lors de votre prochaine connection</font></center>";
        echo 
"</p>";
        }
        else{
        echo 
"<script language='javascript'>document.location='espace_membre.php?page=3'</script>";
        }
    }
}
?>

*******************************************
Membres.php=page3 = presque OK !
Comment formuler le code Avatar? Il ne trouve pas l'image !
<?php
if(!isset($_SESSION['pseudo']))
{
echo 
"<script language='javascript'>document.location='espace_membre.php?page=1'</script>";
}
else
{
?>
Bienvenue <b><? echo stripslashes($_SESSION['pseudo']);?></b>
    <br>
    <br>
Mon identifiant de membre est : <?php echo stripslashes($_SESSION['meme'][0]); ?><br>
Mon adresse e-mail:  <?php echo stripslashes($_SESSION['mail']); ?><br>
Mon site web:  <?php echo stripslashes($_SESSION['meme'][4]); ?><br>
Mon &#8218;ge:  <?php echo stripslashes($_SESSION['meme'][5]); ?><br>
Mon sexe:  <?php echo stripslashes($_SESSION['meme'][6]); ?><br>
Infos complÈtaires:  <?php echo stripslashes($_SESSION['meme'][7]); ?><br>
Mon avatar:<br>  <?php echo "<img src='images/".($_SESSION['meme'][0]).".jpg />'"?><br>

<br>
<br>
<a href="espace_membre.php?page=5">Modifier mes informations</a><br>
<a href="espace_membre.php?page=4">Se dÈconnecter</a>


<?
}
?>

****************************************
La fonction connecter () = OK.
<?php
//////FONCTIONS//////

function connecter()
{
    
//////////A MODIFIER/////////////////////////////////////
    
$host="localhost";//nom de l'hÙte
    
$user="root";//nom d'utilisateur
    
$password="root";//mot de passe de connection &#8225; la base de donnÈes
    
$bdd="espace_membre";//nom de votre base de donnÈes
    /////////////////////////////////////////////////////////
    
$connect=@mysql_connect($host,$user,$password);
    if(!
$connect)
    {
    echo 
"Erreur de connection &#8225; la base de donnÈes";
    exit;
    }
    
$select=@mysql_select_db($bdd);
    if(!
$select)
    {
    echo 
"Erreur de connection &#8225; la base de donnÈes";
    exit;
    }
}
?>

***************************************
C'est un script que j'avais téléchargé sur votre site il y a longtemps et qui ne marchait pas. Pour apprendre à programmer je le corrige, c'est un bon exercice, mais parfois, je suis coincé !
Les requêtes sont bizarement formulées (php4 ou antérieur..!?)
Merci de votre aide et bonne soirée.
Toutsi83

[Message édité par toutsi83 le 08/10/2008 à 18h47'34]

________________
toutsi83

xersesPar xerses, le Jeudi 09/10/2008 à 07h16'02
736 messages
Les images uploadées sont stockées dans un dossier "images". Celui-ci doit être préalablement présent à la racine du site pour que cela fonctionne.

Pour le soucis de la page vide, je pense qu'il s'agit toujours du même problème, à savoir les variables $_POST utilisées directement en tant que variables normales. Depuis je ne sais plus quelle version de PHP et aussi suivant l'hébergeur du site, il n'est plus possible de faire cela pour des questions de sécurité.

Bref, je pense qu'il faut modifier ta variable $pseudo et la remplacer par $_SESSION['pseudo'] ici :
connecter();
        $query="SELECT * FROM `membres` WHERE `pseudo` LIKE '$pseudo'";
        $result=@mysql_query($query);
        $row=@mysql_fetch_row($result);


Bonne journée.

________________
Anything that can go wrong will go wrong (Murphy)
Statut: Modérateur

toutsi83Par toutsi83, le Jeudi 09/10/2008 à 14h10'52
5 messages
Bonjour Xerses
Oui, j'ai essayé cela sans succès et bien d'autres choses aussi. J'ai réécrit le script selon PHP5 = item.
Cela bloque dès l'entrée de la page. J'ai fait une expérience avec un bonjour et appel echo. Seul, c'est ok, mais dès que j'ajoute la suite du script = bloquage !

Pour les images, le dossier est à la racine du site mais les img ne s'affichent pas dans membre.php.
je pense que c'est un pb de formulation.

Merci de ton aide, je continue mes recherches en essayant de ne pas devenir fada !

Bonne journée.
Toutsi

[Message édité par toutsi83 le 09/10/2008 à 14h14'39]

________________
toutsi83

xersesPar xerses, le Jeudi 09/10/2008 à 17h45'23
736 messages
Ce qu'il faudrait tester, c'est l'affichage des variables de Session. Un ptit echo print_r($_SESSION) te donnera toutes les informations de la session en cours.

A toi de voir ensuite s'il manque des informations. Si c'est le cas, il faut que tu vérifies si la fonction session_start() est bien présente sur chacune de tes pages.

Bonne chance.

________________
Anything that can go wrong will go wrong (Murphy)
Statut: Modérateur

raptorPar raptor, le Vendredi 10/10/2008 à 07h13'37
2217 messages
print_r juste, pas de echo
Ou un var_dump().

________________
Fondateur de Net-Pratique,
Ancien webmaster.
Statut: Administrateur/Webmaster

xersesPar xerses, le Vendredi 10/10/2008 à 07h15'57
736 messages
Exact

________________
Anything that can go wrong will go wrong (Murphy)
Statut: Modérateur

toutsi83Par toutsi83, le Dimanche 12/10/2008 à 17h40'59
5 messages
Bonjour à tous
Outre les fautes de frappe dans les scripts à corriger, il faut probablement tenir compte que ces scripts sont écris dans une version antérieure de Php (4 ?) et que certaines syntax ne sont peut-être plus compatibles avec la V 5.. Oui ou non ?

infos_perso.php :
Elle s'affiche mais vide. Ca bloque à partir de if(!empty($avatar))
Faut vérifier le $query pour savoir si il y a un result.
Donc, je vérifie l'ensemble du code pour trouver où le bas blesse et je reviendrai lancer le sujet sans quelques jours.
<!-- Session_start --><div align="left">Bonjour <span class="pseudo"><?php echo stripslashes($_SESSION['pseudo']); ?></span> ! Vous pouvez modifier vos infos !</div><!-- Fin Session_start --> = affichage sous certaines conditions, avec le else <form> = page vide.
A bientôt pour suivre la suite du feuilleton "Réadapter & corriger un espace-membres défaillant !"
Bonne soirée à tous et merci de votre aide.
Toutsi83

________________
toutsi83

xersesPar xerses, le Lundi 13/10/2008 à 12h41'06
736 messages
A priori, les fonctions utilisées dans ce script sont encore compatibles PHP5.

Le seul soucis apparent serait la gestion des variables globales.

Donne nous de tes nouvelles au plus vite.

________________
Anything that can go wrong will go wrong (Murphy)
Statut: Modérateur

rootPar root, le Vendredi 02/01/2009 à 16h47'50
1 message
SAlut toutsi83, j'ai dl sur un site le même script que toi, et j'ai vraimenet le meme genre de probleme. J'ai deja avancé sur certaine pas, mais n'ai pas trop envie de passer toute mes nuit dessus depuis que j'ai un p'tit bout plus trop le temps
Je me demandais si tu serais ok pour me faire un mail avec les différent fichier corrigé que tu as ?


regnierjoffrey @ hotmail.com
Attention au espace mis pour eviter les robot ;-)

Bien a toi et de bonne fete ;-)

________________
root

Pages

Réponses les plus anciennes... 1 ...Réponses les plus récentes

A lire également

- Les conditions générales d'utilisation du site

Top-sites membres

Les Amis des Animaux | -123 pointsastuces blog et ciné live | -299 pointsDark Lord Center | -327 pointsArmor Passion | -1616 points

Discussions récentes dans les forums

Membres
Pseudo:
Pass: Mémoriser ?
Problème d'identificationInscription gratuite
Tribune libre
CNIL: 1098091
Connectés: 13
Google:
Publicité: Site de rencard sur internet, vous permettant de dialoguer et pourquoi pas de faire une rencontre intéressante.