有幾個小問題糾結中

來源:互聯網
上載者:User
有幾個問題糾結中
1) PHP 的 if else 語句不能嵌套if else,
比如 if a>b
{
$c=$_post['abc'];
if $c<3
{
$d=4;
}
}
PHP以上是不允許的,各位童鞋怎樣處理這種比較複雜的IF ELSE的呢?

2)寫了一些其他頁面,怎樣保證一定要登入以後才能訪問,沒登入不能訪問呢?


3)寫了的串連資料庫的頁面 db_connect.php 究竟是用 include,還是require_once 還是 include_once?


4)如果用PDO的話 $dbh = new PDO('mssql:host=192.168.x.x;dbname=abcd',$username,$pwd);

結束時要不要釋放這個 PDO呢?如果要怎樣釋放呢?(很多東西都要釋放的,比如session,session_start()以後要 session_destroy(),那PDO呢?

謝謝


------解決方案--------------------
1.當然是允許嵌套的,你的代碼有文法問題(if條件的括弧是不能省略的)
PHP code
 $b) {    $c = $_post['abc'];    if ($c < 3) {        $d = 4;    }}?>
------解決方案--------------------
1:允許嵌套

2:請去看看session的用法。檢查session即可。

3:其實都行。如果擔心重複包含。則用require_once()/include_once()

4:如果你的串連不是永久串連。通常不需要關閉。因為php會在指令碼結束時自動關閉。

------解決方案--------------------
使用者驗證可以使用 session,也可只用 cookie

$dbh = new PDO('mssql:host=192.168.x.x;dbname=abcd',$username,$pwd);
不需要釋放,程式結束時會自動釋放
如果要釋放,則 $dbh = null;

------解決方案--------------------
其他都差不多答案 這個補充一下

2)寫了一些其他頁面,怎樣保證一定要登入以後才能訪問,沒登入不能訪問呢?

登入後才能訪問,那就要判斷帳號是否是授權的,可以通過全域的SESSION 或者COOKIE 來傳遞進行判斷,
這些內容通過php來輸出 例如include 一些加密過的資料 或者echo 一整個html代碼,具體看你需要提供給使用者的內容多少來處理吧

例如

if (isset($_SESSION['islogin'])){
//輸出內容
}else{
//非法查看
}

SESSION是安全的,因為儲存在伺服器端.當然混合COOKIE一起使用也是常見的用法.覺得有必要的話還可以加個時間戳記啥的判斷下是否超出時間..
------解決方案--------------------
1:一般都不建議多重嵌套(不論是迴圈還是一般的if`else)判斷,需要多重嵌套時看能否用其他的簡化;如:switch
4:資料庫連接,可以建立單件模式,保證只有一個資料庫連接對象
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.