第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

單擊注銷按鈕刷新 php 中的頁(yè)面

單擊注銷按鈕刷新 php 中的頁(yè)面

PHP
Qyouu 2021-09-18 10:21:42
我創(chuàng)建了一個(gè)頁(yè)面作為 index.php 并添加了登錄代碼。它對(duì)我來(lái)說(shuō)工作正常,但是當(dāng)我點(diǎn)擊注銷按鈕時(shí),它正在刷新頁(yè)面,如果我直接輸入 URL 就像localhost/sample/testing.php它打開(kāi)一樣,如果我也沒(méi)有登錄。用戶在登錄之前無(wú)法訪問(wèn)任何頁(yè)面。這是我編寫的代碼。我用靜態(tài)數(shù)據(jù)登錄,因?yàn)闆](méi)有數(shù)據(jù)庫(kù)。索引.php<?php session_start(); $userinfo = array(            'user1'=>'password1',            'user2'=>'password2'            );if(isset($_GET['logout'])) {  $_SESSION['username'] = '';  header('Location:  ' . $_SERVER['PHP_SELF']);}if(isset($_POST['username'])) {  if($userinfo[$_POST['username']] == $_POST['password']) {      $_SESSION['username'] = $_POST['username'];      header("Location:  dashboard.php");  }else {     header("Location:  index.php");  }}?>邊欄.php<?php if($_SESSION['username']): ?><ul>    <li class="dropdown profile_details_drop">        <a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">            <div class="profile_img">                <div class="user-name">                    <p><a href="?logout=1">Logout</p>                </div>                <div class="clearfix"></div>            </div>        </a>    </li></ul><?php endif; ?>如果任何用戶未登錄,那么他們也可以看到內(nèi)頁(yè)。他們?cè)诘卿浿盁o(wú)法看到該頁(yè)面。
查看完整描述

3 回答

?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊

您已設(shè)置$_SERVER['PHP_SELF']. 這就是它重定向到同一頁(yè)面的原因。你需要改變它,例如:login.php


if(isset($_GET['logout'])) {

  unset($_SESSION['username']);// do not set it as empty, unset it

  //header('Location:  ' . $_SERVER['PHP_SELF']);//change this line to

 header('Location:  login.php');

}

另一個(gè)錯(cuò)誤是在您將它重定向到的 else 條件中,index.php這就是未登錄用戶能夠看到索引頁(yè)面的原因。


else {

  //header("Location:  index.php");// change this to

  header('Location:  login.php');

}

注意:我只添加login.php了例如。將未登錄的用戶重定向到您想要的位置。


查看完整回答
反對(duì) 回復(fù) 2021-09-18
?
慕斯709654

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊

首先,注銷時(shí)銷毀會(huì)話。并將其重定向到登錄頁(yè)面。假設(shè) index.php 是登錄頁(yè)面。


 if(isset($_GET['logout'])) {

     session_start();

     session_destroy();

    header('Location: index.php');

 }

在 sidebar.php 中,檢查會(huì)話是否設(shè)置。如果未設(shè)置會(huì)話,則表示用戶未登錄。您可以通過(guò)將他們重定向到登錄頁(yè)面來(lái)阻止他們?cè)L問(wèn)該頁(yè)面


 <?php

 session_start();

 if (!isset($_SESSION["username"]))

{  

    header("location: index.php");

 } ?>

<ul>

   <li class="dropdown profile_details_drop">

      <a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">

         <div class="profile_img">

            <div class="user-name">

               <p>

      <a href="?logout=1">Logout</p>                                                                       

      </div>                                  

      <div class="clearfix"></div>    

      </div>  

      </a>                            

   </li>

</ul>


查看完整回答
反對(duì) 回復(fù) 2021-09-18
?
蕭十郎

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊

首先,你的代碼應(yīng)該被我美化。


其次,您忘記關(guān)閉a href標(biāo)簽,因此您的$_GET陳述 isset 不是真的。因此,通過(guò)單擊該鏈接,該頁(yè)面將再次檢查if(isset($_POST['username']))哪個(gè)是真的,并且您將被重定向到您的標(biāo)題的原因。


考慮制定的logout.php,你使用session_destroy和session_unset你重定向你的用戶login.php,例如:


登出.php:


<?php

session_start();

session_unset($_SESSION['username']);

session_unset();

session_destroy();

header('Location: login.php');

?>

最后,考慮不使用$_GET,而偏愛(ài)$_POST或$_SESSION變量,只是因?yàn)樵?URL 上不可見(jiàn)的原因。


查看完整回答
反對(duì) 回復(fù) 2021-09-18
  • 3 回答
  • 0 關(guān)注
  • 138 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)