javascript - 在新页面中动态生成 HTML(服务器端)

标签 javascript php html server mustache.php

出于学习目的,我正在构建一个简单的网络应用程序,允许用户为自己编写一个介绍页面。我对服务器端动态生成的 HTML 以及它如何连接到客户端感到非常困惑。我目前正在使用 PHP 和 Mustache 模板在服务器端生成关于页面 HTML,并且工作正常。

假设我输入了 URL:localhost/intro.html

在 intro.html 上有一个按钮,如果我单击它,浏览器会将我带到一个新的 URL (localhost/intro.html/Adam),其中包含用户的介绍信息,我们只说“Adam”。

根据我的理解,这应该向服务器发送一个请求,以生成一个关于 HTML 页面的关于 Adam 的信息,并将该 HTML 页面发送回浏览器。

我不明白的是它在 HTML、JS (JQuery) 和 PHP 中会是什么样子。同样,我可以在服务器端很好地生成 HTML,但是单击 localhost/intro.html 上的按钮如何将页面更改为 localhost/intro.html/Adam ?我的 PHP 代码如何检测页面 localhost/intro.html/Adam 并知道为其生成 HTML?代码是什么样的,我是否遗漏了一些概念?

任何方向、示例代码或教程将不胜感激。我所能找到的只是 PHP 教程。谢谢!

最佳答案

好的,凭借您对数据库和查询的了解,您可以做到这一点...

创建您的主页...我们称之为index.php .

  1. 将此 js 放入您的 <head>标签

    函数 MM_jumpMenuGo(objId,targ,restore){//v9.0 var selObj = null;与(文件){ 如果 (getElementById) selObj = getElementById(objId); 如果 (selObj) eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); 如果(恢复)selObj.selectedIndex=0; } }
  2. 在重复区域内创建一个带有下拉列表的表单,该下拉列表具有动态生成的选项和一个提交按钮。

  3. 该下拉列表的值类似于 <option value="/<?php echo $row['username'] ?>"><?php echo $row['username'] ?></option>

  4. 您的提交按钮将调用 javascript 将您带到您想要的页面
    <input type="button" name="go_button" id= "go_button" value="Go" onClick="MM_jumpMenuGo('jumpMenu','parent',0)">

完成主页...

<form name="form1">
  <select name="name" id="name">
    <option selected>Please make a selection</option>
    <?php do { ?>
    <option value="/<?php echo $row['username'] ?>"><?php echo $row['username'] ?></option>
    <?php } while($row = $query->fetch(PDO::FETCH_ASSOC)) ?>
  </select>
<input type="button" name="go_button" id= "go_button" value="Go" onClick="MM_jumpMenuGo('select14','parent',0)">
</form>

然后我们从您的“目标”页面开始……我们称它为 results.php

  1. 在数据库中查询从主页传递的用户名。

    $name = $_GET['name'];//这是主页上下拉菜单的名称 SELECT * FROM mytable WHERE username=:name

  2. 确保绑定(bind)参数 $query->bindValue(':name', $name, PDO::PARAM_STR);

  3. 然后你可以像这样回显你想显示的信息... <?php echo $row['fieldname'] ?>

最后,.htaccess文件...

创建一个重写规则来处理这个...

RewriteEngine On    # Turn on the rewriting engine
RewriteCond %{REQUEST_FILENAME} !-f # if this is not a real file
RewriteCond %{REQUEST_FILENAME} !-d # if this is not a real directory
RewriteRule    ^([A-Za-z0-9_-]+)$    results.php?name=$1    [NC,L]    # Handle page requests

大功告成。

注意:我使用的代码是pdo_mysql .您可以获得更多信息here

关于javascript - 在新页面中动态生成 HTML(服务器端),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32547094/

相关文章:

javascript - 如何使用 angularjs 创建搜索?

javascript - 使用 for 循环和另一个数组填充一个数组

javascript - 三个 JS 相机方向返回 180 度而不是 360 度的值

php - 计算数组中每个值的出现次数

php - 我收到 mysql_fetch_array 警告的代码中的错误是什么?

javascript - 显示/隐藏 jquery 点击功能

jquery - 视频控件不可见

javascript - Angular 1.5,从 ng-repeat 外部调用组件函数?

php - 保护 PHP 应用程序的安全

jquery - 下拉列表显示不正确的问题