有幾個問題糾結中
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:資料庫連接,可以建立單件模式,保證只有一個資料庫連接對象