无法将文本区域值传递给 php 变量


Can't pass textarea value to php variable

我需要将文本区域标签的文本分配给php变量。我尝试这样做:

<form method="GET">
        <textarea rows="4" cols="50" name="query">some string</textarea>
</form>
<?php
    $query = $_REQUEST['query'];
    echo $query; 
?>

但我得到了

Notice: Undefined index: query in index.php on line _

我做错了什么?谢谢。

由于您在同一页面中使用整个代码,因此在页面加载时向您抛出警告是正常的。

empty()与该表单元素的条件语句一起使用。

if(!empty($_REQUEST['query'])){
$query = $_REQUEST['query'];
}

另外,结合 empty() ,将isset()与命名的提交按钮一起使用,如下所述。

if(isset($_REQUEST['submit']) && !empty($_REQUEST['query']) ){

另外,您需要添加某种类型的按钮来提交数据。

要么是<button type="submit" name="submit">Submit</button>

或输入类型<input type="submit" value="Submit" name="submit">


  • 如果不存在对文件的操作,则表单默认为"self"。

比如你的<form method="GET">

否则,将表单和 PHP 分开,并使用<form method="GET" action="handler.php">

将 HTML 表单作为一个文件,将 PHP 放在另一个文件中。

对于这两种情况,最好还是使用 empty()isset()

你需要使用这个:

// add a submit button first...
 <input type="submit" name="submit">
 <?php
   if(isset($_GET['submit'])){
     // means submit clicked!
     $query = $_GET['query'];
     echo $query;
     print_r($_GET) // check the values of $_GET array..
   }
 ?>

您需要发布表单。

您没有发布它。这就是原因。

添加新元素submit

<input type="submit" name="submit" value="Submit"/>
尝试向

表单添加提交按钮,默认表单方法将被获取,因此无需添加方法 get

<form>
   <textarea rows="4" cols="50" name="query">some string</textarea>
   <input type="submit" name="submit">
</form>

并用于检查

<?php
if(isset($_GET['query'])) {
    $query = $_GET['query'];
    echo $query; 
}?>