2010-09-21 2 views
0

Вот мой код, где я пытаюсь отправить обратно значения из поля и из поля на ту же страницу. В верхней части страницы у меня есть этот код: (это всегда вторит «в еще цикле», я не понимаю, что не так с этой простой вещи.)скрытые переменные, которые не отправляются в php

if ($_POST['ok']) 
{ 
if (isset($_GET['from'])) 
{ 
$tmp_fromdate=$_GET['from']; 
$tmp_todate=$_GET['to']; 
echo "in if loop<br/>"; 
echo $tmp_fromdate. " ". $tmp_todate."<br/>"; 
$from_date=date("Y-m-d", strtotime($tmp_fromdate)); 
$to_date=date("Y-m-d", strtotime($tmp_todate)); 
echo $from_date. " ". $to_date."<br/>"; 
$fdate=date("F d Y", strtotime($tmp_fromdate)); 
$tdate=date("F d Y", strtotime($tmptodate)); 
} 
else 
{ 
echo "in else loop<br/>"; 
$start_date='2010-08-01'; 
$end_date=date ("Y-m-d"); 
$sdate=date("F d Y", strtotime($start_date)); 
$edate=date("F d Y", strtotime($end_date)); 
} 
} 


<form id="form1" name="form1" method="post"> 
<div class="demo"> 

<label for="from">From</label> 
<span id="sprytextfield1"> 
<input type="text" id="from" name="from" /> 
<span class="textfieldRequiredMsg">mm/dd/yyyy format only.</span> 
</span> 

<label for="to">to</label> 
<span id="sprytextfield2"> 
<input type="text" id="to" name="to" /> 
<span class="textfieldRequiredMsg">mm/dd/yyyy format only.</span> 
</span> 

<input type="submit" id="ok" name= "ok" value="Change Dates"/> 
<input type="hidden" name="from" VALUE="<? echo($from);?>"/> 
<input type="hidden" name="to" VALUE="<? echo($to);?>"/> 
</div> 
</form> 
+0

' 'кажется настолько противоречивым. Если вы собираетесь использовать [короткие теги] (http://www.php.net/manual/en/ini.core.php#ini.short-open-tag) в любом случае, почему бы не использовать гораздо более читаемые <'?=...?> 'форму? –

+0

хорошо, что мне пришлось заменить на для каждой части моего кода, и все было хорошо. спасибо за подсказку daniel. –

ответ

4

Возможно, третья линия, if (isset($_GET['from'])), вместо этого следует сказать, if (isset($_POST['from'])). (Первая строка предполагает, что ожидается запрос POST - он не может быть одновременно POST и GET.)

+0

ОК, так что это была ошибка. Теперь, как я могу вернуть значения из полей и из них. Теперь я получаю это: 'in if loop 1969-12-31 1969-12-31' Значения от и до, как их получить? –

+0

Попробуйте изменить два экземпляра '$ _GET' на строках 5 и 6 на' $ _POST'. – Hammerite

+0

я сделал. он проверяет, установлены ли или не установлены или нет, но не получает значение полей. –

3

Вы смешиваете GET и POST. Ваша форма размещена, но в вашем втором if вы проверяете isset($_GET['from'])

1

Изменить ваш if (isset($_GET['from'])) к if (isset($_POST['from']))

Вы посылаете всю форму как POST, так GET будет пустым.

0

, из полей «от» и «в» вы хотите вернуть значения, потому что у вас есть два скрытых поля с тем же именем, что и поля ввода даты. вам нужны разные имена для них. если вы получаете дату, например, 1969, то ваш ввод не является действительной датой для начала. где $ from и $ поступает из скрытых входов? вы не ссылались на них в фрагменте кода

Смежные вопросы