如何在提交表单并打开新页面后插入MYSQL

时间:2015-08-28 17:14:06

标签: php html

我有一个调查页面,我需要的是在最终用户点击提交后插入MySql数据库,然后打开一个新页面说谢谢。

我做的是这样的:

<!DOCTYPE html>
<html lang="en">
<head>

</head>
<body>
<?php
  $Questions = array("Question1");
?>
<form id = "surveyform" method = "POST" >
<label name = "Q">Please share any recommendations you have for improving this program.</label>
<textarea rows="4" cols="100" name="A" form="surveyform" style = "width: 504px"></textarea>

<button type="submit" class="btn btn-primary" name ="Insert" value="Insert">Submit</button>
</form>
<?php
    if (isset($_POST['Insert'])){
    $A = '';
    if (isset($_POST['A']) && $_POST['A'] !='') {$A = $_POST['A'];}
    $QA = array(array('question'=>$Questions[0], 'answer'=>$A1));
    $InsertSQL = "Insert into table(question, answer) values('".$QA[0]['question']."', ,".$QA[0]['answer']."')";
    $Insert = new Query($InsertSQL);
    $Insert->executeQuery();
    header("Location: /path/thankyou");
    }
    ?>

</body>
</html>

但它无法插入数据库。这不是数据库连接相关的问题,因为如果我注释掉检查部分

if (!empty($_REQUEST['Insert'])){
}

它可以写入数据库。问题是当我加载页面时,它会将空值写入数据库,因此我想在此处添加一些检查以确保单击提交按钮。

我通过将插入部分移动到部分来改变了thankyou.php。

<!DOCTYPE html>
<html lang="en">
<head>
<h5>Thank you for your time to take the survey. Have a good day!</h5>
</head>
<body>



</body>
</html>

非常感谢你。最后它有效!

1 个答案:

答案 0 :(得分:2)

在阅读上面的评论之后,我看到你正在努力追随以下内容:

  

1)重新指示。

     

2)查询插入。

     

3)打开仅包含消息的页面。


  

1)

您可以将action = ""留空,使用$_POST数据时可以header(location: yourpage.php);,也可以action = "youpage.php"使用所有$_POST数据。

  

2)

您需要在查询中指定值时指定行,其中存在语法错误。它应该像"INSERT INTO table(column1, column2, column3) Values('Value1','Value2','Value3')";

  

3)

在特定条件下将用户重定向到空白页面或甚至更好的警告消息(如echo <script>alert('Thank you');</script>),假设您已成功将数据插入数据库,因为您的目的是仅显示消息。 / p>