ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

PHP работа с датами
  #1  
Старый 01.04.2010, 19:14
Аватар для namak
namak
Познающий
Регистрация: 29.01.2009
Сообщений: 81
Провел на форуме:
255434

Репутация: 12
По умолчанию PHP работа с датами

в общем как грамотно сделать такую щтуку:
в форме выбирается две даты(день,месяц,год) (дата1 всегда меньше дата2). обработчик же должен вывести разницу дней между этими датами.

использовать селект в форме будет правильно?
 
Ответить с цитированием

  #2  
Старый 01.04.2010, 20:30
Аватар для Hobba
Hobba
Новичок
Регистрация: 30.03.2010
Сообщений: 18
Провел на форуме:
28384

Репутация: 2
По умолчанию

PHP код:
<?php 

function date_diff$date_last$date_new)

    
$date_last=explode('.',$date_last); 
    
$date_new=explode('.',$date_new); 

    
$count_day=1
    
$count_month=0
    
$kk=true
    
$nn=true

    while (
$kk)  { 
        
$count_month=$count_month+1
        if ((
mktime(0,0,0,$date_last[1]+$count_month,$da te_last[0],$date_last[2]))>(mktime(0,0,0,$date _new[1],$date_new[0],$date_new[2]))) { 
            
$count_month=$count_month -1
            while (
$nn) { 
                if ((
mktime(0,0,0,$date_last[1]+$count_month,$da te_last[0]+$count_day,$date_last[2]))==(mktim e(0,0,0,$date_new[1],$date_new[0],$date_new[]))) $nn=false;
                else 
$count_day=$count_day+1
            } 
        } 

        if ((
mktime(0,0,0,$date_last[1]+$count_month,$da te_last[0]+$count_day,$date_last[2]))==(mktim e(0,0,0,$date_new[1],$date_new[0],$date_new[]))) $kk=false
    } 

    
$arr[]=$count_month
    
$arr[]=$count_day
    return 
$arr


$gg=date_diff('10.10.2001','11.11.2010'); 
print_r($gg); 

?>
 
Ответить с цитированием

  #3  
Старый 01.04.2010, 20:31
Аватар для Hobba
Hobba
Новичок
Регистрация: 30.03.2010
Сообщений: 18
Провел на форуме:
28384

Репутация: 2
По умолчанию

Вопрос про селект непонятен
 
Ответить с цитированием

  #4  
Старый 01.04.2010, 21:08
Аватар для namak
namak
Познающий
Регистрация: 29.01.2009
Сообщений: 81
Провел на форуме:
255434

Репутация: 12
По умолчанию

как вводить дату в форму?
я имел ввиду чтоб юзер не вводил, а выбирал день, месяц, год
3 параметра. а обработчик уже из трех переменных делал дату и вычитал из второй первую.
 
Ответить с цитированием

  #5  
Старый 02.04.2010, 07:02
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Календарь какой-нибудь прикрутите к форме.
 
Ответить с цитированием

  #6  
Старый 02.04.2010, 12:39
Аватар для Hobba
Hobba
Новичок
Регистрация: 30.03.2010
Сообщений: 18
Провел на форуме:
28384

Репутация: 2
По умолчанию

PHP код:
<html>
<
form action="select1.php" method="post">
    <
select name="d">
        <
option value="1">1</option>
        <
option value="2">2</option>
        <
option value="3">3</option>
        <
option value="4">4</option>
        <
option value="5">5</option>
        <
option value="6">6</option>
        <
option value="7">7</option>
    </
select>
    <
select name="m">
        <
option value="1">1</option>
        <
option value="2">2</option>
        <
option value="3">3</option>
        <
option value="4">4</option>
        <
option value="5">5</option>
        <
option value="6">6</option>
        <
option value="7">7</option>
    </
select>
    <
select name="y">
        <
option value="2001">2001</option>
        <
option value="2002">2002</option>
        <
option value="2003">2003</option>
        <
option value="2004">2004</option>
        <
option value="2005">2005</option>
        <
option value="2006">2006</option>
        <
option value="2007">2007</option>
    </
select>
    <
input type="submit" value="Отправить"></p>
</
form
PHP код:
if (!empty($_POST) && is_numeric($_POST['m']) && is_numeric($_POST['d']) && is_numeric($_POST['y'])) {
    
$date "{$_POST['d']}.{$_POST['m']}.{$_POST['y']}";

 
Ответить с цитированием

  #7  
Старый 02.04.2010, 15:31
Аватар для namak
namak
Познающий
Регистрация: 29.01.2009
Сообщений: 81
Провел на форуме:
255434

Репутация: 12
По умолчанию

вот получили две даты в переменных текстового типа.
дальше конвертирую с помощью strtotime и все получается)
спасибо!!


другой вопрос, вот есть переменная в ней число. как мне значение этой переменной в обработчик отправить? чтоб юзер не видел.
 
Ответить с цитированием

  #8  
Старый 02.04.2010, 15:49
Аватар для LStr1ke
LStr1ke
Постоянный
Регистрация: 29.07.2009
Сообщений: 400
Провел на форуме:
1455812

Репутация: 150
По умолчанию

<input type="hidden" name="secret" value="ya_ebu_sobak" />
 
Ответить с цитированием

  #9  
Старый 02.04.2010, 15:50
Аватар для namak
namak
Познающий
Регистрация: 29.01.2009
Сообщений: 81
Провел на форуме:
255434

Репутация: 12
По умолчанию

даа, точно! но спс что написал)
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Books PSalm69 Избранное 248 27.10.2009 04:52
На PHP, как на "Новые ворота"... Mertvii-Listopad Чужие Статьи 7 18.09.2006 12:42
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