Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: переделать скрипт
 
 автор: cccp   (24.10.2005 в 09:52)   письмо автору
 
 

Привет.
Подскажите пожалуста.
Как можно переделать этот скрипт что бы он показывал время с сервера.
И ещё, хотел бы что бы результат был написан просто, а не в окошке для текста, только сам этого сделать не смог, подскажите и это, please!



<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
function getTime() { 
now = new Date(); 
y2k = new Date("Jan 1 2006 00:00:00"); 
days = (y2k - now) / 1000 / 60 / 60 / 24; 
daysRound = Math.floor(days); 
hours = (y2k - now) / 1000 / 60 / 60 - (24 * daysRound); 
hoursRound = Math.floor(hours); 
minutes = (y2k - now) / 1000 /60 - (24 * 60 * daysRound) - (60 * hoursRound); 
minutesRound = Math.floor(minutes); 
seconds = (y2k - now) / 1000 - (24 * 60 * 60 * daysRound) - (60 * 60 * hoursRound) - (60 * minutesRound); 
secondsRound = Math.round(seconds); 
sec = (secondsRound == 1) ? " seconde" : " secondes"; 
min = (minutesRound == 1) ? " minute" : " minutes, "; 
hr = (hoursRound == 1) ? " heure" : " heures, "; 
dy = (daysRound == 1)  ? " jour" : " jours, " 
document.timeForm.input1.value = "Encore " + daysRound  + dy + hoursRound + hr + minutesRound + min + secondsRound + sec + " avant l'ouverture !"; 
newtime = window.setTimeout("getTime();", 1000); 

// --> 
</script> 




<form name=timeForm> 
<input type="texte" name=input1 size=72 border-style="none" style="font-family: Arial,Verdana,Helvetica;font-size: 13px; color:#FF6600 ;font-weight:bold ;background-color: #000000;border-bottom: 0px solid; border-left: 0px solid;border-right: 0px solid;border-top: 0px solid;font:12px arial, helvetica,sans-serif"> 
</form> 

   
 
 автор: cheops   (24.10.2005 в 12:50)   письмо автору
 
   для: cccp   (24.10.2005 в 09:52)
 

Хм... а почему приводится скрипт на JavaScript - он же указывает время клиента?

   
 
 автор: WebTech   (24.10.2005 в 13:02)   письмо автору
 
   для: cccp   (24.10.2005 в 09:52)
 

Javascript покажет текущее время на клиентской машине.
На PHP надо так:

<?php echo date('j.m.Y'); ?>

Выдаст текущее время на сервере в формате dd.mm.yyyy. Можно это вставить в любое место на странице.

   
 
 автор: cccp   (24.10.2005 в 13:13)   письмо автору
 
   для: WebTech   (24.10.2005 в 13:02)
 

Так что в самом скрипте не надо менять никакоы строки?
Типа этой:


function getTime()

   
 
 автор: WebTech   (24.10.2005 в 14:04)   письмо автору
 
   для: cccp   (24.10.2005 в 13:13)
 

Если ты хочешь, чтобы у тебя было текущее время сервера, то надо использовать php. Javascript покажет время на клиентской машине. Т.е. код на javascript надо вообще выкинуть.
Вместно него поставь
<?php echo date('j.m.Y'); ?>

   
 
 автор: cccp   (24.10.2005 в 23:08)   письмо автору
 
   для: WebTech   (24.10.2005 в 14:04)
 

Спасибо, это я понял.
Но скрипт не совсем простой. Он не просто показывает время сервера,а делает отчёт назад если нету никакого движения мышкой и переправляет в этом случае на другую страничку. А если движения проишодят, то время перехода на другую страничку отдоляется.

   
 
 автор: WebTech   (25.10.2005 в 15:39)   письмо автору
 
   для: cccp   (24.10.2005 в 23:08)
 

Я, честно говоря, не силен в javascript, но попробуй заменить в твоем скрипте строку

now = new Date();

на строку

now = "<?php echo date('M j Y H:i:s'); ?>";

   
 
 автор: cccp   (26.10.2005 в 00:52)   письмо автору
 
   для: WebTech   (25.10.2005 в 15:39)
 

Нет, так ничего неполучается.
:(

   
 
 автор: 12345   (26.10.2005 в 02:32)   письмо автору
 
   для: cccp   (24.10.2005 в 23:08)
 

ссср:
приведённый скрипт обратного отсчёта времени (на французском языке) не имеет общего с описанной задачей ("делает отсчёт назад, если нету никакого движения мышкой"). Для решения её также не нужно серверного времени. Если надо отсчёт назад до даты в скрипте, то серверное время в миллисекундах вместо new Date(); будет получено по now =<?php echo time()*1000; ?>; . Если надо таймер для мыши, то нужен совсем другой простой скрипт, или
iSec=0;nSec=100;function ff(){setTimeout("if(iSec++>nSec)location=url;else ff();",999);}document.onmousemove=function(){iSec=0;}
, или проверка разности дат по onmousemove, и без серверного времени.

Похоже на метод решения задачи, со времён Райкина называемого "запусить дурочку": "Все куры сдохли, срочно высылайте телескоп!".

   
 
 автор: cccp   (26.10.2005 в 22:38)   письмо автору
 
   для: 12345   (26.10.2005 в 02:32)
 

ОК, а как сделать что бы результат был написан просто так, а не в окошке для текста?

   
 
 автор: 12345   (26.10.2005 в 23:36)   письмо автору
 
   для: cccp   (26.10.2005 в 22:38)
 

Присваиванием свойству innerHTML объекта (div, span или другого).

   
 
 автор: cccp   (27.10.2005 в 15:10)   письмо автору
 
   для: 12345   (26.10.2005 в 23:36)
 

Извените, но мне это не совсем помогает. Я новичок в этом деле.
Покажите пожалуста на моём примере.


Догадываюсь что надо заменить эту строку (неуверен),

document.timeForm.input1.value = 

но незнаю как.

и эту:

 <form name=timeForm>
<input type="texte" name=input1 size=72 border-style="none" style="font-family: Arial,Verdana,Helvetica;font-size: 13px; color:#FF6600 ;font-weight:bold ;background-color: #000000;border-bottom: 0px solid; border-left: 0px solid;border-right: 0px solid;border-top: 0px solid;font:12px arial, helvetica,sans-serif">
</form>


на что-то в этом роде,


<div id="input1">
</div>


да?

   
 
 автор: 12345   (27.10.2005 в 15:20)   письмо автору
 
   для: cccp   (27.10.2005 в 15:10)
 

Правильно, document.all.input1.innerHTML=
Или document.GetElementByID('input1').innerHTML = это кроссбраузернее.
Вообще, пользуйтесь справками и поиском в и-нете. Я назвал ключевое слово - его-то обычно не хватает, чтобы достать всю документацию.

   
 
 автор: cccp   (28.10.2005 в 17:22)   письмо автору
 
   для: 12345   (27.10.2005 в 15:20)
 

OK, spasiboch'ki
;)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования