我希望带有name="input1"
的html文本输入成为名为$value
的php变量。我试过了:
<html>
<form action="added.php" method="post" />
<p>Send a message to JANNES database: <input type="text" name="input1" />
</p>
<input type="submit" value"Submit" />
</form>
</html>
<?php
$value = $_POST["input1"];
$sql = "INSERT INTO janne (String) VALUES ('$value')";
if(!mysql_query($sql)){
die('vajsing: ' . mysql_error());
}
?>
这是有效的,但是当我访问网站时,我发现了这个恼人的错误:
“注意:未定义的索引:第26行的C:\ wamp \ www \ added.php中的input1 调用堆栈 时间记忆功能位置 1 0.0008 250336 {main}().. \ added.php:0“
请注意,我没有发布整个代码。我的php文件名为added.php。
答案 0 :(得分:2)
默认情况下,$_POST["input1"]
为空,因为您尚未提交表单。您应该检查表单是否已提交,如下所示:
if(isset($_POST["input1"])){
//rest of code
}
答案 1 :(得分:2)
检查表单是否已提交。如果您直接加载页面,$_POST['input1']
内没有任何内容。
<?php
if(isset($_POST['submit']))
{
$value = $_POST["input1"];
$sql = "INSERT INTO janne (String) VALUES ('$value')";
if(!mysql_query($sql)){
die('vajsing: ' . mysql_error());
}
}
?>
答案 2 :(得分:0)
将其更改为:
<?php
if(isset($_POST["input1"])){
$value = $_POST["input1"];
$sql = "INSERT INTO janne (String) VALUES ('$value')";
if(!mysql_query($sql)){
die('vajsing: ' . mysql_error());
}
}
?>
问题是:在尝试使用它之前,您没有检查它是否已设置,所以当您在没有设置发布数据的情况下访问它时,它会给您一个错误。