Function : reconnaître un utilisateur par son nom

nik029 Messages postés 315 Statut Membre -  
jeremy.s Messages postés 1248 Statut Membre -
Bonjour,

Comment reconnaître un utilisateur par son nom (username) et non par son id ?

Voici l'un de mes codes qui reconnait un utilisateur par son id :

<?php 
function info_users($id)
{
$id = (int)$id;
	$sql = mysql_query("SELECT * FROM users WHERE id='$id'");
	
	return mysql_fetch_assoc($sql);
}

if(!empty($_GET['id']))
{
$info=info_users($_GET['id']);

if($info == false)
{
?>
<script language="Javascript">document.location.replace("accueil.php");</script>
<?php 
}
}else{
?>
<script language="Javascript">document.location.replace("accueil.php");</script>
<?php
}
?>


Merci d'avance



--
Une fois un problème résolu, mettez un +1 sur la réponse qui vous à aidez et mettez Problème Résolu ! ;-)

14 réponses

  1. jeremy.s Messages postés 1248 Statut Membre 79
     
    Salut !

    SELECT * FROM users WHERE nom='$nom'
    Non ?
    0
  2. nik029 Messages postés 315 Statut Membre 44
     
    C'est ce que j'ai fais mais c'est dans cette partie j'ai l'impression que ça bloque :
    $id = (int)$id;
    

    car si je met :
    $username=(text)$username;


    rien ne fonctionne
    0
  3. jeremy.s Messages postés 1248 Statut Membre 79
     
    text n'est pas un type, string oui.
    $username=(string)$username;
    0
  4. nik029 Messages postés 315 Statut Membre 44
     
    Merci de ta réponse, ça m'a bien aidé.

    Problème, vu que je me sert de cela pour faire un URL Rewritring,

    quand je fais cela :

    RewriteEngine on
    RewriteBase /m
    RewriteRule ^profil-(.+).php$   profil.php?username=$1[L] 


    La redirection de ce code sur la page profil.php :

    <?php if(!empty($_GET['username']))
    {
    $info=info_users($_GET['username']);
    
    if($info == false)
    {
    ?>
    <script language="Javascript">document.location.replace("accueil.php");</script>
    <?php 
    }
    }else{
    ?>
    <script language="Javascript">document.location.replace("accueil.php");</script>
    <?php
    }
    ?>


    Ce met en route. Comment faire pour que la page s'affiche correctement ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jeremy.s Messages postés 1248 Statut Membre 79
     
    Il faut faire une autre fonction ;-)
    Une qui récupère les infos avec l'id, et l'autre avec le username

    function info_users_withId($id)
    {
    .....
    }

    function info_users_withName($username)
    {
    .....
    }

    Donc tu appelles l'une ou l'autre suivant ce que t'as sous la main comme info (id ou username)
    0
  7. nik029 Messages postés 315 Statut Membre 44
     
    C'est ce que j'ai fait :

    La fonction

    function info_users_username($username)
    {
    $username=(string)$username; 
    	$sql = mysql_query("SELECT * FROM users WHERE username='$username'");
    	
    	return mysql_fetch_assoc($sql);
    }
    

    .htaccess

    RewriteEngine on
    RewriteBase /m
    RewriteRule ^profil-(.+).php$   profil.php?username=$1[L]
    

    profil.php

    <?php if(!empty($_GET['username']))
    {
    $info=info_users_username($_GET['username']);
    
    if($info == false)
    {
    ?>
    <script language="Javascript">document.location.replace("accueil.php");</script>
    <?php 
    }
    }else{
    ?>
    <script language="Javascript">document.location.replace("accueil.php");</script>
    <?php
    }
    ?>


    Hors un profil-username.php redirige toujours vers accueil.php
    0
  8. jeremy.s Messages postés 1248 Statut Membre 79
     
    if($info == false)
    {
    ?>
    <script language="Javascript">document.location.replace("accueil.php");</script>
    <?php
    }
    }else{
    ?>
    <script language="Javascript">document.location.replace("accueil.php");</script>
    <?php
    }

    Dans tous les cas tu rediriges vers l'accueil :)

    0
  9. nik029 Messages postés 315 Statut Membre 44
     
    Oui mais lorsque mon url est de

    profil.php?username=username

    la page s'affiche correctement..

    La redirection est faite pour que quand l'utilisateur saisie dans l'url n'existe pas, on le redirige vers l'accueil.
    0
  10. jeremy.s Messages postés 1248 Statut Membre 79
     
    la page s'affiche correctement..
    Où est le problème alors ? :p
    0
  11. nik029 Messages postés 315 Statut Membre 44
     
    Car j'aimerais que la page s'affiche correctement lorsque c'est profil-username.php, ce qui n'est pas le cas car elle fais une redirection vers accueil.php ;)
    0
  12. jeremy.s Messages postés 1248 Statut Membre 79
     
    La réécriture d'url c'est pas spécialement mon truc donc j'ai peur de pas pouvoir t'aider la dessus =/
    0
  13. nik029 Messages postés 315 Statut Membre 44
     
    J'ai vu sur internet que le [L] (dans .htaccess) peut ce modifier en [QSA] et très truc comme cela mais je comprends pas trop...

    Une fois un problème résolu, mettez un +1 sur la réponse qui vous à aidez et mettez Problème Résolu ! ;-)
    0
  14. nik029 Messages postés 315 Statut Membre 44
     
    Quelqu'un pourrait-il m'aider ?
    0
  15. jeremy.s Messages postés 1248 Statut Membre 79
     
    Refais un post à mon avis ;-)
    0