有几个小问题纠结中
程序员文章站
2022-06-17 16:34:04
...
有几个问题纠结中
1) PHP 的 if else 语句不能嵌套if else,
比如 if a>b
{
$c=$_post['abc'];
if $c {
$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条件的括号是不能省略的)
1) PHP 的 if else 语句不能嵌套if else,
比如 if a>b
{
$c=$_post['abc'];
if $c {
$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
------解决方案--------------------
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:数据库连接,可以建立单件模式,保证只有一个数据库连接对象相关文章
相关视频