我需要将文本区域标签的文本分配给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;
}?>