使html文本输入php变量

时间:2015-10-25 23:22:52

标签: php html

我希望带有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。

3 个答案:

答案 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());
}

}
?>

问题是:在尝试使用它之前,您没有检查它是否已设置,所以当您在没有设置发布数据的情况下访问它时,它会给您一个错误。