logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
32 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 109 365 199

  • Nb. de membres 8 695
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Questions »» [Résolu] - Affichage de la dernière connexion dans userinfo ?

[Résolu] - Affichage de la dernière connexion dans userinfo ?#22360

3Contributeur(s)
AnonymeTitoFURAX69
3 Modérateur(s)
developpeurjpbJireck
Anonyme Anonymeicon_post
Bonsoir,

pietre codeur et surtout débutant, je tente en vainc d'ajouter l'affichage de la derniere connexion d'un membre dans la fonction userinfo...

Plusieurs problèmes se posent à moi :

1 ma tentative de code renvoie ZERO pour ma variable $user_lastv


function userinfo($uname, $bypass=0) {
    global $user, $sitename, $smilies, $short_user, $site_font;
    global $name, $email, $url, $bio, $user_avatar, $user_icq, $user_aim, $user_yim, $user_msnm, $user_from, $user_occ, $user_intrest, $user_sig, $user_journal, <b>$user_lastv</b>;

    $uname=removeHack($uname);
    $result = mysql_query("SELECT uid, name, femail, url, bio, user_avatar, user_icq, user_aim, user_yim, user_msnm, user_from, user_occ, user_intrest, user_sig, user_journal, <b>user_lastvisit</b>, mns FROM users WHERE uname='$uname'");
    list($uid, $name, $femail, $url, $bio, $user_avatar, $user_icq, $user_aim, $user_yim, $user_msnm, $user_from, $user_occ, $user_intrest, $user_sig, $user_journal, $mns, <b>$user_lastv</b>) = mysql_fetch_array($result);
    if (!$uid) {
       header ("location: index.php");
    }
    if (!$bypass) {global $cookie;}
    !include!("header.php");
<b>echo "- $uname, c'est connecté pour la  dernière fois le ";
echo "$user_lastv";</b>



2 - A priori, même si $user_lastv revenait avec une valeur, elle serait égale à un entier et donc à mettre en forme ? Mais comment ?

Merci d'avance à ceux qui voudront/pourront aider un débutant en code ;)

++
Anonyme Anonymeicon_post
Pas très animé par ici... A moins que ma demande ne soit trop complexe ? :-?
Tito Titoicon_post
Tu as inversé mns et user_lastv (l'odre dans la requête n'est pas le même que dans le list)
Anonyme Anonymeicon_post
Merci Tito, cela répond à la question 1 et au retour zéro... J'ai maintenant la bonne valeur qui s'affiche... :=!

Reste à savoir comment la mettre en forme de date :-?
Tito Titoicon_post
Regarde la fonctiond date() de PHP :=!
Anonyme Anonymeicon_post
Ca y est... Ca marche !!! :=!

Pour ceux que ça intéresserait, voici la fonction userinfo modifiée de telle façon que la fiche d'un membre, présente la date ou l'heure de sa dernière connexion :




function userinfo($uname, $bypass=0) {
    global $user, $sitename, $smilies, $short_user, $site_font, $oggi;
    global $name, $email, $url, $bio, $user_avatar, $user_icq, $user_aim, $user_yim, $user_msnm, $user_from, $user_occ, $user_intrest, $user_sig, $user_journal, $user_lastv;

    $uname=removeHack($uname);
    $result = mysql_query("SELECT uid, name, femail, url, bio, user_avatar, user_icq, user_aim, user_yim, user_msnm, user_from, user_occ, user_intrest, user_sig, user_journal, mns, user_lastvisit FROM users WHERE uname='$uname'");
    list($uid, $name, $femail, $url, $bio, $user_avatar, $user_icq, $user_aim, $user_yim, $user_msnm, $user_from, $user_occ, $user_intrest, $user_sig, $user_journal, $mns, $user_lastv) = mysql_fetch_array($result);
    if (!$uid) {
       header ("location: index.php");
    }
    if (!$bypass) {global $cookie;}
    !include!("header.php");
    
     
    $user_lastv=intval($user_lastv);
    $today=intval($today);
    $today = date("d.m.Y",time()+($gmt*3600)); //la date du jour
    $zlast=date("d.m.Y",$user_lastv); // la dernière connection
          if ($today==date("d.m.Y",$user_lastv)) { // si aujourd'hui, renvoi l'heure
      $zlast = date("H:i",$user_lastv);  //renvoi l'heure
      $oggi="Aujourd'hui à ";
      }
      if ($user_lastv<1) { $user_lastv="Jamais"; }
   
    if (($uname == $cookie[1]) || ($bypass==1)) {
       echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"HEADER\">\n";
       echo "$uname, ".translate("Welcome to")." $sitename";

       echo "</td></tr></table>\n";
       echo "<br />";
       echo "<p align=\"center\">".translate("This is your personal page")."</p><br />";
       nav($mns);
    }
    $email=removeHack($femail);
    $name=stripslashes(removeHack($name));
    $url=removeHack($url);
    $bio=stripslashes(removeHack($bio));
    $user_icq=stripslashes(removeHack($user_icq));
    $user_aim=stripslashes(removeHack($user_aim));
    $user_yim=stripslashes(removeHack($user_yim));
    $user_msnm=stripslashes(removeHack($user_msnm));
    $user_from=stripslashes(removeHack($user_from));
    $user_occ=stripslashes(removeHack($user_occ));
    $user_intrest=stripslashes(removeHack($user_intrest));
    $user_sig=nl2br(removeHack($user_sig));
    $user_journal=stripslashes(removeHack($user_journal));
    $op="userinfo";
    !include!("modules/sform/extend-user/aff_extend-user.php");
    echo "<br /><br />";
    opentable();
    if ($mns) {
       echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"HEADER\">\n";
       echo translate("Mini-Web site")." : <a href=\"minisite.php?op=$uname\" target=\"_blank\" class=\"ROUGE\"><b>".translate("the page")." ".translate("here")."</b></a></td></tr>";
       echo "</table>\n";
       echo "<br />";
    }
    echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"HEADER\">\n";
    echo "Dernière connexion de $uname : ";
    echo "</td></tr><tr><td>\n";
    
   
    echo $oggi, $zlast;
    echo "</td></tr></table>\n";

    echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"HEADER\">\n";
    echo translate("Online journal for")." $uname :";
    echo "</td></tr><tr><td>\n";
    echo $user_journal;
    echo "</td></tr></table>\n";


    echo "<br />";
    echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"HEADER\">\n";
    echo translate("Last 10 comments by")." $uname :";
    echo "</td></tr>\n";
    $result = mysql_query("select c.tid, c.sid, c.subject, s.ihome from comments c, stories s where c.sid=s.sid and name='$uname' order by tid DESC limit 0,10");
    while(list($tid, $sid, $subject, $ihome) = mysql_fetch_row($result)) {
       $rowcolor = tablos();
       if (ctrl_aff($ihome,0)) {
          echo "<tr $rowcolor><td><a href=\"article.php?thold=-1&mode=flat&order=0&sid=$sid#$tid\" class=\"NOIR\">$subject</a></td></tr>";
       }
    }
    echo "</table>\n";
    echo "<br />";
    echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"HEADER\">\n";
    echo translate("Last 10 news submissions sent by")." $uname :";
    echo "</td></tr>\n";
    $xtab=news_aff("libre", "where informant='$uname' order by sid DESC limit 10", "", 10);
    $story_limit=0;
    while (($story_limit<10) and ($story_limit<sizeof($xtab))) {
       $rowcolor = tablos();
       list($sid, $catid, $aid, $title) = $xtab[$story_limit];
       $story_limit++;
       echo "<tr $rowcolor><td><a href=\"article.php?sid=$sid\" class=\"NOIR\">".aff_langue($title)."</a></td></tr>";
    }
    echo "</table>\n";
    closetable();
    !include!("footer.php");
}




:=!

Anonyme Anonymeicon_post
Bon, si je compliquait encore un peu mon histoire :b

Cette fois, j'aimerais également faire apparaitre (toujours dans la fenêtre userinfo, le ,nombre de messages postés par le membre consulté...

C'est à dire le champs "post" de la table "users_status"...

Là, je coince sur le fait que je dois lancer un SELECT aussi sur cette table et une commande LIST sur le même UID...

HELP :-P 8-)
Tito Titoicon_post
Bah oui, tu t'en sors très bien! $uid a été défini par la requête (et le list) précédente
$query = mysql_query("SELECT post FROM users_status WHERE uid='$uid'");
list($posts) = mysql_fetch_array($query);
echo $posts;
Anonyme Anonymeicon_post


