将数据从多页表单保存到数据库Wordpress
问题描述:
如何使用wordpress中的会话将数据从多页表单保存到数据库中?将数据从多页表单保存到数据库Wordpress
session_start();
foreach ($_POST as $key => $value) {
$_SESSION['post'][$key] = $value;
}
extract($_SESSION['post']);
if (isset($_POST["submit"])) {
extract($_SESSION['post']);
//global $wpdb;
//$wpdb->insert("tablename", array("data" => $_SESSION["data"], array("%s"));
include 'dbconnect.php';
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO tablename (data) VALUES ('{$data}')";
$conn ->exec($sql);
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
$conn = null;
session_destroy();
}
我想在数据库中保存多页表单。我没有保存单个页面的问题。但是,一旦我尝试使用$ _SESSION,它将不再保存数据。 预先感谢您 更新:我无法让它使用$ wpdb工作;但它使用PDO工作得很好。
答
我会用隐藏的输入生成第二页的表单,其中第一个表单的值为您输入的值。然后将所有值保存到数据库,然后在第二个表格中检查它们。
答
我会在你的数据库中使用三个表。所有参与调查的客户都只有很少的信息(如时间戳,姓名或某事),其中包含所有问题(问题文本,他们列在其中的页面等),第三个用户ID和quesionID以及回答。这种结构对于调试是非常直观的,但仍然是更好的选择。
例如,您是否可以发出SELECT * FROM questions WHERE page=2
,并且您可以在第二页获得所有问题。
但您在这里的最大好处是您可以独立于其他答案而安全回答答案表。
您可以通过SELECT * FROM answers WHERE uid=5
访问特定用户的所有答案或某个问题的所有答案。
使用这种数据库结构比将每一个信息填充到一个大表中更加通用。
我可以给你更详细的信息或代码,如果你需要它。
您可以一次保存一小段,或者保存一小段时间。那么你到目前为止尝试过哪些方法 – Anigel
这个想法是将所有内容保存在最后 –
页面是否一致? – xyious