Проблема с установкой временной метки устаревшей, полученной из выпадающего меню выбора. - PullRequest
0 голосов
/ 28 июля 2011

Я хочу разрешить посетителям выбирать только определенные даты, например, следующие 20 дней. Итак, у меня есть форма, которая выглядит следующим образом.

<select name="data">
<?php
    $day = date('d');
    $i = 1;
    while($i < 20) {
        $i++;
        $data = (date("d-M-Y",mktime(0,0,0,7,$day,2011)) . "<br />");
        echo "<option value='".$data."'>".$data."</option>";
        $day++;
    }
?>
</select>

В контроллере (я использую Code Igniter) я могу отобразить дату, но не могу сделать отметку времени из даты.

$data = $this->input->post('data');
$timestamp = strtotime('$data');
echo $timestamp;

echo $timestamp не работает. Ничего не отображается.

Мой $date равен 23-08-2011 Однако echo strtotime('23-08-2011'); работает.

Я даже попробовал его за пределами Code Igniter (1 форма, 1 файл процесса), и он все еще не работает.

У вас есть идеи, почему это не работает?

Большое спасибо.

1 Ответ

4 голосов
/ 28 июля 2011

Ну, $timestamp=strtotime('$data'); не сработает, потому что вы воспринимаете $data как буквальную строку.Удалите кавычки:

$timestamp=strtotime($data);

Кроме того, вы устанавливаете $data как отформатированную строку с разрывом строки:

$data=(date("d-M-Y",mktime(0,0,0,7,$day,2011))."<br />");

Попробуйте:

$data=date("d-M-Y",mktime(0,0,0,7,$day,2011);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...