无法将textarea值传递给php变量

时间:2014-12-10 13:23:50

标签: php html variables textarea

我需要将textarea标签的文本分配给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 _

我做错了什么?感谢。

4 个答案:

答案 0 :(得分:4)

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

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()

答案 1 :(得分:1)

您需要发布表单。

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

添加新元素submit

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

答案 2 :(得分:1)

尝试向表单添加一个提交按钮,默认表单方法将获得,因此无需添加方法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; 
}?>

答案 3 :(得分:1)

你需要使用它:

// 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..
   }
 ?>