宇文氏 发表于 2017-4-1 08:56:23

《PHP编程网络大讲堂》--数据处理

  页面交互
  1、get

<html>
<body>
<form name="myform" action="get.php" method="GET">
用户名:<input name="username" type="text" />
<br />
密码:<input name="password" type="text" />
<br />
<input type="submit" name="submit"value="确认登录" />
<input type="reset" name="reset" value="清除重写" />
</form>
</body>
</html>

  以上传递username和password两个参数

<html>
<body>
<?php
$name=$_GET['username'];
$pass=$_GET['password'];
?>
您输入的用户名是<?php echo $name; ?>
<br />
您输入的密码是<?php echo $pass; ?>
</body>
</html>
  遍历:


foreach($_GET[] as $key=>$value){
echo "key: $key; value: $value <br /> \n";
}
  session
(保存在服务器)

session_start();
$username=$_POST['username'];
$pwd=#_POST['pwd'];
$_SESSION['username']=$username;
$_SESSION['password']=$pwd;
  php.ini中找到session_auto_start =0 改为1,可以不写session_start(){要写的话必须写在开头,保证之前没有任何输出}。直接调用$_SESSION=value
  关闭会话:unset($_SESSION)

  session过期与否,和session.gc_maxlifetime有关。可以通过js不停访问页面,或者利用程序发送http请求。
  cookie(要在给浏览器发送任何输出前设置,保存在客户端)


if(!isset($_COOKIE['hello'])){
setcookie("hello","dajiahao",time()+3600);//在1小时内dajiahao这个hello是可以用的
}
echo $_COOKIE['hello'];
   或者mktime(1,2,3,4,5,2012);表示2012年4月5日1点2分3秒会过时。
  删除cookie:setcookie("username","",time()-3600);
  记录最近浏览的10或20件商品

$listarr=explode('|',$_COOKIE);//获取cookie中保存的数组
if(count($listarr)>=10) arr_shift($listarr);//如果超过10件就覆盖
array_push($listarr,$listing);
setcookie("viewd",implode('|',$listarr),time()+2592000);
   三目操作符
  ($a==1)?2:3
  表示如果a为1,则输出2;否则为3
  错误操作控制符@
  1-可以放在变量、函数、include之内,但不能在函数或类的定义前,或if foreach
  表达式=操作数+操作数
  数组不能相加,$a=$b+$c
  如果都是数组,则输出b的值
页: [1]
查看完整版本: 《PHP编程网络大讲堂》--数据处理