在 Siteground 上,我已经安装了 WP,并且在“wp-admin”、“wp-content”和“wp-includes”的同一目录中创建了一个名为“test”的文件夹。我还创建了自己的数据库,未连接到 wp_database。在测试文件夹中有一些 PHP 测试页面用于与我自己的数据库交互。问题是,每次我想通过这个 PHP 测试页面在我自己的数据库中编辑或添加一些内容时,用户界面不会刷新内容;我每次都必须按 F5 才能看到更改。
我认为这可能是与我的浏览器或 WordPress 相关的缓存问题,但我不确定。我尝试清理浏览器缓存,但没有任何改变。下面的代码是 PHP 测试页面(test.php)的示例
<?php
$con_my_db = mysqli_connect($servername, $username, $password, $dbname);
require( '../wp-load.php' );
if(isset($_GET['add']){
if($_POST){
$insertquery = "INSERT INTO suppliers(name, code, address, phone) VALUES
('$company' ,'$code' ,'$address' ,'$phone')";
$resultinsertquery = $con->query($insertquery);
if($resultinsertquery){
echo 'Added';
}else{
echo 'Error';
}
}
}
?>
<a href="test.php">Back</a>
<form action="test.php?add=1" method="POST">
<input type="text" name="name"><br>
<input type="text" name="code"><br>
<input type="text" name="address"><br>
<input type="text" name="phone"><br>
<input type="submit" value="Submit">
</form>
<?php
}else{
$suppliers = $con->query("SELECT * FROM suppliers");
?>
<a href="test.php?add=1">Add supplier</a>
<table>
.... list of the suppliers (avoided useless code)
</table>
<?php } ?>
提交表单并检索“已添加”输出后,我按“后退”链接查看供应商列表,但它没有显示刚刚添加的新供应商。刷新浏览器页面就可以了。问题是我不想每次都刷新页面来查看所做的更改。我该如何修复它?
最佳答案
您没有看到更新的数据,因为输入数据后布局不会自动更新。每当提交表单时,您都会检查 $_GET["add"] ,因此 else 部分当时不会运行,并且当您刷新页面时,不会设置 $_GET["add"] 变量,并且将从数据库中获取更新的供应商列表...
如果您不想每次添加新供应商时都刷新页面,则必须使用ajax提交表单并刷新布局,或者添加此行header("Refresh:0; url=test.php");
之后echo("added");
输入成功后会自动刷新页面,无需手动刷新页面...
或者您可以移动 $suppliers = $con->query("SELECT * FROM suppliers");
从 else 部分中删除并删除 else block ,以便每次都会从数据库中获取数据..
关于php - 页面刷新 WP PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58353256/