Help Site is erg traag!

Status
Niet open voor verdere reacties.

Creaveth

Gebruiker
Lid geworden
3 jun 2015
Berichten
6
Hey Leden van Helpmij,

Ik zit de laatste tijd om mijn eigen site te maken ( PHP PDO Prepared Statements MVC)
Maar doordat ik veel querys run per pagina duurt de laadtijd langer.
verder zit ik met nog een probleem namelijk: mijn cms doet het niet bij sommige browsers!

Het is een Habbo Fansite die goedgekeurd is door Habbo zelf.
Als jullie mijn kunnen helpen zou dat fantastich zijn.
Ook als jullie willen kan ik jullie mijn cms geven en dat jullie kijken wat er mis ermee is.
 
Hoe zit het met je INDEX'es op je velden? Zware queries, en missende index'es zorgen vaak voor traagheid.
Als je CMS niet in elke browser werkt, dan is er iets niet goed in de HTML of de JavaScript. Is de HTML-code wel valid?
 
Hoe zit het met je INDEX'es op je velden? Zware queries, en missende index'es zorgen vaak voor traagheid.
Als je CMS niet in elke browser werkt, dan is er iets niet goed in de HTML of de JavaScript. Is de HTML-code wel valid?

Ik kan eventueel mijn cms geven naar je en als je tijd hebt, dan kun je snel naar een paar codes kijken die ik heb geschreven. Ik run erg veel querys per pagina en ik weet niet hoe ik dat kan verminderen zonder dat er iets mis gaat.
 
Je zou je eens in JOINS kunnen verdiepen.

Kan je anders eens een pagina uit je CMS met veel zware queries kunnen geven in dit topic?
 
Mijn HTML:

