php - 如何制作具有永久链接的动态 php 网站?

标签 php javascript mysql ajax

所以我有一个问题,我以前从未这样做过。

I have this website http://82.196.14.71/obrigatorionaover/ .

我想生成 ajax 网页,但我也想要浏览器历史记录的永久链接。

这是第一页的正文(releituras.php):

<body> 
 <?php 
  $path = $_SERVER['DOCUMENT_ROOT'];
  $path .= "/obrigatorionaover/php/nav.php";
  include_once($path);
 ?>


<div id="float">
 //this is a connect
 <?php 
  $path = $_SERVER['DOCUMENT_ROOT'];
  $path .= "/obrigatorionaover/xxxxxxxxxxxx.php";
  include_once($path);
 ?>

 <?php
  try {
   $stmt = $db->query('SELECT * FROM sessoes ORDER BY id DESC');
    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
     echo '<div  style="background-image:url('."http://localhost:8888/obrigatorionaover/".$row["img"].')" class="rect sessao" id=sessao'.$row["id"].'>'.'<h3 class="titulo">'.$row["numero_sessao"].'</h3>'.'<p class="descricao">'.$row["descricao"].'</p>'.'</div>';
    }
  } catch(PDOException $ex) {
     echo "An Error occured!"; //user friendly message
    }
?>

</div>
 <script src="/obrigatorionaover/js/script.js"></script>
</body>

我像这样清理 div float 并动态插入新内容,(sessao.php 类似于来自 releituras.php 的查询)

function sessao(data){
 $("#float").html("");
 $.get("/obrigatorionaover/php/sessao.php?id=1").done(function(data) {
  $("#float").append(data);
 });
}

浏览器中的url是不变的,是否可以在不改变内容的情况下动态改变url?

浏览器历史也没有改变(我知道我可以注入(inject)它但我没有有效的物理 php 页面)。我怎样才能注入(inject)它?在向数据库中插入信息时,我应该自动创建物理 php 页面吗?

我可以拥有虚拟 php 页面之类的东西吗?如果是怎么办?

最佳答案

您需要的是将 HTML anchor 与 ajax 导航一起使用。
当你用ajax加载东西的时候,修改anchor。这不会重新加载页面,但会为您提供真正新的 window.location
当没有使用 ajax 加载页面时,解析该 anchor (如果存在)以确定要显示的 ajax 页面。
这是基本的想法,是你思考的一个方向,因为我不知道你的项目实现的细节。

Loading with AJAX and going to anchor in loaded content

关于php - 如何制作具有永久链接的动态 php 网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17193124/

相关文章:

php - Artisan 迁移期间 Laravel 数据库错误

javascript - Video.js:初始化前如何判断当前设备是否有原生播放?

javascript - TinyMCE 代码插件 - 不想在模态对话框中打开代码 View

Mysql主主复制问题

php - 来自 joomla 的 Mysql 查询需要很长时间

php - $this->forward 丢失了用户的请求路由?

javascript - HTML5 是否允许拖放上传文件夹或文件夹树?

mysql查询以查找日期时间的记录过滤

mysql - 从三个表中选择

php - 我可以让一段代码超时吗?