Проблем с закъснение за изпълнение

talevtehnology

Registered
Здравейте как мога да накарам пхп код да се изпълни със закъснение примерно 3 секунди . Пробвах със sleep( 3 ); но не се получава :?
 
какво не се получава ? Ето ти например, най-елементарен код, чрез който да видиш, че се получава .. сложи го в някоя страница, и когато влезе кода, ще ти се появи след 3 секунди

Код:
<?
sleep(3);
echo "asd";
?>
 
Аз инклудвам top.php фаил (който е за лента за гласуване в бг топ ) в index.phpи искам този пхп да се изпълни с закъснение 3 сек. а то ми забавя изплнението на индекса :shock:
 
пробвай да сложиш кода за закъснение в началото на инклуднатия файл
 
talevtehnology каза:
Аз инклудвам top.php фаил (който е за лента за гласуване в бг топ ) в index.phpи искам този пхп да се изпълни с закъснение 3 сек. а то ми забавя изплнението на индекса :shock:

Ами да разбира се, всеки код, който е под sleep(); ще се запабавя, не само кода, от инклуднатият файл, сложи sleep(3); в началото на файла, който инклудваш :)
 
Код:
<?
sleep(3);
include("confbgtop.php"); 
$sql = mysql_query("SELECT ctime FROM $dbtable WHERE ip=\"$ip\""); 
if($row = mysql_fetch_array($sql)) { 
$calc = $row['ctime'] + $vtime; 
if ($calc < $time) { show(); } 
} 
else { show(); } 
?>

Ето това ми е кода
 
Както и да пробвам все едно и също закъснението се получава за цялата index.php, а не за лентата за гласуване
 
я обясни по-подробно какво искаш, защото от кода, който си дал си мисля че или не си го обяснил или че си се объркал много ... обясни кой код къде и след кой друг искаш да се изпълни.
 
Код:
<?php
include("confbgtop.php");
$sql = mysql_query("SELECT ctime FROM $dbtable WHERE ip=\"$ip\"");
if($row = mysql_fetch_array($sql)) {
$calc = $row['ctime'] + $vtime;
if ($calc < $time) { 
<div>
sleep(3); 
show();
</div> }
}
else { 
<div>
sleep(3); 
show();
</div> }
?>

Така? :?
 
Код:
<?
$server = "localhost"; 
$dbuser = "**********"; 
$dbpass = "*******i"; 
$dbname = "***********"; 
$dbtable = "bgtop"; 
$db_conn = mysql_connect($server, $dbuser, $dbpass); 
@mysql_select_db($dbname, $db_conn) or die(mysql_error()); 
$ip = $_SERVER["REMOTE_ADDR"]; 
$link = "http://bgtop.net/in.php/1273870652" ; // тук посочи твоя линк. 
$time = time(); 
$vtime = "86400"; 
$dtime = "345600"; 
function show() { 
echo '<a target="_blank" href="lenta.php"><div style="width: 100%; height: 22px; position: absolute; top: 20px; left: 0px; z-index: 100; background-color: #ff0000; text-align: center; font-size: 15px; color: #fff;">Подкрепете сайта и днес в БГ Топ класацията! </div></a>'; 
}
?>

Ето го кода идеята е лентата да се покаже 3 секунди след като сайта се зареди.
тоест
echo '<a target="_blank" href="lenta.php"><div style="width: 100%; height: 22px; position: absolute; top: 20px; left: 0px; z-index: 100; background-color: #ff0000; text-align: center; font-size: 15px; color: #fff;">Подкрепете сайта и днес в БГ Топ класацията! </div></a>';
да се изпълни след 3 сек :)
 
Не съм сигурен че sleep() ще свърши желаната от теб работа.
Това си е за Jquery
 
PHPclown каза:
Не съм сигурен че sleep() ще свърши желаната от теб работа.
Това си е за Jquery
Ами той ползва z-index и position:absolute така че ще може да покаже дива след като зареди другите неща по сайта ( на теория ).
Направи си така нещата:
Код:
include('header/body');
//заявките ти и т.н. всичко което искаш да се покаже в сайта
sleep(3);
show();
?>
това би трябвало да проработи :?:
 
Стана просто трябвало да поставя кода най-отдоло на сайта за да изпълни в този вид
Код:
<? 
sleep(3); 
include("confbgtop.php"); 
$sql = mysql_query("SELECT ctime FROM $dbtable WHERE ip=\"$ip\""); 
if($row = mysql_fetch_array($sql)) { 
$calc = $row['ctime'] + $vtime; 
if ($calc < $time) { show(); } 
} 
else { show(); } 
?>

Давам точката на SveXteZ защото той ме подсети :?:
 

Back
Горе