不用sql只用cookie,我PHP刚刚接触,老师讲了cookie后就直接布置了作业,个人觉得实在没有头绪。
现在要求有三个页面: 主页.php, 登陆页面.php, 附页.php (主页内提供附页的链接)现要求在未登录前, 主页.php 和 附页.php 都有“log in”文字,但是登陆后则“log in ”变成"log out"且指向到登出后的主页.php。(不需要有“已登出”或类似的过渡页面)我能够在一个页面内用php同时做个登陆界面、被隐藏的内容和,但是不知道如何用cookie实现登陆后点击附页.php也能有登陆后的效果。cookie的保存时间希望设置为1年。所有分数送出了,希望得到帮助,任何回复都好,谢谢!

解决方案 »

  1.   

    <?php//无所谓用户输入什么,只要不是空白都可以顺利登陆!if ($_POST['txtUsername'] == “” || $_POST['txtPassword'] == “”) {?><h1>Login</h1><form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <label for="txtUsername">Username:</label><input type="text" title="Enter your Username" name="txtUsername" /></p><label for="txtpassword">Password:</label><input type="password" title="Enter your password" name="txtPassword" /></p><input type="submit" name="Submit" value="Login" /></p></form><?php}
    else {?>This is the protected page. Your private content goes here.</p><?php}?>
      

  2.   

    登陆后设置 cookie,失效时间1年后
    setcookie(('login', 1, strtotime('+1 yeay'));改
    <h1>Login</h1>

    <?php
    if(isset($_COOKIE['login'])) {
      echo '<h1>Logout</h1>';
    }else {
      echo '<h1>Login</h1>';
    }
    ?>
      

  3.   


    感谢您,都成功了!最后一个问题,马上就结贴!希望能得到再次帮助!
    我的login.php:<?php
       $username = $_POST['username'];
       $password = $_POST['password'];   if($username != '' && $password != '') {
          $now = time();
          setcookie("logged_in","true", $now + (3600*24*365));      header('Location: ./index.php');
       } else {
          header('Location: ./login.php');
       }
    ?>
    我的logout.php:<?php
       $now = time();
       setcookie("logged_in", "", $now - (3600*24*365));
       header('Location: ./index.php');
    ?>
    这个是我的logout的登出页面,希望转回主页面,但是主页面上的logout并未变回login,不知道是怎么回事。
      

  4.   

    成功了!cookie的路径搞错了,感谢您!