2013-07-08 277 views
0

大家好我试图写一个小插件为我的剧本,这是PHP代码:PHP重定向到一个页面

<?php 
if (isset($_SESSION['uid'])) { 
    header('Location: /members'); 
} else { 
    echo '<table width="40%" border="0" align="center" cellpadding="5" cellspacing="2"> 
    <tr align="center" valign="top"> 
    <td bgcolor="#99CC00" class="thinbord"><font color="#FFFFFF"><strong>قسمت ورود کاربران</strong></font></td> 
    </tr> 
    <tr align="center" valign="top" bgcolor="#EEF7FF"> 
    <td class="thinbord"><table width="100%" border="0" cellspacing="0" cellpadding="2"> 
     <form action="/members/" method="post"> 
      <tr> 
      <td height="25" align="center" valign="bottom" class="boxtext"><strong>email :</strong></td> 
      </tr> 
      <tr> 
      <td align="center" class="boxtext"><input type="text" name="email" size="20" maxlength="100"></td> 
      </tr> 
      <tr> 
      <td align="center" class="boxtext"><strong>پسورد:</strong></td> 
      </tr> 
      <tr> 
      <td align="center" class="boxtext"><input type="password" name="passwd" size="20" maxlength="20"></td> 
      </tr> 
      <tr> 
      <td align="center" class="boxtext"><input type="hidden" name="form" value="sent" > 
       <input name="submit" type="submit" value="login" ></td> 
      </tr> 
      <tr> 
      <td align="center" class="boxtext"><a href="/lost.php<? if ($ref) {echo("?ref=$ref"); }?>">lost your pass click here</a> 
       <br>please check your spam</b></td> 
      </tr> 
      <tr> 
      <td align="center" class="boxtext"><a href="/signup.php<? if ($ref) {echo("?ref=$ref"); }?>">sign up</a></td> 
      </tr> 
     </form> 
     </table></td> 
    </tr> 
</table>'; 
}?> 

它的显示甚至可用会话UID脚本重定向页面,会员,如果它不可用脚本显示登录表 会话开始之前,我在我的索引上的这个页面,但它不工作,并没有重定向页面的成员。

+2

你在脚本中包含了'session_start()'。处理会话时,必须在每个脚本中添加'session_start()'。 –

+0

的var_dump($ _ SESSION),并在这里发表倾倒答案 –

回答

0

我觉得这种说法需要的东西header('Location: /members');

header('Location: http://www.example.com/'); 

php.net说这样的

的头部字符串。 有两种特殊情况的标题调用。第一种是以字符串“HTTP /”开头的字头(大小写不重要),它将用于确定要发送的HTTP状态码。例如,如果您已将Apache配置为使用PHP脚本来处理丢失文件的请求(使用ErrorDocument指令),则可能需要确保脚本生成正确的状态码。
第二种特殊情况是“位置:”标题。除非已经设置了201或3xx状态码,否则它不仅会将此标题发送回浏览器,还会向浏览器返回REDIRECT(302)状态码。

所以,我认为你的代码需要http://

让我们这样做header('Location: http://www.google.com/');。所以,如果你重定向到谷歌,代码是正确的。如果不是,你必须改变一些事情。

+0

谢谢,但这些代码并没有工作,但 – Farsad

+0

让做这样的http://www.google.com在header.So,如果您重定向到谷歌,代码是正确的。如果不是,你必须改变一些事情。 –