谁能帮忙解释一下这段代码??

小栗子hl 发布于 2014/05/03 09:16
阅读 246
收藏 0
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!--  加上这句话中文才会不显示乱码 -->
<?php 
   error_reporting(0);
   echo "<form action =''method = 'post'>";
   echo "数字口令: <input name = 'text' type = 'text'>";
   echo "<input type = 'submit' name = 'sub' value = '确定'>";
   echo "</form>";
   define("PI",3.1415926);  //定义常量
   function Encrypt($str){
     return $str=$str<<pI;  //左移,自定义加密算法
   }
   function Decrypt($str){
     return $str=$str>>PI;  //右移,自定义解密算法
   }
   if($_POST[sub]){   //通过post方式传参数
     echo "加密口令 &nbsp;&nbsp;".Encrypt($_POST[text])."<br>";
     $_SESSION[pwd] = ENcrypt($_POST[text]);   //将口令保存在SESSION中
 ?>
    <a href = 'password.php' >解密口令</a> 
    <!--超链接-->
    <?php
     }       //为什么这个 }  可以写在这里???
      if(isset($_GET[pwd])){   //判断地址栏是否存在此常量
      echo "解密口令 &nbsp;&nbsp;".Decrypt($_SESSION[pwd]);  //输出解密结果
      }

    ?>


为什么一个if语句可以被两个<?php  ?>分割??同时为什么要分割,写在一个<?php ?>

里面不可以吗??



加载中
0
怪才
怪才

这个是属于”混编“,把html和php混合写在一起,这个主要就是不需要考虑html的输出转义。但是就需要注意的就是php的语法的闭合。

如果写在一个<?php 里的话,html那部分就需要使用php来输出。

小栗子hl
小栗子hl
恩恩,谢谢
0
梦想岛
梦想岛

都可以的,php本来就是可嵌入式的。if那段只是为了写html方便

小栗子hl
小栗子hl
知道了,谢谢
0
红薯说愿闻其翔
红薯说愿闻其翔
把html的去掉,php的拼起来
小栗子hl
小栗子hl
谢谢
0
如惈
如惈

}       //为什么这个 }  可以写在这里???

因为要闭合

if($_POST[sub]){   //通过post方式传参数 

这个if语句。  你把这个if之间的 ?>xxxxxxx<?php     理解成一个echo 输出 xxxxxxxx   就行。

小栗子hl
小栗子hl
明白,谢谢
返回顶部
顶部