Php 数据库查询在表单提交更新后重新加载一次
我希望一旦用户更新了他们配置文件上的信息,就不要立即重新加载输入框 以下是一个例子:Php 数据库查询在表单提交更新后重新加载一次,php,html,mysql,class,Php,Html,Mysql,Class,我希望一旦用户更新了他们配置文件上的信息,就不要立即重新加载输入框 以下是一个例子: User updates his age box: User inputs 10 Displays 10 User inputs 20 Displays 10 Page Reload Displays 20 我不知道为什么会这样。需要重新加载整个页面并刷新页面,才能显示正确的信息:( 然而,一旦数据库中的信息被更新,我就打印出信息——这是正确的。尽管sense按钮重新加载整个页面,但这并不起作用。下面是设置的
User updates his age box:
User inputs 10
Displays 10
User inputs 20
Displays 10
Page Reload
Displays 20
我不知道为什么会这样。需要重新加载整个页面并刷新页面,才能显示正确的信息:(
然而,一旦数据库中的信息被更新,我就打印出信息——这是正确的。尽管sense按钮重新加载整个页面,但这并不起作用。下面是设置的变量:
变量
形式
数据库更新
如果您想要我的完整代码,可以在此处找到: 如果您想让我更好地解释我的问题,请告诉我。我已经为此工作了一个多月,但我无法解决它!:(我知道这只是一个:解决方法 但是你可以用
header("Refresh:0");
在数据库中保存完值后,在页面上重新加载它
这是一个解决办法
<form method="post">
<input
type="text"
name="location"
id="locationinput"
value="<?php print utf8_decode($locationinput); ?>"
/>
</form>
class user {
public function __construct($row_name_1, $row_value_1, $connection) {
$this->row_name_1 = $row_name_1;
$this->row_value_1 = $row_value_1;
$this->connection = $connection;
}
public function user_update_information($updatecolumn, $updatecolumn_value) {
$query = "UPDATE users SET $updatecolumn = :updatecolumn WHERE $this->row_name_1 = :row_value_1";
$stmt = $this->connection->prepare($query);
$stmt->execute(array(':updatecolumn' => $updatecolumn_value,
':row_value_1' => $this->row_value_1));
}
public function user_information($information) {
$query = "SELECT * FROM users WHERE $this->row_name_1 = :row_value_1";
$params = array(':row_value_1' => $this->row_value_1);
try{
$stmt = $this->connection->prepare($query);
$result = $stmt->execute($params);
}
catch(PDOException $ex){
echo ("Failed to run query: " . $ex->getMessage());
}
$columns = $stmt->fetch();
return $columns[$information];
}
}
$location_for_database = "";
if (isset($locationinput))
{
$location_for_database = $locationinput;
}
else
{
$location_for_database = "";
}
$updateinfo = new user("id", $_SESSION["logged_in"], $connection);
$updateinfo->user_update_information(
"location",
($location_for_database)
);
header("Refresh:0");