2013-02-25 4 views
0

Теперь я сделал много исследований, пробовал много методов в PHP, в том числе $ _POST Исети .. Еогеаспа и т.д.Проверяются флажки?

Но мне нужна помощь!

В принципе, просто хочу проверить, были ли отмечены флажки. И ТОГДА добавьте 1 к числу $ посещений, сделанных, если флажок установлен.

Пока я могу проверить, установлен ли флажок, я думаю, что могу понять это оттуда!

Заранее спасибо

(примечание:. $ Визиты количество раз свойство было посещенными Это кодирование отображает информацию о свойствах чтения из файла)

<? 
    $filename = "house.txt"; 
    $filepointer = fopen($filename,"r"); // open for read 
?> 

<html> 
<head> 
    <h1> Search for properties</h1> 
    <form method = "post" action= "visit.php"> 
     Enter max price 
     <input type = "text" name = "max" value="<?=$Max;?>"> 
     <input type = "submit" name = "submit"> 
     <br><i><p>Properties found</p></i></br> 
    </form> 
</head> 
</html> 

<? 
    $myarray = file ($filename); 
    for ($mycount = 0; $mycount < count($myarray); $mycount++) { // one input line at a time 
     $aline = $myarray[$mycount]; 
     $postcode = getvalue($aline,0); 
     $value = getvalue($aline,1); 
     $image = getvalue ($aline,2); 
     $visits = getvalue($aline,3); 
     $Max = $_POST['max']; 

     if ($value < $Max) { 
      print "<table border = 2>"; 
      print "<FORM METHOD='POST' ACTION='visit.php' >"; 
      print "<td> <input type='checkbox' name='check' value='Yes' > $postcode </td><BR> \n"; 
      print "<td>$value <BR>"; 
      print "<td>$image<BR>"; 
      print "<td>$visits<BR><p>"; 
      print "</table>"; 
      print "</form>"; 
     } 
    } 

    function getvalue ($aline, $commaToLookFor) { 
     $intoarray = explode(",",$aline); 
     return $intoarray[ $commaToLookFor]; 
    } 

    if (isset($_POST['check']) && $_POST['check'] == 'Yes') { 
     echo "checked!"; 
    } else { 
     echo "not checked!."; 
    } 
?> 
+4

Так что происходит не так? – Jon

+0

Последний бит кодировки (который проверяет, отмечены ли флажки) не работает. –

+0

ошибка: не задавать вопрос в сообщении. – 2013-02-25 02:28:06

ответ

1

Вы отправляете другие чем тот, который, по вашему мнению, вы ... у вас на странице две формы, оба отправляются на «visit.php». Эта линия не должна существовать:

print "<FORM METHOD='POST' ACTION='visit.php' >";

... так как вы уже создали форму в верхней части файла.

Для этого потребуется небольшая реорганизация вашего кода, но основная идея заключается в том, что вам нужна одна и только одна форма, содержащая все поля и кнопку отправки, в противном случае вы отправляете форму, содержащую максимальную цену и ничего больше.

В качестве альтернативы, если вам действительно нужны отдельные формы (я не достаточно знаком с вашим прецедентом, чтобы убедиться), то второй форме потребуется его собственная кнопка отправки.

Упрощенный рабочий код:

print "<table border = 2>"; 
print "<FORM METHOD='POST' ACTION='visit.php' >"; 
    print "<td> <input type='checkbox' name='check' value='Yes' > $postcode </td><BR> \n"; 
    print "<td> <button type='submit'>Submit</button> </td><BR> \n"; 
print "</table>"; 
print "</form>"; 

//personally I would just check for isset($_POST['check']), but it doesn't really matter... 
if (isset($_POST['check']) && $_POST['check'] == 'Yes') 
{ 
    echo "checked!"; 
} 
else 
{ 
    echo "not checked!."; 
} 
+0

Спасибо, ребята! Решила это :) –

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