Accueil > Forum > > > > rediriger les connectés
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}
<div align="center">
{if $smarty.session.userid == ''}
{include file='special_offer.tpl'}
{elseif $smarty.session.userid > 0 }
{* show the statistics since last login *}
{include file='user_home_stats.tpl'}
{/if}
{ if $config.show_featured_profiles > 0 && $featured_profiles}
{* this is for showing the featured profiles *}
{include file='home_featured_profiles.tpl'}
{ /if }
{include file="banner_mainpage.tpl"}
</div>
{/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
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|