0

大家好,我正在尝试为我的脚本编写一个小插件,这是 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 可用脚本将页面重定向到成员,如果它不可用脚本显示登录表会话在我进入索引上的此页面之前开始,但它不起作用并且不会将页面重定向到成员。

4

1 回答 1

0

我认为这个陈述需要一些东西header('Location: /members');

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

php.net 这么说

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

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

就这样吧 header('Location: http://www.google.com/');。所以,如果你重定向到谷歌,代码是正确的。如果没有,你必须改变一些东西。

于 2013-07-08T05:52:35.240 回答