Home >Backend Development >PHP Tutorial >有几个小问题纠结中

有几个小问题纠结中

WBOY
WBOYOriginal
2016-06-13 10:12:47890browse

有几个问题纠结中
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
<?phpif ($a > $b) {    $c = $_post['abc'];    if ($c <br><font color="#e78608">------解决方案--------------------</font><br>1:允许嵌套<br><br>2:请去看看session的用法。检查session即可。<br><br>3:其实都行。如果担心重复包含。则用require_once()/include_once()<br><br>4:如果你的连接不是永久连接。通常不需要关闭。因为php会在脚本结束时自动关闭。<br><br><font color="#e78608">------解决方案--------------------</font><br>用户验证可以使用 session,也可只用 cookie<br><br>$dbh = new PDO('mssql:host=192.168.x.x;dbname=abcd',$username,$pwd);<br>不需要释放,程序结束时会自动释放<br>如果要释放,则 $dbh = null;<br><br><font color="#e78608">------解决方案--------------------</font><br>其他都差不多答案 这个补充一下<br><br>2)写了一些其他页面,怎样保证一定要登录以后才能访问,没登录不能访问呢?<br><br>登录后才能访问,那就要判断帐号是否是授权的,可以通过全局的SESSION 或者COOKIE 来传递进行判断,<br>这些内容通过php来输出 例如include 一些加密过的数据 或者echo 一整个html代码,具体看你需要提供给用户的内容多少来处理吧<br><br>例如<br><br>if (isset($_SESSION['islogin'])){<br>//输出内容<br>}else{<br>//非法查看<br>}<br><br>SESSION是安全的,因为存储在服务器端.当然混合COOKIE一起使用也是常见的用法.觉得有必要的话还可以加个时间戳啥的判断下是否超出时间..<br><font color="#e78608">------解决方案--------------------</font><br>1:一般都不建议多重嵌套(不论是循环还是一般的if`else)判断,需要多重嵌套时看能否用其他的简化;如:switch<br>4:数据库连接,可以建立单件模式,保证只有一个数据库连接对象<div class="clear">
                 
              
              
        
            </div>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn