#php
#php
Вопрос:
Мне был предоставлен скрипт с различными переменными, которые основаны на дате и времени в верхней части строгой страницы XHTML.
<?php
date_default_timezone_set('America/Los_Angeles');
$time = new DateTime();
if($time < new DateTime('2011-10-31 18:00')){
$title="Before Halloween";
$cb1="2011,10,31,18,0";
}else if
...
?>
На полпути через HTML-код у меня есть второй PHP-скрипт:
<?php
date_default_timezone_set('America/Los_Angeles');
countdown(2011,10,31,18,0);
function countdown($year, $month, $day, $hour, $minute)
{
...
?>
Как я могу выполнить эхо $cb1
из верхнего скрипта во второй скрипт, чтобы третья строка выглядела примерно как countdown(echo $ cb1); и автоматически обновляется на основе верхнего скрипта?
Ответ №1:
Поскольку это строка, вам нужно будет разобрать (разобрать) через запятую, чтобы создать 5 переменных. Для этого вы должны использовать:
$cbarray = explode(",",$cb1);
countdown($cbarray[0],$cbarray[1],$cbarray[2],$cbarray[3],$cbarray[4]);
Или что-то похожее, помещая каждый из них в именованную переменную.
Ответ №2:
Вместо этого вы можете попробовать установить $ cb1 в качестве переменной сеанса, чтобы вы могли получить к ней доступ из любого места в файле.
Может быть, заменить:
$cb1="2011,10,31,18,0";
с
$_SESSION['cb1']="2011,10,31,18,0";
И тогда ваш код во втором скрипте будет: countdown($_SESSION['cb1']);
Комментарии:
1. Это в основном то же самое, что и ответ, который дал Васим Карани. Обратный отсчет использует 5 переменных и передача одной строки, СЕАНСА или ПЕРЕМЕННОЙ, со всеми 5 элементами не будет работать. Это связано с тем, что он видит ее только как одну переменную.