喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

【村长请吃饭啊】 ---北京诚聘--- 【你还在犹豫吗?】

上一主题 下一主题
     
标题: php论坛通用在网站首页登入无跳转解决方法  
 
c1a1o1
版主
Rank: 7Rank: 7Rank: 7
一品带刀护卫


UID 68669
精华 0
积分 1189
帖子 2101
金钱 1189 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2006-2-17
状态 离线
php论坛通用在网站首页登入无跳转解决方法

这里的对象主要针对那些对论坛本身不是很了解,而又想实现这种无跳转登入的功能。这个思想对所有作的好的php论坛都通用。

首先介绍以下文件分布。网站根目录下index.php和bbs是同一级别,本例以phpbb为例:
|
|――images
|――bbs
  |――login.php
  |――login1.php
  |――
|――index.php
|――123.php
我这样处理的复制login.php新建一个login1.php文件。其中login1.php和login.php内容完全一样,当然对于不同的论坛你也可以修改一些东西。

login1.php的出现很高明,请大家想象以下原因。

然后在index.php中包含了这样一个文件login.html,以下是大致的代码:

<!--<?php if(empty($sid)){
print <<<EOT
-->
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0 >
<TBODY>
<TR> 
<TD height=10 bgcolor="#FFFFFF"></TD>
</TR>

<TR> 
<TD height="26" background="images/index_01.gif" ><div align="center"><font size="2"><strong>祅嘲</strong></font>
</div></TD>
</TR>
<TR> 
<TD height="5"> </TD>
</TR>

<TR> 
<TD vAlign=top>

<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr> 
<td> 

<table width='100%' border='0' cellspacing='0' cellpadding='0'><form action='./bbs/login1.php' method='post' name='UserLogin' onSubmit='return CheckForm();'>
<tr><td height='25' align='right'><font size="2">ノめ:</font></td><td height='25'><input name="username" class="post" type='text' id='UserName' size='10' maxlength='20'></td></tr>
<tr><td height='25' align='right'><font size="2">盞&nbsp;&nbsp;絏: </font></td><td height='25'><input type="password" name="password" class="post" size='10' maxlength='20'></td></tr>
<tr align='center'><td height='25' colspan='2'><input type="submit" name="login" class="mainoption" value=' 祅嘲 '>
<input type="hidden" name="redirect"  value='../index.php'> 
 <input name='Reset' type='reset' id='Reset' value=' 睲埃 '></td></tr>
<tr><td height='20' align='center' colspan='2'><a href='./bbs/profile.php' target='_blank'><font size="2">穝ノめ猔</font></a>&nbsp;&nbsp;<a href='GetPassword.php' target='_blank'><font size="2">а癘盞絏</font></a></td></tr></form></table>
<script language=javascript>
    function CheckForm()
    
{
        if(document.UserLogin.UserName.value=="")
        
{
            alert("请输入用户名□");
            document.UserLogin.UserName.focus();
            return false;
        
}
        if(document.UserLogin.Password.value == "")
        
{
            alert("请输入密码□");
            document.UserLogin.Password.focus();
            return false;
        
}
    
}
</script>

</td>
</tr>
</table>

</TD>
</TR>

<TR>
<TD height="5"> </TD>
</TR>

<TR>
<TD height=1 colspan="2" background=images/naSzarym.gif><IMG height=1 src="images/1x1_pix.gif" width=10></TD></TR>

</TBODY>
</TABLE>
<!--
EOT;
}
?>
<?php 
if($sid){print <<<EOT
-->
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0 >
<TBODY>
<TR> 
<TD height=10 bgcolor="#FFFFFF"></TD>
</TR>

<TR> 
<TD height="26" background="images/index_01.gif" ><div align="center"><font size="2"><strong>祅嘲</strong></font>
</div></TD>
</TR>

<TR> 
<TD height="5"> </TD>
</TR>

<TR> 
<TD vAlign=top>

<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr> 
<td> 

<table width='100%' border='0' cellspacing='0' cellpadding='0'><form action='./bbs/login1.php' method='post' name='UserLogin' onSubmit='return CheckForm();'>
<tr><td height='25' align='right' width='120'><font size="2">舧ㄓ</font></td><td height='25'></td></tr>
<tr><td height='25' align='right' width='140'><font size="2">竒Θサn</font></td><td height='25'></td></tr>
<tr><td height='20' align='center' colspan='2'><a href='./bbs/index.php' target='_blank'><font size="2">祅bbs</font></a>&nbsp;&nbsp;<a href='GetPassword.php' target='_blank'><font size="2"></font></a></td></tr></form></table>
<script language=javascript>
    function CheckForm()
    
{
        if(document.UserLogin.UserName.value=="")
        
{
            alert("请输入用户名□");
            document.UserLogin.UserName.focus();
            return false;
        
}
        if(document.UserLogin.Password.value == "")
        
{
            alert("请输入密码□");
            document.UserLogin.Password.focus();
            return false;
        
}
    
}
</script>

</td>
</tr>
</table>

</TD>
</TR>

<TR>
<TD height="5"> </TD>
</TR>

<TR>
<TD height=1 colspan="2" background=images/naSzarym.gif><IMG height=1 src="images/1x1_pix.gif" width=10></TD></TR>

</TBODY>
</TABLE>
<!--
EOT;
}
?>-->
注意了,朋友们<input type="hidden" name="redirect"  value='../index.php'> 这个又是一个关键,其他的可以不看。
以下是使用,不讨论你没有注册的情况,这些谁都会处理。
使用一个正确的帐号登入在index.php页得到以下参数index.php?sid=xxxxxx
我以上的程序可以告诉你已经成功登入。
然后
在index.php开头我这样写

