您的位置:首页 > 编程语言 > PHP开发

php 入门基础 一

2015-12-06 08:47 591 查看
php语法规则:

文件命名: php文件名不能是中文

php脚本必须以 ; 作为结束符

文件后缀名必须是 .php

php文件中可以嵌套html代码,也可以在Html里面嵌入php代码

<?php ?>

$变量名: 变量名不能以数字开头,

与 C 语言等强类型的编程语言不同,PHP 是一门松散类型的语言,即不需要在设置变量之前声明该变量。根据变量被设置的方式,PHP 会自动地把变量转换为正确的数据类型,且变量会在使用时被自动声明,这一属性给 Web 编程带来了极大的灵活性。

数据类型:

int string float bool

Array object

resource null

变量的数据类型随着值的变化而变化

输入输出 echo print() print_r() printf() sprintf() var_dump() ** 必须要知道这几个输出语句的区别** 笔试题中

echo 与 print 区别 相同点: 都是语言结构, 不同点: echo 可以输出多个字符串或者变量没有返回值,而 print 只能输出一个字符串或者变量并且有返回值.

sprintf() 与printf() 功能相同, 不同的是,printf() 将输出格式化之后的字符串 有返回值, sprintf()不输出而是返回格式化之后的字符串 有返回值

php常量:

define() 函数用于定义常量。一个常量一旦被定义,就不能再改变或者取消定义

<?php

define("CONSTANT", "你好!");

echo CONSTANT;

?>

定义常量和定义变量的区别:

常量前面没有美元符号($)

常量只能用 define() 函数定义,而不能通过赋值语句

常量可以不用理会变量范围的规则而在任何地方定义和访问

常量一旦定义就不能被重新定义或者取消定义

常量的值只能是标量

php函数:

function_exists() 函数用于检测函数是否被定义,检测的函数可以是 PHP 的内置函数,也可以是用户的自定义函数。如果被检测的函数存在则返回 TRUE ,否则返回 FALSE 。

语法:

在实现你的工程的时候必须注意编码统一.

ide 编码 project 编码 file页面编码 数据编码必须一致

php基础课堂案例:

--------demo1.php

<!DOCTYPE html>

<html>

<meta charset="utf-8">

<head></head>

<body>

<?php

echo 'php 我来了';

?>

</body>

</html>

------demo2.php

<?php

$title="这是我的第一个网页";

$charset='utf-8';

$content="哈哈! php 我有点喜欢你了!";

?>

<!DOCTYPE html>

<html>

<head>

<meta charset="<?php echo $charset; ?>">

<title><?php echo $title; ?></title>

</head>

<body>

<div style="color: red; border: 1px solid blue; width:200px; height: 30px;">

<?php echo $content; ?>

</div>

</body>

</html>

------demo3.php

$title="这是一个表单练习";

#第一步: 判断用户是否点击了提交按钮

if(isset($_POST['sub'])){

#第二步; 获取数据

$uname=$_POST['userName'];

$upwd=$_POST['userPwd'];

#进行你的业务逻辑操作

echo '你输入的用户名是:'.$uname.'<br/>你输入的密码是'.$upwd;

}

?>

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title><?php echo $title; ?></title>

</head>

<body>

<form action="demo2.php" method="post" name="form1">

<input type="text" name="userName" /><br>

<input type="text" name="userPwd" /><br>

<input type="submit" name="sub" value="提交" />

</form>

</body>

</html>

-------demo4.php

<?php

header("content-type: text/html; charset=utf-8");

$title="数组与网页练习--动态构建表单数据";

$data=array(

'xuesheng'=>array('学生用书','学生教材','教辅用书','课外读物','考试题集'),

'mingzhu'=>array('名著','中国古典','世界名著','英文原著'),

'kaosi'=>array('考试用书','公务员','会计师','医药师'),

'ertong'=>array('儿童读物','看图识字','动漫人物'),

'wuxia'=>array('武侠小说','金庸小说','古龙小说','玄幻小说')

);

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title><?php echo $title; ?></title>

</head>

<body>

<table border="1" cellpadding="0" cellspacing="0">

<?php

//动态构建表单的行与列

foreach($data as $key=>$books){

//构建标题行与列

?>

<tr style="background-color: yellow;"><th colspan="2"><?php echo $books[0] ;?></th></tr>

<tr><td><?php echo $books[1]; ?></td><td><?php echo $books[2];?></td></tr>

<tr><td><?php echo $books[3]; ?></td><td><?php echo $books[4]; ?></td></tr>

<?php

}

/**

* 代码解释:

* 循环数组

* 找到数组的规律: 每个数组元素的第一个元素为标题

* 依次构建表格的行与列, 把数据动态的添加到表格中

*/

?>

</table>

</body>

</html>

-------demo5.php

<?php

$shoplist = array(

array("name"=>"笔记本电脑","price"=>4880,"num"=>6), // 每一行就表示一组数据

array("name"=>"鼠标垫","price"=>5,"num"=>6),

array("name"=>"手机ip4s","price"=>1880,"num"=>2)

);

$sum=0;

?>

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8"/>

<title>购物车--计算表单价格</title>

<style type="text/css">

table{cellpadding:0; cellspacing:0; border-color: blue;}

</style>

</head>

<body>

<table border="1">

<tr> <th>商品名</th><th>商品价格</th><th>商品数量</th><th>小计</th><th>操作</th></tr>

<!--循环动态构建网页数据-->

<?php

