Javascript 在新页面中动态生成HTML(服务器端)
出于学习目的,我正在构建一个简单的web应用程序,允许用户为自己编写介绍页面。我对服务器端动态生成的HTML以及它如何连接到客户端感到非常困惑。我目前正在使用PHP和Mustache模板在服务器端生成关于HTML的页面,效果很好 假设我输入URL:localhost/intro.html 在intro.html上有一个按钮,如果我单击它,浏览器会将我带到一个新的URL(localhost/intro.html/Adam),其中包含一个用户的介绍信息,只需说“Adam” 据我所知,这应该向服务器发送一个请求,生成一个包含Adam信息的about HTML页面,并将该HTML页面发送回浏览器 我不明白的是它在HTML、JS(JQuery)和PHP中的样子。同样,我可以在服务器端生成HTML,但是单击localhost/intro.HTML上的按钮如何将页面更改为localhost/intro.HTML/Adam?我的PHP代码如何检测localhost/intro.html/Adam页面并为其生成html?代码是什么样子的?我是否遗漏了一些概念Javascript 在新页面中动态生成HTML(服务器端),javascript,php,html,server,mustache.php,Javascript,Php,Html,Server,Mustache.php,出于学习目的,我正在构建一个简单的web应用程序,允许用户为自己编写介绍页面。我对服务器端动态生成的HTML以及它如何连接到客户端感到非常困惑。我目前正在使用PHP和Mustache模板在服务器端生成关于HTML的页面,效果很好 假设我输入URL:localhost/intro.html 在intro.html上有一个按钮,如果我单击它,浏览器会将我带到一个新的URL(localhost/intro.html/Adam),其中包含一个用户的介绍信息,只需说“Adam” 据我所知,这应该向服务器发
任何方向,样本代码或教程将不胜感激。我能找到的只是PHP教程。谢谢大家! 好的,凭借您对数据库和查询的了解,您可以做到这一点 创建你的主页。。。我们将其命名为
index.php
1) 将此js放入您的
标记中
<script type="text/javascript">
function MM_jumpMenuGo(objId,targ,restore){ //v9.0
var selObj = null; with (document) {
if (getElementById) selObj = getElementById(objId);
if (selObj) eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0; }
}
</script>
2) 确保绑定参数$query->bindValue(':name',$name,PDO::PARAM_STR)代码>
3) 然后你可以像这样回显你想显示的信息<代码>
最后,.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
。您可以获得更多信息您对创建数据库和数据库查询了解多少?不想表现得粗鲁。只是想了解一下你的经验水平。我可以帮助您,但我需要知道从哪里开始。@Kuya谢谢,我目前正在使用XAMMP,对数据库和数据库查询有基本的了解。我相信我会没事的。你最好花点时间在这上面w3schools@DarrenH,谢谢你的建议。在我来这里问这个问题之前,我已经去过很多学校了,但我似乎找不到我需要的东西。你能告诉我与我的问题相关的w3schools上的链接吗?可以通过分离HTML和PHP文件来实现吗?或者这是我的错误想法?否则,我理解目前正在发生的事情。您将拥有一个主页(index.php)、一个结果页(results.php)和.htaccess
文件谢谢,这对我来说很有意义!事实上,我还有一个后续问题。假设用户输入results.php/Adam试图访问关于Adam的信息,并假设他们有权限访问。如何将其转换为results.php?name=Adam?$name=$\u GET['name']
这就是正在发生的事情。。。您正在创建一个名为$name
的变量,并通过调用$\u GET['name']
为其赋值。这使得(在您的示例中)变量$name
等于“Adam”或传递的任何其他名称。所以$name=$\u GET['name']
是您所需要的。
$name = $_GET['name']; // this is the name of the dropdown on the main page
SELECT * FROM mytable WHERE username=:name
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