<?php
if($sid){
Session_Start();
$_SESSION['adminname']=c1a1o1;    
}
?>
在123.php我这样引用
<?
session_start();
if($_SESSION['adminname'])
{
$sid=c1a1o1;
}?>
成功!
大致实现了需要的功能!
再重复以下句子,请大家看看!顺便批皮!
注意了,朋友们<input type="hidden" name="redirect"  value='../index.php'> 这个又是一个关键,其他的可以不看。

其他论坛我测试了phpwind思路差不多,差异的原因是我对phpwind了解一些。




流量交换联盟
高校二手市场言情小说
2006-7-3 12:33 PM#1
查看资料  Blog  发短消息  QQ  顶部
 
qh663
版主
Rank: 7Rank: 7Rank: 7
中级会员


UID 30020
精华 0
积分 546
帖子 580
金钱 546 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2004-7-13
来自 河源
状态 离线
[推荐阅读] 算法,来玩玩约瑟夫(josephus)环
只一句,就是phpwind隐藏域中的redirect变量传递,对吧?



五百多篇PHP学习资料
喜悦村BLOG
php团队接兼职项目QQ:80031807
PHP群:768844
2006-7-4 05:21 PM#2
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
c1a1o1
版主
Rank: 7Rank: 7Rank: 7
一品带刀护卫


UID 68669
精华 0
积分 1189
帖子 2101
金钱 1189 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2006-2-17
状态 离线
[推荐阅读] 如何创建镜像服务器?
是的,哈哈!但是思想可以的!



流量交换联盟
高校二手市场言情小说
2006-7-4 06:01 PM#3
查看资料  Blog  发短消息  QQ  顶部
 
内存不足
新手上路
Rank: 1



UID 76020
精华 0
积分 14
帖子 22
金钱 14 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2006-7-6
状态 离线
[推荐阅读] 一个简单的验证问题
为啥贴这么多代码.看晕我了,到头来就一句有用了,这不是有心整理我嘛
2006-7-6 10:28 PM#4
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 


Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.031361 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP