Forum » » Le coin des codeurs » » [Résolu] - Blems pour utilisation de la table extend_user...
Posté : 3 févr. 2005 à 23:42
<?php
//fonction a mettre dans header.php, afficher le resultat par:
//echo info_extend_user(); // a l'endroit ou on veut afficher la phrase
//la fonction peut etre largement ameliorée...
//1)en evitant de passer par une fonction
//2)gestion multilangue
function info_extend_user()
{
//recupere la variable globale user
global $user;
$message = "";
//si user est definie, autrmeent dit, si l'utilisateur est connecté
if (isset($user))
{
//recupere les info utilisateur par le cookie
cookiedecode($user);
$userid = $cookie[0];
$username = $cookie[1];
//on n'est pas obligé de passer par le cookie, on peut aussi
//recuperer les info de base de l'utilisateur directement par la variable $user (cryptée)
/*
$userdata = explode(":", base_64_decode($user));
$userid = $userdata[0];
$username = $userdata[1];
*/
//on n'est pas obligé d'indiquer exactement les noms des champs,
//on aurait pu utiliser un * pour tout recuperer,
//mais on ne sait jamais quelle taille va faire le champ B1 (blob) inutilisé ici,
//alors inutile de le recuperer
//@ devant mysql_query evite d'afficher une erreur au cas ou la requete merdouille
//j'en ai mis, mais en cas de programation propre, @ est inutile, puisque qu'on a prevu tous les cas
if ($result=@mysql_query("SELECT C1,C2,C3,C4,C5,C6,C7,C8,M1,M2,T1,T2 FROM users_extend WHERE uid = '$userid'"))
{
//verifie qu'il y a au moins une reponse
if ($temp = @mysql_fetch_array($result))
//je prefere utiliser un fetch_array, ce nest pas plus lent,
//et cest bien plus pratique en cas de modification de la table
{
//afficher les info
if ($temp[M1]=="1") // on peut ommettre =="1" pour tester une valeur differente de vide
{
$message = "Salut $username,";
//on teste le sexe
//fille
if ($temp[C2]=="f") $message .= "tu est une fille"; // $message .= "truc" est equivalent a $message = $message."truc"
//garcon
else $message .= "tu est un garçon";
$message .= ", tu as ".$temp[C1]." ans et les cheveux ".$temp[C3]." ... ";
}
else
//afficher une image
{
$message = "<img src.................>";
}
}
//libere la memoire occupée par la requete
@mysql_free_result($result);
}
}
//la fonction renvoie le resultat
return($message);
}
?>
Cet article provient de NPDS
https://www.npds.org/viewtopic.php?topic=15363&forum=5