PHP:
<!doctype html>
<html class="page no-UI-change">
    <head>
        <meta charset="utf-8">
        
        {$files}
        
        <script type="text/javascript">
			$(function(){ 
				{if !$user_logged_in} /* <- Dit is geen error als dit aangegeven word */
				notifications.userLoggedIn = 'false';
				{/if}
				$thunderbolt.url = '{$http}';
				$thunderbolt.avatarimage_url = '{$avatarimage_url}';
				$thunderbolt.welcome = {$user_welcome};
				$thunderbolt.general_start();

                {if $page == 'news'}
                    $thunderbolt.getPagePost('{$page}', 'id={$page_id}');
                {elseif $page == 'settings'}
                    $thunderbolt.getPagePost('{$page}', 'id={$page_id}');
                {else}
                    $thunderbolt.getPage('{$page}');
                {/if}
				
				getUsernameAutocompleter();
				
				notifications.userCounterLanguage = ['{$language.index_lobby_no_users_online}', '{$language.index_lobby_1_users_online}', '{$language.index_lobby_more_users_onlin_part}'];
			});
		</script>
        
		<style type="text/css">
		html {
			background-attachment: fixed;
			background-image: url('../assets/image/general/backdrop/{$user.fetch.theme}/reception_backdrop_stretch.png');
			-webkit-transition: all 0.3s;
		}
		
		.backDrop .horizon {
			background-image: url('../assets/image/general/backdrop/{$user.fetch.theme}/reception_backdrop_horizon.png');
			-webkit-transition: all 0.3s;
		}
		
		.backDrop .leftBackdrop {
			background-image: url('../assets/image/general/backdrop/{$user.fetch.theme}/reception_backdrop_left.png');
			-webkit-transition: all 0.3s;
		}
		
		.backDrop .rightBackdrop {
			background-image: url('../assets/image/general/backdrop/{$user.fetch.theme}/reception_backdrop_right.png');
			-webkit-transition: all 0.3s;
		}
		
		.loadScreen {
			width: 100%;
			height: 100%;
			margin:0;
			background: #ede9de;
			color:#666;
			position: fixed;
			z-index: 999;
		}
		
		.loaderBulletcontainer {
			height: 150px;
			left: 50%;
			margin: -75px 0 0 -53px;
			position: absolute;
			top: 50%;
			width: 106px;
		  text-align:center;
		}
		
		.cord {
		  padding-top:100px;
		  width:15px;
		  -webkit-transform: rotate(0deg);
		  -webkit-transform-origin:50% 50%;
		  float:left;
		}
		
		
		.ball {
		  background:#333;
		  width:15px;
		  height:15px;
		  float:left;
		  border-radius:50%;
		}
		
		.shadows {
		  clear:left;
		  padding-top:20px;
		  margin-left:-2px;
		}
		
		.shadows div {
		  float:left;
		  margin-left: 2px;
		  width:13px;
		  height:3px;
		  border-radius:50%;
		  box-shadow: 0px 0px 3px rgba(204, 204, 204, 0.3);
		  background: rgba(204, 204, 204, 0.3);
		}
		
		.leftMove {
		  -webkit-animation: leftBall .5s ease-in-out 0s infinite alternate;
		}
		
		.rightMove {
		  -webkit-animation: rightBall .5s ease-in-out 0s infinite alternate;
		}
		
		
		.leftShadow {
		  -webkit-animation: leftShadowN .5s ease-in-out 0s infinite alternate; 
		}
		.rightShadow {
		  -webkit-animation: rightShadowN .5s ease-in-out 0s infinite alternate; 
		}
		
		
		@-webkit-keyframes leftBall {
			0% {
				-webkit-transform: rotate(0deg) translateY(0px);
			}
			
			50% {
				-webkit-transform: rotate(0deg) translateY(0px);
			}
			
			100% {
				-webkit-transform: rotate(50deg) translateY(-20px);
			}
		}
		
		@-webkit-keyframes rightBall {
			0% {
				-webkit-transform: rotate(-50deg) translateY(-20px);
			}
			
			50% {
				-webkit-transform: rotate(0deg) translateY(0px);
			}
			
			100% {
				-webkit-transform: rotate(0deg) translateY(0px) translateX(0px);
			}
		}
		
		@-webkit-keyframes leftShadowN {
			0% {
				-webkit-transform: translateX(0px);
			}
			
			50% {
				-webkit-transform: translateX(0px);
			}
			
			100% {
				-webkit-transform: translateX(-25px);
			}
		}
		
		@-webkit-keyframes rightShadowN {
			0% {
				-webkit-transform: translateX(25px);
			}
			
			50% {
				-webkit-transform: translateY(0px);
			}
			
			100% {
				-webkit-transform: translateY(0px);
			}
		}
		
		.cord:nth-of-type(1) .ball {
		  background:#335672;
		}
		
		.cord:nth-of-type(2) .ball {
		  background:#35506b;
		}
		
		.cord:nth-of-type(3) .ball {
		  background:#5f4e60;
		}
		
		.cord:nth-of-type(4) .ball {
		  background:#924a4e;
		}
		
		.cord:nth-of-type(5) .ball {
		  background:#a73a33;
		}
		
		.cord:nth-of-type(6) .ball {
		  background:#cf4231;
		}
		
		.cord:nth-of-type(7) .ball {
		  background:#df3e2a;
		}
        </style>

        <title></title>
        
    </head>
    
    <body>
    
        <div class="loadScreen firstLoadScreen">
            
            <div class="loaderBulletcontainer">
                <div class="cord leftMove">
                    <div class="ball"></div>
                </div>
                <div class="cord">
                    <div class="ball"></div>
                </div>
                <div class="cord">
                    <div class="ball"></div>
                </div>
                <div class="cord">
                    <div class="ball"></div>
                </div>
                <div class="cord">
                    <div class="ball"></div>
                </div>
                <div class="cord">
                    <div class="ball"></div>
                </div>
                <div class="cord rightMove">
                    <div class="ball" id="first"></div>
                </div>
                
                
                <div class="shadows">
                    <div class="leftShadow"></div>
                    <div></div>
                    <div></div>
                    <div></div>
                    <div></div>
                    <div></div>
                    <div class="rightShadow"></div>
                </div>
            </div>
        
        </div>
        
        <div class="pageLoader individualPageloader"><div class="insidePageLoader"><img class="pageLoaderIcon" src="assets/image/general/loader/loader_white.gif"></div></div>
        
        <div class="onloadscreenafter hide">
        
        	{assign var='copyright_value' value=''}
        	{include file='comp-copyright.tpl'}
        
        	<div class="floatBackdrop floatQuickProfile" id="profile"></div>
        
        	<div class="floatBackdrop floatLoadPage"></div>
        
        	<div class="floatBackdrop floatLoadAlert"></div>
            
            <div class="floatBackdrop floatLoadNotification"></div>
            
            <div class="dragTopContainerBackdrop" style="width: 100%; height: 100%; position: fixed; z-index: 9999; display: none;"></div>
            
        </div>
            
            <div class="floatBackdrop streamCo">
            
            	<div class="floatBackdrop stream">
                	<img class="streamLoader" src="../assets/image/general/loader/loader_white.gif">
                    
                    <div class="streamContainer">
                    
                    	<div class="control">
                        
                        	<div class="insideC">
                            
                            	<div class="content">
                                	<img class="reloadStream" onclick="stream.load()" src="../assets/image/general/icons/furni_load.gif" title="{$language.stream_refresh}">
                                    
                                    <img class="addStream" onclick="floatLoadPage('add-stream')" src="../assets/image/general/icons/plus_icon.gif" title="{$language.stream_add}">
                                </div>
                            
                            </div>
                        
                        </div>
                    
                    	<div class="inside">
                        
                        	<div class="scrollContainer">
                            
                            	<div class="scrollElement">
                                
                                	<div class="fullStreamHeight">
                                    
                                    	<script>
										$(function(){
											stream.language = [ "{$language.error_stream_no_data}", "{$language.error_stream_no_exist}", "{$language.error_stream_no_delete}", "{$language.error_title}", "{$language.succeed_stream_message_deleted}", "{$language.succeed_title}" ];
										});
										</script>
                                
                                        <div class="streamCorner"></div>
                                        
                                        <img class="streamLoader" src="../assets/image/general/loader/bubble_black_loader.gif">
                                        
                                        <div class="loadStream"></div>
                                        
                                        <center><img class="streamLoaderSecond" style="height: 40px; width: 40px; margin: 15px 0 15px 0; display: none;" src="../assets/image/general/loader/bubble_black_loader.gif"></center>
                                    
                                    </div>
                                
                                </div>
                            
                            </div>
                        
                        </div>
                    
                    </div>
                    
                </div>
                
            </div>
            
            <div class="paymentsContainer firstPaymentsContainer">
                
                {if $user_logged_in}
				    {include file="template/comp-payment-container.tpl"}
                    
                    <div class="minimailAlertContainer normal" style="display: none;">
                    
                    	<div class="wiggleAlert minimailAlert normal" style="right: 201px;">
                            <div class="icon"></div>
                        </div>
                        
                        <script>
						function onclickOpenNewestMinimail(){
							$thunderbolt.floatLoadPage('minimail', function(){
								minimail.load('latest');
							});
						}
						</script>
                    
                        <div class="valueContainer light_grey space" style="cursor: pointer;" onclick="onclickOpenNewestMinimail()">
        
                            <b><u class="state"><ubuntu>
                            
                                <i class="white">{$language.youve_got_minimail}</i>
                                
                            </ubuntu></u></b>
                            
                            <div></div>
                        
                        </div>
                    
                    </div>
                {/if}
                
                <div class="topPaymentsMessageBox messengerRequests" style="display: none;">
                
                	<div class="wiggleAlert messageBoxAlert">
                        <div class="icon"></div>
                    </div>
                
                	<div class="messageTekst">
                    	<ubuntu><b>{$language.important_message}</b><br>{$language.new_friendship_request}</ubuntu>
                    </div>
                
                </div>
            
            </div>
            
            <div class="searchUserContainer">
            	<input type="text" class="topBarInputSearchUsers userAutocompleterNames" placeholder="{$language.search_over_all_users}">
            </div>
            
            <div class="onclickStatement"></div>
    
            <div class="topBar">
            
            	<div class="upperLine">
                	<div class="inner" style="display: none; width: 100%; height: 100%;"></div>
                	<div class="line"></div>
                </div>
                
                <div id="firstSpace"><img class="firstLogo" style="cursor: pointer;" onclick="window.location.href='{$http}/index'" src="font/goldentemple/{$site.name}.gif"><div class="space"></div></div>
                
                <div class="leftStatement"></div>
                
                <nav class="topMenu"><ubuntu>
                    <ul>
                        {if $user_logged_in}
                        <li class="drop">
                            <font class="loadPageReplacementUsername">{$user.name}</font>
                            <div class="dropdownContain">
                                <div class="dropOut">
                                    <div class="triangle"></div>
                               
                                </div>
                            </div>
                        </li>
                      
                        
                        <li class="drop">
                            <font>Community</font>
                            <div class="dropdownContain">
                                <div class="dropOut">
                                    <div class="triangle"></div>
                                    <ul>
                                        <li onClick="$thunderbolt.getPage('community');">Community</li>
                                        <li onClick="$thunderbolt.getPagePost('news', 'id=latest');">{$language.menu_news}</li>
                                        <li onClick="$thunderbolt.getPage('staff');">{$language.menu_staff}</li>
                                     
                                    </ul>
                                </div>
                            </div>
                        </li>
                     
                                </div>
                            </div>
                        </li>
                        {/if}
                       
                                </div>
                            </div>
                        </li>
                        
                                                     </div>
                            </div>
                        </li>
                    </ul>
                </ubuntu></nav>
                
                <div class="rightStatement">
                
                	<input type="text" class="topBarInputSearchUsers userAutocompleterNames" placeholder="{$language.search_over_all_users}">
                    
                    <div class="loop" onclick="$thunderbolt.fopenSearchUser()" title="{$language.search_over_all_users}"></div>
                    
                    {if $user_logged_in}
                    
                    <div class="space"></div>
                
                	<div class="my_users" onclick="$thunderbolt.floatLoadPage('my-users')" title="{$language.my_users}"></div>
                    
                    <div class="space"></div>
                
                	<div class="minimail" onclick="$thunderbolt.floatLoadPage('minimail')" title="{$language.minimail}"></div>
                    
                    {/if}
                
                	<!--<div id="firstSpace" class="rightPlace" style="display: block; visibility: visible; opacity: 1; margin: -2px; padding: 0; right: 0; top: 0; float: right;"><div class="space"></div><img class="logo" style="width: 150px; height: 20px; margin: 12px 5px 0 5px; padding: 0; visibility: visible; opacitiy: 1; display: block; left: 0; top: 0; float: left;" src="../assets/image/general/logo/thunderboltwhite.png"></div>-->
                
                </div>
            
            </div>
            
            <div class="leftMenu">
            
            	{if $user_logged_in}
            
                <div class="controlMenu">
            
                    <div class="top"></div>
                    
                    <div class="middle">
                    
                        <div class="middleTop"></div>
                        
                        {if $user.permission.manager_login}
                        
                        <div class="menuTab space" onClick="window.open('{$http}/manager-login');">
                        
                            <center><div class="menuIcon key"></div></center>
                            
                            <center><div class="menuTabTitle"><ubuntu>{$language.menu_manager}</ubuntu></div></center>
                        
                        </div>
                        
                        {/if}
                    
                        <div class="menuTab space" onClick="window.open('{$http}/client');">
                        
                            <center><div class="menuIcon rooms"></div></center>
                            
                            <center><div class="menuTabTitle"><ubuntu>Ga naar het hotel</ubuntu></div></center>
                        
                        </div>
                        
                        <div class="menuTab space" onClick="stream.open();">
                        
                            <center><div class="menuIcon stream"></div></center>
                            
                            <center><div class="menuTabTitle"><ubuntu>{$language.stream}</ubuntu></div></center>
                        
                        </div>
                        
                        <div class="menuTab" onClick="$thunderbolt.loadQuickProfile('{$user.id}')">
                        
                            <center><div class="menuIcon avatar loadPageReplacementLook" style="background-image: url({$avatarimage_url}?figure={$user.look});"></div><div class="avatarLine"></div></center>
                            
                            <center><div class="menuTabTitle"><ubuntu>{$language.menu_me}</ubuntu></div></center>
                        
                        </div>
                        
                        <div class="middleBottom"></div>
                    
                    </div>
                    
                    <div class="bottom"></div>
                
                </div>
                
                <div class="welcomeMenu">
                    <b><ubuntu>{$language.start_hey}, <i class="loadPageReplacementUsername" style="font-style: normal;">{$user.name}</i>!</ubuntu></b><br>
                    <u><ubuntu>{$language.start_last_login_f}{$user.last_online_date}{$language.start_last_login_s}</ubuntu></u>
                </div>
                
                {else}
                
               
                    
                    <div class="middle">
                    
                        <div class="middleTop"></div>
                        
                        <div class="menuTab space" onClick="window.location.href='{$http}/index';">
                        
                            <center><div class="menuIcon rooms"></div></center>
                            
                            <center><div class="menuTabTitle"><ubuntu>{$site.name}</ubuntu></div></center>
                        
                        </div>
                        
                        <div class="middleBottom"></div>
                    
                    </div>
                    
                    <div class="bottom"></div>
                
                </div>
                
                {/if}
            
            </div>
            
            <div class="backDrop">
           
                <div class="topBackdrop"></div>
                
                <div class="horizon"></div>
            
                <div class="leftBackdrop">
                	{if $user_logged_in}
                    <img class="flyer" src="assets/image/general/icons/avatar_items/vlieger.gif">
                    <img class="avatarBackdrop loadPageReplacementLookImg" src="{$avatarimage_url}?figure={$user.look}">
                    <img class="spotlightBackdrop" src="assets/image/general/base/spotlight.png">
                    {/if}
                </div>
                
                <div class="container">
                
                    <div class="containerMiddle">
                        
                        <div class="containerMiddleInside" style="display: table;">
                        
                        	<div class="errorContainer generalHotelAlertMessageBox" style="width: 852px; z-index: 20; margin: -25px 0 0 0; position: fixed; display: none;"><div class="text" style="display: table; float: left; width: 792px;"></div><img style="margin: 15px; cursor: pointer; position: absolute; right: 0; top: 0;" onclick="$('.generalHotelAlertMessageBox').fadeOut()" src="./assets/image/general/icons/error_close.gif"></div>
                        
                            <div class="containerTopSlowSlide">
                                <embed title="{$language.radio}{$language.radio_nonstop}" type="application/x-shockwave-flash" src="../assets/swf/player.swf" style="undefined" id="mpl" name="mpl" quality="high" allowfullscreen="true" allowscriptaccess="always" wmode="opaque" flashvars="file=http://hebbohotel.nl:8033/stream&amp;type=sound&amp;stretching=fill&amp;autostart=true&amp;controlbar=bottom&amp" height="24" width="305"></embed>
                            </div>
                            
                            <div class="containerTopSlowSlide space">
                                <div class="text replaceStaticsUsersOnline"><ubuntu>{$usersOnlineText}</ubuntu></div>
                            </div>
                    
                            <div class="containerTop">
                        
                                <div class="whiteTopBox">
                                
                                </div>
                
                                {if $user_logged_in}
                                    
                                    <div class="minimailAlertContainer topBaseLocalMinimail" style="">

                                        <div class="wiggleAlert minimailAlert topBaseLocalMinimail" style="right: 201px; top: 0px;">
                                            <div class="icon"></div>
                                        </div>
                                        
                                        <script>
                                        function onclickOpenNewestMinimail(){
                                            $thunderbolt.floatLoadPage('minimail', function(){
                                                minimail.load('latest');
                                            });
                                        }
                                        </script>
                                        
                                        <div class="paymentsContainer firstPaymentsContainerMinimail">
                                        
                                            <div class="valueContainer light_grey space" style="cursor: pointer;" onclick="onclickOpenNewestMinimail()">
                                        
                                                <b><u class="state"><ubuntu>
                                                
                                                    <i class="white">{$language.youve_got_minimail}</i>
                                                    
                                                </ubuntu></u></b>
                                                
                                                <div></div>
                                            
                                            </div>
                                        
                                        </div>
                                    
                                    </div>
                                    
                                    <div class="paymentsContainer containerTopPayments">
                                    	{include file="template/comp-payment-container.tpl"} 
                                    </div>
                                {/if}
                                
                            </div>
                                
                            <div class="loadIntoContainer" style="float: left;">
                                    
                                <div class="loadIntoContainerInside"></div>
                                
                            </div>
                                    
                        </div>
                    
                    </div>
                    
                    <div class="containerBottom"></div>
            
                </div>
                
                <div class="rightBackdrop"></div>
            
            </div>
        
        
        
        <div class="contextmenu">
        	<div class="cMenuItem" onclick="getPage('rules')">De regels</div>
        	<div class="cMenuItem" onclick="getPage('staff')">Medewerkers</div>
        	<div class="cMenuItem" onclick="floatLoadPage('logout')">Uitloggen</div>
        </div>

        <script>
		function getUsernameAutocompleter() {
			availableUserTags = [{$usertags}]; /* <- Dit is geen error als dat aangegeven word */
			$( ".userAutocompleterNames" ).autocomplete({
				source: availableUserTags
			});
		}
		</script>
        
        <input type="hidden" class="notifications_active" value="true">
    
    </body>