foreach($shoplist as $key=>$shop){

?>

<tr>

<td><?php echo $shop['name'];?></td>

<td><?php echo $shop['price'];?></td>

<td><?php echo $shop['num'];?></td>

<td><?php echo $shop['num'] * $shop['price'] ;?></td>

<td><span>修改</span><span>删除</span></td>

</tr>

<?php

$sum+=$shop['num'] * $shop['price'];

}

?>

<tr><td>总计</td><td colspan="4"><?php printf("%.2f",$sum); ?>元</td></tr>

</table>

</body>

</html>

------demo6.php

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>循环输出5个table</title>

<style type="text/css">

td{border: 1px solid cadetblue;}

</style>

</head>

<body>

<?php

for($i=1;$i<=5;$i++){

?>

<table cellpadding=0; cellspacing=0; style="width: 80%; height: auto; margin-top: 5px; border: 1px solid cadetblue;">

<tr><td style="width:10%; text-align: center;">留言人:</td><td style="width:30%"></td><td style="width: 10%;text-align: center">留言时间:</td><td style="width: 30%;"></td></tr>

<tr><td style="10%;text-align: center;">留言内容:</td><td colspan="3" style="width: 70%; height: 100px;"></td></tr>

</table>

<?php

}

?>

</body>

</html>

-------demo7.php

<?php

$tableInf=array(); //定义数组用于存放表单的数据

#php 对表单数据进行处理

if(isset($_POST['tj'])){ //判断用户是否点击提交

//获取数据

$tableInf['tr']=$_POST['tr'];

$tableInf['td']=$_POST['td'];

$tableInf['size']=$_POST['size'];

$tableInf['background']=$_POST['background'];

$tableInf['width']=$_POST['width'];

}

?>

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>自动创建表格</title>

</head>

<body>

<form action="demo3.php" method="post" name="form1">

请输入表格的行数:<input type="text" name="tr" /><br />

请输入表格的列数:<input type="text" name="td"/><br />

请输入表格的边框:<input type="text" name="size" /><br />

请选择表格的边框颜色:

<select name="background">

<option value="#ff0000">红色</option>

<option value="#0000ff">蓝色</option>

<option value="#cccccc">灰色</option>

</select><br />

请输入表格的宽度:<input type="text" name="width" /><br />

<input type="submit" name="tj" value="提交" />

</form>

<div style="width:100%; height: 500px; border: 1px solid gray;">

<h1>动态生成的表单在这里</h1><br>

<?php

#判断$tableInf 变量里面是否有数据

if( ! empty($tableInf) ){

?>

<table>

<?php

for($i=1;$i<=$tableInf['tr'];$i++){ //外层循环控制行

?>

<tr>

<?php

for($j=1;$j<=$tableInf['td'];$j++){ //内层循环控制列

?>

<td style="border: <?php echo $tableInf['size'];?>px solid <?php echo $tableInf['background'];?>; width: <?php echo $tableInf['width'];?>px; height: 20px; "></td>

<?php

}

?>

</tr>

<?php

}

?>

</table>

<?php

}

?>

</div>

</body>

</html>

一.cookie

cookie 是服务器留在用户计算机中的小文件,网站可以用它来识别访问网站的计算机。

创建 cookie

通过 setcookie() 函数来创建一个 cookie ,成功返回 TRUE ,否则返回 FALSE 。

bool setcookie( string name [, string value [, int expire [, string path [, string domain ]]]] )

<?php

setcookie("username", "xiaoli", time()+3600);

?>

我们也可以指定cookie的有效路径

<?php

setcookie("username", "xiaoli", time()+3600, "/", ".5idev.com");

?>

该例子使用了 path 和 domain 参数,即在 5idev.com 域名的 / 路径下该 cookie 都有效(即全站有效)。

读取 cookie

PHP 内置了 $_COOKIE 变量以访问设置的 cookie 值。

例子:

<?php

echo $_COOKIE["username"]; //输出 xiaoli

?>

销毁 cookie

可以通过设置 cookie 过期时间为以前的时间点来销毁一个 cookie :

<?php

setcookie("username", "", time()-3600);

?>

提示:

由于协议限制,在设置 cookie 之前,不能有任何内容向浏览器输出

cookie 不会在设置的当前页生效,要访问设置的 cookie ,必须是另一个页面在过期之前访问

由于 cookie 信息存储于用户的计算机中,那么就有可能伪造 cookie 从而造成 cookie 欺骗,一般可以对 cookie 的值进行加密来预防欺骗。读取 cookie 的时候,对 cookie 解密即可

二、sesssion

session 是一种客户与网站(服务器)更为安全的对话方式。一旦开启了 session 会话,便可以在网站的任何页面使用(保持)这个会话,从而让访问者与网站之间建立了一种“对话”机制。

常见的网上购物车,就是一个session会话的典型应用。我们在预定商品的时候,将选择好的商品放入购物车,实际就是开启一个商品的session会话。如果对选择的商品下了订单,则会将对应信息写入数据库;如果最终没有下订单,在用户关闭浏览器或退出登陆的时候,则会关闭session会话,选择的商品随即失效。

session 会话会为每一个开启了 session 会话的访问者建立一个唯一的会话 ID ,用于识别用户。该会话 ID 可能存储于用户电脑的 cookie 内,也可能通过 URL 来传递。而对应的具体 session 值会存储于服务器端,这也是与 cookie 的主要区别,并且安全性相对较高。

session_start();

销毁 session

session_unregister("username"); //注销 session 变量

session_unset(); //注销 session 会话
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: