2016-02-23 2 views
-3

, если у меня есть форма в html, для которой требуется нажать кнопку, чтобы принять T и C, как проверить это на PHP? Я начинаю сПроверка данных в PHP Отметьте поле

<div>    
    <input type="checkbox" name="terms" id="tandc" value="yes" /> 
    <label for="tandc">Tick this box to confirm you have read our a href="#">terms and conditions</a></label> 
</div> 

затем

  if(isset($_POST['terms'])) { 
       $t_and_c = $_POST['terms']; 
        if ($t_and_c = empty($_POST['terms'])) { 
         echo'please click to confirm the T's and C's'; 
        } else { 
         echo htmlentities($t_and_c); 
        } 

       } else { 
       echo'system error'; 
       } 

Когда я не кликайте на т и С., он должен сказать: «Нажмите здесь, чтобы подтвердить ...». В настоящий момент он просто говорит «системная ошибка», поэтому ключ «условия» не распознается в массиве POST. Есть идеи?

+1

если (Исеть ($ _ POST [ 'термины']) && пустые ($ _ POST [ 'термины'])) {эхо "ошибка";} еще {эхо "успех";} – devpro

+1

@devpro неотмеченным клещ коробки никогда не устанавливаются ... – rjdown

ответ

1

Вы можете проверить, как так:

<?php 
if(isset($_POST['terms'])) 
{ 
    echo htmlentities($_POST['terms']); 
} 
else { 
    echo "please click to confirm the T's and C's"; 
} 
?> 

Что случилось с вашим кодом:

  • $t_and_c = empty($_POST['terms'] вы не сравниваете это присваивание значения.

  • echo'please click to confirm the T's and C's'; Это не может работать, потому что вы используете одиночную кавычку внутри одиночных кавычек.

+0

Какова цель вашего (if (empty (..))?. Неконтролируемый флажок не будет определен, вам не нужен этот код только для проверки. – Sakuto

+0

@Sakuto: ур мой друг, здесь нет необходимости, в ist обновление OP не было поля ввода, поэтому я сделал это ... спасибо другу .. ответ обновлен – devpro

+0

Эхо его тоже не очень полезно, так как OP просто нужно проверить, проверено ли оно или нет. – Sakuto

0

сравнение с двойным знаком = «==» исправлен ниже

if ($t_and_c == empty($_POST['terms'])) 
+0

y ему нужно ?? ??? – devpro

+0

в противном случае это не будет сравнение. это будет задание и всегда будет оценивать true. –

+0

@RahulKate нет, если выражение возвращает false. Он проверяет значение самого присваивания, а не значение выражения. Это совершенно верно. – rjdown

3
if(isset($_POST['terms'])) 
    // user checked it 

Если он не установлен, то переменная не будет установлена.

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