</html>


PHP
PHP:
User::LoggedInLocation('true');

$tpl = new Template();

$tpl->enableSecurity();

$tpl->Assign('local_site', array('name' => 'Me'));

$tpl->Assign('news_count', Core::$DB->prepare('SELECT * FROM cms_news ORDER BY published DESC LIMIT 3')->execute()->num_rows);

$tpl->Assign('badge_count', Core::$DB->prepare('SELECT * FROM user_badges WHERE user_id = "'.User::GetUserInfo('username', User::$username, 'id').'" AND badge_slot > 0')->execute()->num_rows);

$tpl->Assign('hotel_state', Core::GetSystemSettings('client_status'));

$tpl->Display('comp-me.tpl');

?>

PHP:
User::LoggedInLocation('true');

if(isset($_POST['id']))
{ 
	$type = $_POST['id'];
}
else
{
	if(isset($_GET['id']))
	{ 
		$type = $_GET['id']; 
	}
	else
	{
		$type = 'start';
	}
}

$tpl = new Template();

$tpl->enableSecurity();

$tpl->Assign('local_site', array('name' => Template::$language['menu_settings']));

$tpl->Assign('type', $type);

if($type == 'general')
{
	(User::GetUserInfo('username', User::$username, 'block_trade') == 1) ? $tpl->Assign('block_trade_1', 'checked') : $tpl->Assign('block_trade_1', '');
	(User::GetUserInfo('username', User::$username, 'block_trade') == 0) ? $tpl->Assign('block_trade_0', 'checked') : $tpl->Assign('block_trade_0', '');
	
	(User::GetUserInfo('username', User::$username, 'block_newfriends') == 1) ? $tpl->Assign('block_newfriends_1', 'checked') : $tpl->Assign('block_newfriends_1', '');
	(User::GetUserInfo('username', User::$username, 'block_newfriends') == 0) ? $tpl->Assign('block_newfriends_0', 'checked') : $tpl->Assign('block_newfriends_0', '');

	(User::GetUserInfo('username', User::$username, 'hide_inroom') == 1) ? $tpl->Assign('hide_inroom_1', 'checked') : $tpl->Assign('hide_inroom_1', '');
	(User::GetUserInfo('username', User::$username, 'hide_inroom') == 0) ? $tpl->Assign('hide_inroom_0', 'checked') : $tpl->Assign('hide_inroom_0', '');

	(User::GetUserInfo('username', User::$username, 'hide_online') == 1) ? $tpl->Assign('hide_online_1', 'checked') : $tpl->Assign('hide_online_1', '');
	(User::GetUserInfo('username', User::$username, 'hide_online') == 0) ? $tpl->Assign('hide_online_0', 'checked') : $tpl->Assign('hide_online_0', '');

	(User::GetUserInfo('username', User::$username, 'client_topbar') == 1) ? $tpl->Assign('client_topbar_1', 'checked') : $tpl->Assign('client_topbar_1', '');
	(User::GetUserInfo('username', User::$username, 'client_topbar') == 0) ? $tpl->Assign('client_topbar_0', 'checked') : $tpl->Assign('client_topbar_0', '');
}

if($type == 'general'){ $menu_general = 'selected'; }else{ $menu_general = ''; }
if($type == 'friends'){ $menu_friends = 'selected'; }else{ $menu_friends= ''; }
if($type == 'password'){ $menu_password = 'selected'; }else{ $menu_password = ''; }

$tpl->Assign('menu_select', array(
	'general' => $menu_general,
	'friends' => $menu_friends,
	'password' => $menu_password
));

$tpl->Display('comp-settings.tpl');

?>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan