gpt4 book ai didi

php - 数据库查询在表单提交更新后重新加载一次

转载 作者:行者123 更新时间:2023-11-28 03:15:06 25 4
gpt4 key购买 nike

我希望一旦用户更新了他们个人资料上的信息,就不会立即重新加载输入框。

这是一个例子:

User updates his age box:
User inputs 10
Displays 10
User inputs 20
Displays 10
Page Reload
Displays 20

我不知道为什么会这样。它需要一个完整的页面重新加载和页面刷新才能显示正确的信息:(

然而,一旦信息在数据库中更新,并且我打印信息 - 它是正确的。虽然感觉按钮重新加载整个页面,但这不起作用。以下是设置的变量:


变量

function utf8_encode_string($value) {
if (empty($_POST[$value])) {
$str = "";
return $str;
}
else {
$str = utf8_encode(htmlspecialchars(trim($_POST[$value]), ENT_QUOTES));
return $str;
}
}

$urlquery = new user("username", $accounturl, $connection);
$locationinput = utf8_encode_string($urlquery->user_information("location"));
if (!$locationinput) {
$locationinput = utf8_encode(htmlspecialchars(trim($urlquery->user_information("location")), ENT_QUOTES));
}

表单

<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)
);

如果你想要我的完整代码,你可以在这里找到它:http://pastebin.com/Cg2LQd7T

如果您希望我更好地解释我的问题,请告诉我。我已经为此工作了一个多月了,但我无法修复它! :(

最佳答案

我知道这只是一个:

work around

但是你可以使用

 header("Refresh:0");

在您将值保存到数据库后立即在页面上重新加载它。

附言- 这是一个解决方法。

关于php - 数据库查询在表单提交更新后重新加载一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28533724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com