begin process at 2012 05 31 14:12:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

rediriger les connectés


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

rediriger les connectés

dimanche 4 octobre 2009 à 08:29:49 | rediriger les connectés

webide

Bonjour ,
J'utilises un cms (osdate) et je souhaites une fois que les gens se sont connectés avec leur pseudo et leur mot de passe soient directement redirigés vers le chat. Seuleument voila ce script fonctionnes assez bizarement (avec des tpl ) et ne connaissant pas trop cela, je suis perdu.
Donc sur la page index.php ci dessous:
Code PHP :

<?php
if ( !defined( 'smarty_dir' ) ) {
   include_once( 'init.php' );
}

if ($_session['adminid'] > 0) {

   header('location: admin/index.php');
   exit;
}


if ($_session['userid'] <= 0 && ($_get['page'] == 'login' || !$_get) &&  isset($_cookie[$config['cookie_prefix'].'osdate_info']) ) {

   $cookie = $_cookie[$config['cookie_prefix'].'osdate_info'];

   $_session['txtusername'] = $cookie['username'];

   $_session['txtpassword'] = $cookie['dir'] ;

   $_session['rememberme'] = true;

   list($_session['lookagestart'], $_session['lookageend'])= split(':',$cookie['search_ages']);

   if ($cookie['username'] != "") {

      if ( !$_get['errid'] ) {
         header("location: midlogin.php");
         exit;
      }
   }
}

if ( isset( $_get['affid'] ) ) {

   $_session['referalid'] = $_get['affid'];

   if ( getenv( 'http_client_ip' ) ){
      $userip = getenv( 'http_client_ip' );
   }
   else if ( getenv( 'http_x_forwarded_for' ) )   {
      $userip = getenv( 'http_x_forwarded_for' );
   }
   else {
      $userip = getenv( 'remote_addr' );
   }

   $count = $osdb->getone( "select count(*) from ! where ip = ? and ip <> '' and affid = ?", array( affiliate_referals_table, $userip, $_session['referalid'] ) );

   if ( $count == 0 ) {
      $osdb->query( "insert into ! ( affid, userid, ip ) values ( ?, '0', ? )", array( affiliate_referals_table, $_session['referalid'], $userip ) );
   }

}

if ($_get['page'] == 'login' and $_get['errid'] != '') {

   $t->assign ( 'login_error', get_lang('errormsgs',$_get['errid']) );
}

if (!isset($_session['lookagestart'])) {
   $_session['lookagestart'] = $config['default_start_agerange'];
   $_session['lookageend'] = $config['default_end_agerange'];
}

