我想建立一个简单的网站,用户可以输入他们的名字。但我不知道我怎么能这样做。
这就是我想要的。
在我的index.php
中,会有一个input
,允许用户输入其名称。用户点击按钮后,我希望用户留在index.php
但是内容不同。
我可以做文本域和按钮的网站。但是,在用户点击按钮后,我不知道该怎么办。
不明白我的意思? 例如,这是Facebook登录页面。
登录后,
我们仍在同一页面(index.php)但内容已更改。我知道如何制作网站,但我不知道如何更改内容而不更改网址(例如www.example.com/index.php?u=blah,我只想要www.example.com/index。 PHP)
有人能为我提供一个关于如何制作这个的例子/想法吗?提前致谢。 抱歉我的英语不好。
编辑:抱歉我的英语不好。其实我的意思是,相同的网址,但内容不同。我用Google搜索,我认为cookie
是最佳解决方案。
答案 0 :(得分:0)
您需要使用AJAX:
AJAX允许通过在幕后与服务器交换少量数据来异步更新网页。这意味着可以更新网页的各个部分,而无需重新加载整个页面。
我认为在这里给出一个关于AJAX的教程没什么用处,但你可以阅读w3school's AJAX tutorial。 如果您了解基本知识,我建议使用jQuery,这是一个比纯JavaScript更简单的javascript库。
答案 1 :(得分:0)
您需要使用AJAX进行内容更新,而无需重新加载网页。
JS代码:
<script type="text/javascript">
$(document).ready(function() {
var track_load = 0; //total loaded record group(s)
var loading = false; //to prevents multipal ajax loads
var total_groups = <?php echo $total_groups; ?>; //total record group(s)
$('#results').load("autoload_process.php", {'group_no':track_load}, function() {track_load++;}); //load first group
$(window).scroll(function() { //detect page scroll
if($(window).scrollTop() + $(window).height() == $(document).height()) //user scrolled to bottom of the page?
{
if(track_load <= total_groups && loading==false) //there's more data to load
{
loading = true; //prevent further ajax loading
$('.animation_image').show(); //show loading image
//load data from the server using a HTTP POST request
$.post('autoload_process.php',{'group_no': track_load}, function(data){
$("#results").append(data); //append received data into the element
//hide loading image
$('.animation_image').hide(); //hide loading image once data is received
track_load++; //loaded group increment
loading = false;
}).fail(function(xhr, ajaxOptions, thrownError) { //any errors?
alert(thrownError); //alert with HTTP error
$('.animation_image').hide(); //hide loading image
loading = false;
});
}
}
});
});
</script>
HTML代码:
<ol id="results"></ol>
<div class="animation_image" style="display:none" align="center"><img src="ajax-loader.gif"> </div>
您可以找到完整的教程here。
答案 2 :(得分:0)
你需要使用AJAX。首先,创建一个用于收集表单数据的页面,然后在索引页面中使用AJAX加载另一个提交页面。您可以查看https://github.com/jobayerccj/Simple-Admin-Panel-using-PDO-AJAX,我已经使用AJAX创建了一个管理面板,我使用AJAX加载内部页面而不更改链接。
答案 3 :(得分:0)
您可以使用PHP来执行此操作,这也是我为所有网站所做的事情,这只是一个想法,不确定它是否正是您正在寻找的,但这里是我当前网站的链接,如果你想看到它的生活。当您单击站点顶部的链接时,请务必检查URL。 http://www.thedecoy.net
因此,在index.php页面中,您将获得该网站的基本html代码,包括css和图像,或者您希望在所有网站上显示的任何其他内容,然后在内部使用内容div标签你可以做这种类型的PHP代码。
<?php
error_reporting(E_ALL ^ E_NOTICE);
function open_page($string){
if (preg_match("/^[a-zA-Z]+$/", $string)){
$string = $string;
}else{
$string = "";
}
return $string;
}
$page = open_page($_GET['page']);
if ($page){
$file = "pages/".$page.".php";
if (file_exists($file)){
$pagename = $page;
}else{
$pagename = "404";
}
include("pages/".$pagename.".php");
}else{
echo 'Anything you want displayed in the content of your main page would go here';
}
?>
你会创建一个名为&#34; pages&#34;的目录。在index.php文件所在的根文件夹中然后在其中你可以创建其他页面,例如about.php,contact.php等我确定你明白了,在这些文件中你只会放置你想要的内容显示所以你不需要所有的html头部主体或任何你想要的内容div本身。
假设您想要将访问您网站的用户链接到您只需在链接上调用的contact.php文件。
<a href="index.php?page=contact">Contact</a>
将保持index.php加载,但将内容更改为contact.php信息。 代码有点草率,从我的网站本身拉出来,所以你可能需要处理一些事情。
在页面文件夹中放置一个404.php页面如果找不到页面,将会调用此页面,以便访问者在输入不存在的链接时会看到此页面。
不确定我是否遗漏了任何东西,但请随时询问这是否对您有所帮助。