PHP - проверить, имеет ли текстовое поле значение или нет? - PullRequest
0 голосов
/ 28 января 2019

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

Полный код

- Вот полный код моей формы, пожалуйста, посмотрите большое спасибо

    <form>
          <div class="row">
            <form method="POST">
            <div class="col-md-8">
              <?php
              $code = 'Code';
              $code2 = 'PIN'; 
            if(isset($_POST['btnSubcode'])) {
              $lblCode  =  isset($_POST['lblQrTxt']) ? $_POST['lblQrTxt'] : '';

              $code =   $lblCode;
              $code = explode(":",$code); // code = array("QR Code","444444444|123")
              $code = explode("|",$code[1]); // code[1] = "444444444|123"
              $code = trim($code[0]); // 444444444


              $code2 =   $lblCode;
              $code2 = explode(":",$code2); // code = array("QR Code","444444444|123")
              $code2 = explode("|",$code2[1]); // code[1] = "444444444|123"
              $code2 = trim($code2[1]); // 123
            }


            ?>


              <div class="form-group">
                <label class="form-control-label">code</label>
                <input type="text" name="input" id="card-code" value='<?php echo $code ?>' class="form-control">
              </div>
            </div>
            <div class="col-md-4">
              <div class="form-group">
                <label class="form-control-label">pin</label>
                <input type="text" id="card-pin" value='<?php echo $code2 ?>' class="form-control" maxlength="3">
              </div>

             <?php 


              if(isset($_POST['txtQrtxt']) && $_POST['txtQrtxt'] != '') {
                 echo "Text Present";
              } else {
                 echo "Text Not Present";
              }

              ?>

                        <div class="caption">

                        <div class="jumbotron">
                        <input type="text" name='txtQrtxt' value='Hello World' class="form-control" >

                        <textarea class="form-control text-center" id="scanned-QR" name="lblQrTxt"></textarea><br><br><br>

                         </div>

                        </div>


              </form>
              <div class="form-group float-right">
                <input value="Topup" class="btn btn-primary topup-button">

              </div>
            </div>
          </div>

        </form>


 <?php 

              $txtCodeqr  =  isset($_POST['txtQrtxt']) ? $_POST['txtQrtxt'] : '';
              if (!empty($txtCodeqr)) {
                echo "Text";
              } else {
                echo "Empty Textbox";
              }


               ?>

мое текстовое поле

<input type="text" name='txtQrtxt' value='Hello World' class="form-control" >

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Хорошо, я сделал простой тестовый файл php и проверил, работает ли он.Ваша проблема:

  1. У вас нет кнопки отправки.$ _POST не будет, если вы сначала не отправите форму.

  2. Было бы проще проверить текстовое поле, используя вместо этого javascript.

Вот мой тестовый файл, и он работает:

<html>
<body>
<form method="POST">
<textarea name="txtQrtxt">
</textarea>

<input type="submit">
</form>

<?php

$var = $_POST['txtQrtxt'];

if (strlen($var)<=0) {
    echo "Textarea empty";
} else {
    echo "Textarea Okay";   

}


?>
</body></html>
0 голосов
/ 28 января 2019

Возможно, вы слишком усложняете это.Это довольно просто.

<?php

if(isset($_POST['txt']) && $_POST['txt'] != '') {
   echo "Text Present";
} else {
   echo "Text Not Present";
}
?>

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

Проверьте здесь - http://php.net/manual/en/function.filter-input.php

<?php

$my_txt = filter_input(INPUT_POST, 'txt');
if(isset($my_txt) && $my_txt != '') {
   echo "Text Present";
} else {
   echo "Text Not Present";
}
?>

Также вам нужно добавить кнопку отправки между тегами формы.Вот так.

<input type="submit" value="Submit">

Также у вас должен быть только один закрывающий тег для каждого открывающего тега.Это называется действительным HTML.

Например, допустимая форма имеет вид

 <form method="post">
  First name:<br>
  <input type="text" name="firstname" value="Mickey"><br>
  Last name:<br>
  <input type="text" name="lastname" value="Mouse"><br><br>
  <input type="submit" value="Submit">
</form> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...