if( isset( $_get['page'] ) ) {

   $siteurl = http_method . $_server['server_name'] . doc_root ;

   $psize = getpagesize();

   $t->assign ( 'psize',  $psize );

   $pageno = (int)$_request['pageno'];

   if( $pageno == 0 ) $pageno = 1;

   $upr = ($pageno * $psize )- $psize;

   $cpage = $pageno;

   $data = array();

   switch ($_get['page']) {

      case 'stories':

         $temp =& $osdb->getall( 'select * from ! order by date desc', array( stories_table ) );

         $reccnt = count($temp);

         $pages = ceil( $reccnt / $psize );

         if( $pages > 1 ) {
            $sql .= ' limit '.$upr.','.$psize;
            if ( $cpage > 1 ) {

               $prev = $cpage - 1;

               $t->assign( 'prev', $prev );

            }

            if ( $cpage < $pages ) {

               $next = $cpage + 1;

               $t->assign ( 'next', $next );

            }
            $temp = array_slice($temp,$upr,$psize);

         }

         $t->assign ( 'cpage', $cpage );

         $t->assign ( 'pages',  $pages );

         $t->assign ( 'reccount',  $reccount );

         foreach( $temp as $index => $row ) {

            $row['username'] = $osdb->getone( 'select username from ! where id = ?', array( user_table, $row[sender] ) );
            $row['text'] = stripslashes($row['text']);
            $arrtext = explode( ' ', $row[text], $config['length_story'] + 1 );
            $arrtext[ $config['length_story'] ] = '';
            $row['text'] = trim( implode( ' ', $arrtext ) ) . '...';
            $row['date'] = date( get_lang('display_date_format'), $row[date] );

            $data []= $row;
         }
         $t->assign( 'lang', $lang );
         $t->assign ( 'data', $data );
         unset($data, $temp, $row);
         $t->assign('rendered_page', $t->fetch('allstories.tpl') );
         break;

      case 'allnews':

         $temp =& $osdb->getall( 'select * from ! order by date desc', array( news_table ) );

         $reccnt = count($temp);

         $pages = ceil( $reccnt / $psize );

         if( $pages > 1 ) {
            $sql .= ' limit '.$upr.','.$psize;
            if ( $cpage > 1 ) {

               $prev = $cpage - 1;

               $t->assign( 'prev', $prev );

            }

            if ( $cpage < $pages ) {

               $next = $cpage + 1;

               $t->assign ( 'next', $next );

            }
            $temp = array_slice($temp,$upr, $psize);
         }

         $t->assign ( 'cpage', $cpage );

         $t->assign ( 'pages',  $pages );

         $t->assign ( 'reccount',  $reccount );

         foreach( $temp as $index => $row ) {
            $row['date'] = date( get_lang('display_date_format'), $row[date] );
            $arrtext = explode( ' ', stripslashes($row['text']), $config['length_story'] + 1);
            $arrtext[ $config['length_story'] ] = '';
            $row['text'] = trim(implode( ' ', $arrtext)) . '...';

            $data []= $row;
         }
         $t->assign( 'lang', $lang );

         $t->assign ( 'data', $data );
         unset($data, $temp, $row);
         $t->assign('rendered_page', $t->fetch('allnews.tpl') );
         break;

      case 'articles':

         $temp =& $osdb->getall( 'select * from ! order by dat desc', array( articles_table ) );

         $reccnt = count($temp);
         $pages = ceil( $reccnt / $psize );
         if( $pages > 1 ) {
            if ( $cpage > 1 ) {

               $prev = $cpage - 1;

               $t->assign( 'prev', $prev );

            }

            if ( $cpage < $pages ) {

               $next = $cpage + 1;

               $t->assign ( 'next', $next );

            }
            $temp = array_slice($temp,$upr,$psize);
         }

         $t->assign ( 'cpage', $cpage );

         $t->assign ( 'pages',  $pages );

         $t->assign ( 'reccount',  $reccount );

         foreach( $temp as $index => $row ) {

            $row['dat'] = date( get_lang('display_date_format'), $row['dat'] );
            $arrtext = explode( ' ', stripslashes($row['text']), $config['length_story'] + 1 );
            $arrtext[$config['length_story']] = '';
            $row['text'] = trim(implode( ' ', $arrtext)) . '...';

            $data []= $row;
         }
         $t->assign( 'lang', $lang );

         $t->assign ( 'data', $data );

         unset ($temp, $data, $row);

         $t->assign('rendered_page', $t->fetch('allarticles.tpl') );
         break;

      case 'showstory':

         $temp =& $osdb->getall( 'select * from ! where storyid = ?', array( stories_table, $_get['storyid'] ) );

         foreach( $temp as $index => $row ) {
            $row['username'] = $osdb->getone( 'select username from ! where id = ?', array( user_table, $row[sender] ) );

            $row['date'] = date( get_lang('display_date_format'), $row[date] );
            $row['text'] = stripslashes($row['text']);

            $data []= $row;
         }
         $t->assign( 'lang', $lang );

         $t->assign ( 'data', $data );
         unset($data, $temp, $row);
         $t->assign('rendered_page', $t->fetch('fullstory.tpl') );
         break;

      case 'shownews':

         $temp =& $osdb->getall( 'select * from ! where newsid = ?', array( news_table, $_get['newsid'] ) );

         foreach( $temp as $index => $row ) {
            $row['date'] = date(get_lang('display_date_format'), $row[date] );
            $row['text'] = stripslashes($row['text']);
            $data []= $row;
         }
         $t->assign( 'lang', $lang );

         $t->assign ( 'data', $data );
         unset($data, $temp, $row);
         $t->assign('rendered_page', $t->fetch('fullnews.tpl') );
         break;

      case 'showarticle':
         $temp =& $osdb->getall( 'select * from ! where articleid = ?', array( articles_table, $_get['articleid'] ) );

         foreach( $temp as $index => $row ) {
            $row['dat'] = date( get_lang('display_date_format'), $row[dat] );
            $row['text'] = stripslashes($row['text']);
            $data []= $row;
         }
         $t->assign( 'lang', $lang );

         $t->assign ( 'data', $data );
         unset($data, $temp, $row);
         $t->assign('rendered_page', $t->fetch('fullarticle.tpl') );
         break;

      case 'login':

         $t->assign('rendered_page', $t->fetch('login.tpl') );
         break;

      default:

         $row =& $osdb->getrow( 'select * from ! where pagekey = ?', array( pages_table, $_get['page'] ) );

         if ( $row ) {
            $row['pagetext'] = str_replace('[your company]', $config['site_title'],stripslashes(stripslashes($row['pagetext'])));
            $index++;
         }
         $row['pagetext'] = str_replace("#contactus#",$siteurl.'feedback.php',$row['pagetext']);

         $row['pagetext'] = str_replace("#cancel#",$siteurl.'cancel.php',$row['pagetext']);
         $t->assign( 'lang', $lang );

         $t->assign ( 'data', $row );
         unset($row);
         $t->assign('rendered_page', $t->fetch('page.tpl') );
   }
}

