在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块,以便每次都会从数据库中获取数据。

关于php - 页面刷新WP PHP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58353256/

10-16 09:50