website logo
Auteur
avatar
hexagone

Forum » » Le coin des codeurs » » [Résolu] - Blems pour utilisation de la table extend_user...


Posté : 3 févr. 2005 à 23:42 icone du post

salut,


ca devrait ptetre marcher...
essaie ca:



<?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