if ( strlen( $_server['query_string'] ) <= 0 or $_server['query_string'] == 'affid='.$_get['affid'] || $_server['query_string'] == 'lang='.$_get['lang'] or(( $_get['errid'] == not_yet_approved or $_get['errid'] == not_active ) && $_session['userid'] > 0 ) ){

   $last_users = $config['no_last_new_users'];

   $list_newmembers_since_days = $config['list_newmembers_since_days'];

   if ($list_newmembers_since_days == '') $list_newmembers_since_days=0;

   $list_newmembers_since = strtotime("-$list_newmembers_since_days day",time());

   /* modify the newest profile condition to be from last visit time if user is logged in */

   if ( $last_users > 0 ) {

      $newusers =& $osdb->getall( "select *, floor((to_days(curdate())-to_days(birth_date))/365.25)  as age  from ! where status in (?, ?)  and regdate >= ? order by regdate desc limit 0, $last_users", array( user_table , get_lang('status_enum','active'), 'active', $list_newmembers_since) );

      $list = array();

      foreach ($newusers as $row) {

         /* get countryname and statename */
         $row['statename'] = getstatename( $row['country'], $row['state_province']  );
         $row['countryname'] = getcountryname($row['country'] ) ;
         $list[] = $row;
      }

      $t->assign( 'users', $list );
      unset($newusers, $list, $row);
   }

   if ($config['list_newmembers'] > 0) {
      /* get list of latest 10 userid */

      $newuserslist =& $osdb->getall( "select id, username, allow_viewonline from ! where status in (?, ?)  and regdate >= ? order by regdate desc limit 0,!", array( user_table, get_lang('status_enum','active'), 'active', $list_newmembers_since,$config['list_newmembers'] ));

      if (count($newuserslist) > 0) {
         $t->assign('newuserslist',$newuserslist);
      }
      unset($newuserslist);
   }

   if ($config['show_featured_profiles'] > 0 ) {

      $xid = ($_session['userid'] > 0)?$_session['userid']:'0';

      $list =& $osdb->getall('select id, userid from ! where ? between start_date and end_date and req_exposures > exposures  and userid <> ? order by rand() limit 0, ! ', array( featured_profiles_table, time(), $xid,  $config['show_featured_profiles'] ) );

      $featured_profiles = array();

      foreach ($list as $usr) {

         $row =& $osdb->getrow('select *, floor((to_days(curdate())-to_days(birth_date))/365.25)  as age from ! where id = ? and status=?', array( user_table, $usr['userid'],'active' ) );

         if ($row){
            /* get countryname and statename */
            $row['statename'] = getstatename( $row['country'], $row['state_province'] ) ;
            $row['countryname'] = getcountryname($row['country'] ) ;
            $featured_profiles[] = $row;
            $osdb->query('update ! set exposures = exposures + 1 where id = ?', array( featured_profiles_table, $usr['id'] ) );
         }
      }
      $t->assign('featured_profiles', $featured_profiles);
      unset($list, $featured_profiles, $row);

   }

   if ($_session['userid'] > 0 ) {

      /* get some stats */

      $viewswinks_since_days = ($config['last_viewswinks_since']=='')?0:$config['last_viewswinks_since'];

      $viewswinks_since = strtotime("-$viewswinks_since_days day",time());

      if ($viewswinks_since > $_session['lastvisit']) $viewswinks_since = $_session['lastvisit'];

      if ($viewswinks_since < $_session['regdate']) $viewswinks_since=$_session['regdate'];

      $sql = 'select count(*) from ! where userid = ? and act_time >= ? and act = ?';

      $t->assign('profile_views', $osdb->getone($sql, array( views_winks_table, $_session['userid'], $viewswinks_since, 'v' ) ) );

      $t->assign('winks', $osdb->getone($sql, array( views_winks_table, $_session['userid'], $viewswinks_since, 'w' ) ) );

      $t->assign('new_messages', $osdb->getone('select count(*) from ! where owner=? and recipientid = ? and flagread = 0 and folder = ?', array( mailbox_table, $_session['userid'], $_session['userid'], 'inbox' ) ) );


      $usr = $osdb->getrow('select usr.levelend, usr.pictures_cnt, mem.name from ! usr, ! mem  where usr.id = ? and mem.roleid = usr.level', array(user_table, membership_table, $_session['userid']) );

      $levelend = $usr['levelend'];

      $end_date = strftime($lang['date_format'],$levelend);

      $t->assign('curlevel', $usr['name']);

      $diff=$levelend - (time()+0);

      $bal_days = round($diff/86400,0);

      if ($bal_days == -0) $bal_days=0;

      $t->assign('bal_days', $bal_days );

      $t->assign('end_date', $end_date );

      $t->assign('viewswinks_since', strftime($lang['date_format'],$viewswinks_since));

   }

   $t->assign('rendered_page', $t->fetch('homepage.tpl') );
}

