Function : reconnaître un utilisateur par son nom

nik029 Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   -  
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   -
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


14 réponses

jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Salut !

SELECT * FROM users WHERE nom='$nom'
Non ?
0
nik029 Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   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
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
text n'est pas un type, string oui.
$username=(string)$username;
0
nik029 Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   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
nik029 Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   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
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   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
nik029 Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   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
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
la page s'affiche correctement..
Où est le problème alors ? :p
0
nik029 Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   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
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   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
nik029 Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   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
nik029 Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   44
 
Quelqu'un pourrait-il m'aider ?
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Refais un post à mon avis ;-)
0