$query = mysql_query("SELECT postS FROM users_status WHERE uid='$uid'");



Manquait un S à post et je ne l'ai vu que ce matin... Comme quoi, après une bonne nuit de sommeil, on voit autrement :-P

En tout cas, un grand MERCI pour ton aide tito... Ca m'a permis de résoudre mes problèmes mais aussi de progresser en PhP :=!
Tito Titoicon_post
Mais de rien :=!

Pense à t'inscrire au lieu de poster en anonyme, ça permet un meilleur suivi :b
FURAX69 FURAX69icon_post
Au secour !!

J'ai perdu mon user.php et essaye de rétablir l'affichage du nombre de posts pour un membre...

Je ne parviens plus à intégrer ça


$query = mysql_query("SELECT post FROM users_status WHERE uid='$uid'");
list($posts) = mysql_fetch_array($query);
echo $posts;



Dans mon code


unction userinfo($uname, $bypass=0) {
    global $user, $sitename, $smilies, $short_user, $site_font, $oggi, $posts, $nposts;
    global $name, $email, $url, $bio, $user_avatar, $user_icq, $user_aim, $user_yim, $user_msnm, $user_from, $user_occ, $user_intrest, $user_sig, $user_journal, $user_lastv, $user_posts;

    $uname=removeHack($uname);
    $result = mysql_query("SELECT uid, name, femail, url, bio, user_avatar, user_icq, user_aim, user_yim, user_msnm, user_from, user_occ, user_intrest, user_sig, user_journal, mns, user_lastvisit FROM users WHERE uname='$uname'");
    list($uid, $name, $femail, $url, $bio, $user_avatar, $user_icq, $user_aim, $user_yim, $user_msnm, $user_from, $user_occ, $user_intrest, $user_sig, $user_journal, $mns, $user_lastv) = mysql_fetch_array($result);
    if (!$uid) {
       header ("location: index.php");
    }
    if (!$bypass) {global $cookie;}
    !!!include!!!("header.php");
    $user_lastv=intval($user_lastv);
    $today=intval($today);
    $today = date("d.m.Y",time()+($gmt*3600)); //la date du jour
    $zlast=date("d.m.Y",$user_lastv); // la dernière connection
          if ($today==date("d.m.Y",$user_lastv)) { // si aujourd'hui, renvoi l'heure
      $zlast = date("H:i",$user_lastv);  //renvoi l'heure
      $oggi="Aujourd'hui à ";
      }
      if ($user_lastv<1) { $user_lastv="Jamais"; }
   
     if (($uname == $cookie[1]) || ($bypass==1)) {
       echo "
\n";
       echo "$uname, ".translate("Welcome to")." $sitename";

       echo "
\n";
       echo "
";
       echo "

".translate("This is your personal page")."


";
       nav($mns);
    }
    $email=removeHack($femail);
    $name=stripslashes(removeHack($name));
    $url=removeHack($url);
    $bio=stripslashes(removeHack($bio));
    $user_icq=stripslashes(removeHack($user_icq));
    $user_aim=stripslashes(removeHack($user_aim));
    $user_yim=stripslashes(removeHack($user_yim));
    $user_msnm=stripslashes(removeHack($user_msnm));
    $user_from=stripslashes(removeHack($user_from));
    $user_occ=stripslashes(removeHack($user_occ));
    $user_intrest=stripslashes(removeHack($user_intrest));
    $user_sig=nl2br(removeHack($user_sig));
    $user_journal=stripslashes(removeHack($user_journal));
    $op="userinfo";
    !!!include!!!("modules/sform/extend-user/aff_extend-user.php");
    echo "

";
    opentable();
    if ($mns) {
       echo "";
       echo "
\n";
       echo translate("Mini-Web site")." : ".translate("the page")." ".translate("here")."
\n";
       echo "
";
    }
    echo "
\n";
    echo "Dernière connexion de $uname :  $oggi $zlast";
    echo "
\n";
    echo "";
    echo $posts;
    echo "
\n";
    echo "
\n";
    echo "Nombre de messages postés par $uname dans les forums : $posts";
    echo $posts;
    echo "
\n";
...



En fait, mon problème réside dans le fait que le champ "posts" est localisé dans une table différente des autres champs...

Si Tito est dans les parages... :-P

HELP :-(


Message édité par : FURAX69 / 26-01-2008 18:15

FURAX69 FURAX69icon_post
Ok, j'ai trouvé... On peut fermer :=!