if ($_get['errid'] != '') {

   $t->assign('errid_message', get_lang('errormsgs',$_get['errid']) );

   $_get['errid_message'] = urlencode(get_lang('errormsgs',$_get['errid']));
}

$lang['date_format'] = get_lang('date_format');

$t->assign('lang', $lang);

$t->display( 'index.tpl' );

exit();
?>

En fin de script il apelle la page d'affichage (index.tpl) et la page de membre (homepage.tpl qui se présente ainsi):
Code :

{strip}
&lt;div align=&quot;center&quot;&gt;
   {if $smarty.session.userid == ''}
      {include file='special_offer.tpl'}
   {elseif $smarty.session.userid &gt; 0 }
      {* show the statistics since last login  *}
      {include file='user_home_stats.tpl'}
   {/if}
   { if $config.show_featured_profiles &gt; 0 &amp;&amp; $featured_profiles}
      {* this is for showing the featured profiles  *}
      {include file='home_featured_profiles.tpl'}
   { /if }

   
   

{include file=&quot;banner_mainpage.tpl&quot;}


    &lt;/div&gt;
{/strip}

Et le souci que j'ais beau essayer impossible de rediriger les connectés vers le chat et quand je modifie homepage par le lien chat (chat.tpl) il me l'insère dans la page ce qui ne vas pas. Si quelqu'un avait une petite idée pour que j'avance car j'avoue que je suis paumé maintenant.

Merci d'avance


Cette discussion est classée dans : date, row, lang, assign, if


Répondre à ce message

Sujets en rapport avec ce message

erreur de programmation mais je ne vois pas ou ? aidez-moi svp.. [ par netwebzone ] Bonjour, J'aurais besoin de votre aide pour trouver l'erreur dans mon code, je n'arrête pas de le reprendre mais je ne vois toujours pas ou ca va pas, mysql requette comment faire??? [ par jordangj ] bonjour je vous explique mon pb voici le code qui me permet de crée un tableau: $result=mysql_query("select count(nb_visite) as somme,date from visite traduction date [ par kenny18 ] salut,J'ai un champ type "datetime" dans une table. Je vais rechercher cette date dans mon code pour l'afficher. La date = $row[5] ci-dessous. Mon seu pagination [ par chris tuckers ] Re !!J'ai un problème de pagination !!J'ai réussi a mettre a mon bouton précédent, une fonction comme quoi s'il y a moins de 15 resultats avant, et ba Boucle do while + header() [ par csicava ] bonjour,j'ai un petit pb urgent, je voudrai utiliser la fonction header() avec une boucle do while ex:// Definition des variables. script F.Geoffriau Liste déroulante spéciale [ par visualight ] Bonjour,Voici mon problème:Je désires récupérer dans une liste déroulante les années d'un champ DATE de ma base de donnée.Lorsque je teste le code ci Non inscription dans la base [ par chris tuckers ] Bonjour, aujourd'hui je vais etre enervant car je vais mettre beaucoup dans ce message, je suis completement paumé !!!Mon problème est que chaque fois dans l'ordre par lien [ par chris tuckers ] Question toute bete, comment fait-on pour décider de classé par ordre alaphabetique les utilisateurs ou n'importe quel titre de colonne  d'un tableau modifier plus enregistrement sur une meme table [ par pronostic ] Bonjour à tous. D'avance merci de votre aide. Débutant en php, je suis en galère. Le script php permet de mettre en ligne des pronostics sportifs. Hor array dans condition if (php) [ par nader19 ] Bonjour, je suis entrein d'alleger code dans un script. j'ai comencé par PDO ET 9A marche bienbref j'ai array qui contien list jours feriés apres se


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales