显示未定义变量的PHP connect mysql

显示未定义变量的PHP connect mysql,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我从php连接phpmyadmin数据库时遇到问题。 下面的代码用于表单 <div id="wb_element_instance53" class="wb_element"> <form class="wb_form wb_mob_form" method="post"><input type="hidden" name="wb_form_id" value="18498be5"><textarea name="message" rows="3"

我从php连接phpmyadmin数据库时遇到问题。 下面的代码用于表单

<div id="wb_element_instance53" class="wb_element">
  <form class="wb_form wb_mob_form" method="post"><input type="hidden" name="wb_form_id" value="18498be5"><textarea name="message" rows="3" cols="20" class="hpc"></textarea>
    <table>
      <tr>
        <th class="wb-stl-normal">Name&nbsp;&nbsp;</th>
        <td><input type="hidden" name="wb_input_0" value="Name"><input class="form-control form-field" type="text" value="" name="wb_input_0" required="required"></td>
      </tr>
      <tr>
        <th class="wb-stl-normal">Email&nbsp;&nbsp;</th>
        <td><input type="hidden" name="wb_input_1" value="E-mail"><input class="form-control form-field" type="text" value="" name="wb_input_1" required="required"></td>
      </tr>
      <tr class="area-row">
        <th class="wb-stl-normal">Message&nbsp;&nbsp;</th>
        <td><input type="hidden" name="wb_input_2" value="Message"><textarea class="form-control form-field form-area-field" rows="3" cols="20" name="wb_input_2" required="required"></textarea></td>
      </tr>
      <tr class="form-footer">
        <td colspan="2"><button type="submit" class="btn btn-default">Submit</button></td>
      </tr>
    </table>
  </form>
  <script type="text/javascript">
试试这个:

$email ='';
$name ='' ;
$message ='';
print_r($_POST);//to review is all vars in form.
if (isset($_POST['name'])) {
    $name = $_POST['name'];
}

if (isset($_POST['email'])) {
    $email = $_POST['email'];
}
if (isset($_POST['message'])) {
    $message = $_POST['message'];
}
if (isset($_POST['wb_input_0'])) {
      $name = $_POST['wb_input_0'];
  }
如果isset失败怎么办?? 修理: 仅当设置了参数时才具有$sql

if (isset($_POST['name']) && isset($_POST['email']) &&   isset($_POST['message']) ){

    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $sql ="INSERT INTO contac_ds ('Name','email','message') VALUES ('$name','$email,'$message')";

    //Execute the query

    mysqli_query($connect,$sql);
}

问题是$\u POST搜索输入的名称。您的名字是wb\U input\U 0,请尝试以下操作:

if (isset($_POST['wb_input_0'])) {
      $name = $_POST['wb_input_0'];
  }

电子邮件和信息也是如此。但是,我不建议您这样命名输入内容,请帮自己一个忙,准备您的声明:

$sql ="INSERT INTO contac_ds ('Name','email','message') VALUES (?,?,?)";
$stmt = mysqli_prepare($connect, $sql);
$name="";
if (isset($_POST['name'])) {
    $name = $_POST['name'];
}
$email="";
if (isset($_POST['email'])) {
    $email = $_POST['email'];
}
$message="";
if (isset($_POST['message'])) {
    $message = $_POST['message'];
 } 

mysqli_stmt_bind_param($stmt,"sss",$name,$email,$message);
mysqli_stmt_execute($stmt);

请注意,您当前的$\u帖子中不会有这些字段,因为您对它们的命名不同,而且有两次,因此您还需要修复这些字段。

为什么所有代码都被注释掉了?真的吗??你的全部代码都在注释中!!!如果缺少任何参数,您可能不应该执行插入操作。请打印\u r$\u POST并查看您发布的内容。这似乎是错误的。如果没有设置参数,他应该跳过整个插入,而不是插入一个空行。@Barmar是的,你当然是正确的,但是如果你再次检查代码,你也会注意到他也没有逃避输入,所以他显然是个新手。让我们帮他一步一步地走,好吗@Barmar,是的,代码是基本的,它必须是mysl定义中的void作为默认值,并在收到参数集的基础上使用查询生成。正如我在回答中所说的,他还应该注意正确地转义参数,以避免SQL注入。@deepanraj pounraj:用wb_input_0替换名称,带有wb_输入_1的电子邮件和带有wb_输入_2的消息。这是您在表单中使用的名称,因此将用于$u POST。您应该单击评论的向上按钮,并正确地勾选@deepanrajpounraj
if (isset($_POST['wb_input_0'])) {
      $name = $_POST['wb_input_0'];
  }
$sql ="INSERT INTO contac_ds ('Name','email','message') VALUES (?,?,?)";
$stmt = mysqli_prepare($connect, $sql);
$name="";
if (isset($_POST['name'])) {
    $name = $_POST['name'];
}
$email="";
if (isset($_POST['email'])) {
    $email = $_POST['email'];
}
$message="";
if (isset($_POST['message'])) {
    $message = $_POST['message'];
 } 

mysqli_stmt_bind_param($stmt,"sss",$name,$email,$message);
mysqli_stmt_execute($stmt);