日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

PHP学习杂记

發(fā)布時(shí)間:2024/10/8 php 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP学习杂记 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

┌????┐?????11.10

??85講 ?HTTP 協(xié)議深講

1.??$_SERVER[‘XXXXXXX’] ?獲取想獲取的網(wǎng)絡(luò)資源

2.?print_r($_SERVER);打印出所有的網(wǎng)絡(luò)資源

3.?print_r 函數(shù),打印

4.?封殺IP訪問(wèn):if($_SERVER[‘REMOTE_ADDR’]==”XXXXXX”){

????進(jìn)行處理。。。。

Header(“Location: err.php”)}

5.?Get post 的區(qū)別:post get 安全 ;傳輸數(shù)據(jù)大小不一樣;

6.?防盜鏈例子:

a)?盜鏈網(wǎng)站<a href="localhost:8082/import.php">查看某一個(gè)網(wǎng)頁(yè)</a>

b)?正規(guī)網(wǎng)站<html><body>

c)???<a href="import.php">查看賬號(hào)</a>

d)?

e)??</body>

f)?</html>

g)?<?php ??劉送杰的私有領(lǐng)地 ???>

7.頁(yè)面跳轉(zhuǎn):a.php ---->header(“Location: b.php”)-->header(“Location: c.php”),一直跳轉(zhuǎn);還可以跳轉(zhuǎn)到外網(wǎng)去

a)?<?php

b)?header("Location: b.php");

c)?

d)??>

e)?<?php

f)?

g)? header("Location: http://www.baidu.com");

h)?

i)??>

8.Refresh:1;url=http//www.baidu.com ???間隔多少秒才刷新頁(yè)面或者跳轉(zhuǎn)頁(yè)面;

9.php程序打開(kāi)文件

a)?先打開(kāi)文件,判斷文件是否存在 $fp=fopen(“a.txt”,”r+”);

b)?操作文件

c)?關(guān)閉文件fclose($fp);

<?php

?

//.演示下載圖片先死去活來(lái)

$file_name="dl_033.gif";

//1.打開(kāi)文件。讀入圖片

if(!file_exists($file_name)){

echo "文件不存在";

return;

}

$fp=fopen($file_name,"r") ;

?

//獲取下載文件大小

$file_size=filesize($file_name);

echo"文件大小:$file_size";

?

?>

下載過(guò)程:

<?php

?

//.演示下載圖片先死去活來(lái)

$file_name="1.jpg";

//1.打開(kāi)文件。讀入圖片

if(!file_exists($file_name)){

echo "文件不存在";

return;

}

$fp=fopen($file_name,"r") ;

?

//獲取下載文件大小

$file_size=filesize($fp);

?

//返回文件

header("Content-type:application/octet-stream");

//按照字節(jié)大小返回

header("Accept-Range:byte");

//告訴文件大小

header("Accept-Length:$file_size");

//返回文件名。。中文需要轉(zhuǎn)碼

header("Content_Disposition:attachment;filename=".$file_name);

//向客戶端會(huì)送數(shù)據(jù)

$buffer="1024";

//判斷文件是否結(jié)束

while(!feof($fp)){

$file_data=fread($fp,$buffer);

echo $file_data;

?

}

fclose($fp);

?>

?

文件下載函數(shù)

<?php

//對(duì)函數(shù)說(shuō)明:文件名,下載文件夾路徑“/xxx/xxx/”。但是要在站點(diǎn)下面

?

function down_file($file_name,$file_sub_dir){

//.演示下載圖片先死去活來(lái)

$file_name="中文.jpg";

//中文亂碼問(wèn)題,對(duì)中文進(jìn)行處理,進(jìn)行轉(zhuǎn)碼成gb2312

$file_name=iconv("utf-8","gb2312",$file_name);

//更改路徑了,所有下載文件全部在一個(gè)下載文件夾下面

//相對(duì)路徑

//$file_path="./down/".$file_name;

//絕對(duì)路徑..會(huì)快一些

$file_path=$_SERVER['DOCUMENT_ROOT'].$file_sub_dir.$file_name;

//文件下載列表

?

?

//1.打開(kāi)文件。讀入圖片

if(!file_exists($file_path)){

echo "文件不存在";

return;

}

$fp=fopen($file_path,"r") ;

?

//獲取下載文件大小

$file_size=filesize($file_path);

if($file_size>30){

echo " <script language='javascript'>window.alert('文件太大')</script>";

return;

}

//返回文件

header("Content-type:application/octet-stream");

//按照字節(jié)大小返回

header("Accept-Range:byte");

//告訴文件大小

header("Accept-Length:$file_size");

//返回文件名。。中文需要轉(zhuǎn)碼

header("Content_Disposition:attachment;filename=".$file_name);

//向客戶端會(huì)送數(shù)據(jù)

$buffer="1024";

//為了下載的安全,我們最好做一個(gè)文件字節(jié)的讀取器

$file_count=0;

//判斷文件是否結(jié)束

while(!feof($fp)&&($file_size-$file_count>0)){

$file_data=fread($fp,$buffer);

//統(tǒng)計(jì)多了多少個(gè)字節(jié)

$file_count+=$bufffer;

echo $file_data;

?

}

fclose($fp);

}

?

//測(cè)試函數(shù)

down_file("中文.jpg","/down/");

?>

222

<?php

//對(duì)函數(shù)說(shuō)明

//參數(shù)說(shuō)明:$file_name 文件名

function down_file($file_name,$file_sub_path){

/*相對(duì)路徑方法代碼

$file_name="順明.jpg"'

//對(duì)中文進(jìn)行轉(zhuǎn)碼,由utf-8轉(zhuǎn)碼成gb2312

$file_name=iconv("utf-8","gb2312",$file_name);

//相對(duì)路徑

$file_path="./down/".$file_name;

if(!file_exists($file_path)){

echo "文件不存在";

return;

}

$fp=fopen($file_name,"r");

?

$file_size=filesize($file_path);

if()

//返回的文件

header("Content_type:application/octet-stream");

//按照字節(jié)大小返回

header("Accept-Ranges:bytes");

//返回文件大小

header("Accept-Length:$file_size");

//這里彈出對(duì)話框,對(duì)應(yīng)的文件名

header("Accept-Disposition:attachment;filename=".$file_name"");

?

//向客戶端返回?cái)?shù)據(jù)

$buffer=1024;

//為了下載安全,我們最好做一個(gè)文件字節(jié)計(jì)數(shù)器

$file_count=0;

while(!feof($fp)&&($file_size-file_count>0)){

$file_data=fread($fp,$buffer);

$file_count+=$buffer;

echo $file_data;

fclose($fp);

*/

?

//對(duì)中文進(jìn)行轉(zhuǎn)碼,由utf-8轉(zhuǎn)碼成gb2312

$file_name=iconv("utf-8","gb2312",$file_name);

//絕對(duì)路徑方法代碼

$file_path=$_SERVER['DOCUMENT_ROOT']."./down/".$file_name;

if(!file_exists($file_path)){

echo "文件不存在";

return;

}

$fp=fopen($file_name,"r");

//獲取下載文件的大小

$file_size=filesize($file_path);

if($file_size>1024){

echo"<script language='javascript'>window.alert('文件過(guò)大')</script>";

return

}

//返回的文件

header("Content_type:application/octet-stream");

//按照字節(jié)大小返回

header("Accept-Ranges:bytes");

//返回文件大小

header("Accept-Length:$file_size");

//這里彈出對(duì)話框,對(duì)應(yīng)的文件名

header("Accept-Disposition:attachment;filename=".$file_name"");

?

//向客戶端返回?cái)?shù)據(jù)

$buffer=1024;

//為了下載安全,我們最好做一個(gè)文件字節(jié)計(jì)數(shù)器

$file_count=0;

while(!feof($fp)&&($file_size-file_count>0)){

$file_data=fread($fp,$buffer);

$file_count+=$buffer;

echo $file_data;

}

}

fclose($fp);

?>

?

FileDownlist.php

<meta http-type="content-type" content="text/html;charset=utf-8">

<?php

?

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

?>

<a href='filedownprocess.php?filename=dl_033.gif'>單擊下載</a><img src='dl_033.gif'><br><br>

<a href='filedownprocess.php?filename=dl_033.gif'>單擊下載</a><img src='dl_033.gif'><br><br>

<a href='filedownprocess.php?filename=dl_033.gif'>單擊下載</a><img src='dl_033.gif'><br><br>

<a href='filedownprocess.php?filename=dl_033.gif'>單擊下載</a><img src='dl_033.gif'><br><br>

<a href='filedownprocess.php?filename=dl_033.gif'>單擊下載</a><img src='dl_033.gif'><br><br>

<a href='filedownprocess.php?filename=dl_033.gif'>單擊下載</a><img src='dl_033.gif'><br><br>

?

filedownprocess.php

<?php

require "filedownService.php";

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

$file_name=$_REQUEST['filename'];

?

down_file($file_name,"/down/");

?>

filedownService.php

<?php

//對(duì)函數(shù)說(shuō)明:文件名,下載文件夾路徑“/xxx/xxx/”。但是要在站點(diǎn)下面

?

function down_file($file_name,$file_sub_dir){

//.演示下載圖片先死去活來(lái)

$file_name="中文.jpg";

//中文亂碼問(wèn)題,對(duì)中文進(jìn)行處理,進(jìn)行轉(zhuǎn)碼成gb2312

$file_name=iconv("utf-8","gb2312",$file_name);

//更改路徑了,所有下載文件全部在一個(gè)下載文件夾下面

//相對(duì)路徑

//$file_path="./down/".$file_name;

//絕對(duì)路徑..會(huì)快一些

$file_path=$_SERVER['DOCUMENT_ROOT'].$file_sub_dir.$file_name;

//文件下載列表

?

?

//1.打開(kāi)文件。讀入圖片

if(!file_exists($file_path)){

echo "文件不存在";

return;

}

$fp=fopen($file_path,"r") ;

?

//獲取下載文件大小

$file_size=filesize($file_path);

if($file_size>3081024*1024){

echo " <script language='javascript'>window.alert('文件太大')</script>";

return;

}

//返回文件

header("Content-type:application/octet-stream");

//按照字節(jié)大小返回

header("Accept-Range:byte");

//告訴文件大小

header("Accept-Length:$file_size");

//返回文件名。。中文需要轉(zhuǎn)碼

header("Content_Disposition:attachment;filename=".$file_name);

//向客戶端會(huì)送數(shù)據(jù)

$buffer="1024";

//為了下載的安全,我們最好做一個(gè)文件字節(jié)的讀取器

$file_count=0;

//判斷文件是否結(jié)束

while(!feof($fp)&&($file_size-$file_count>0)){

$file_data=fread($fp,$buffer);

//統(tǒng)計(jì)多了多少個(gè)字節(jié)

$file_count+=$bufffer;

echo $file_data;

}

fclose($fp);

}

//測(cè)試函數(shù)

//down_file("中文.jpg","/down/");

?>

?

?

?

11.10 晚上 ??數(shù)據(jù)庫(kù)編程 mysql ?mysqlli ?pdo

mysql擴(kuò)展庫(kù): 其實(shí)就是一套函數(shù)

mysql擴(kuò)展庫(kù) 與mysql 數(shù)據(jù)庫(kù)的區(qū)別:,一個(gè)是函數(shù)(操作),一個(gè)是數(shù)據(jù)

?

11.11

1.啟動(dòng)數(shù)據(jù)庫(kù) net start mysql

2.連接數(shù)據(jù)庫(kù) mysql -h localhost -u root -p;(mysql -h IP地址 -u 賬戶 -p)

Enter password: 123456789;

3.查看數(shù)據(jù)庫(kù): show databases; 創(chuàng)建數(shù)據(jù)庫(kù): create databases test1;

4.選擇數(shù)據(jù)庫(kù): use test1;

5.查看數(shù)據(jù)庫(kù)里面的表 show tables;

6.創(chuàng)建表:create table user1; 刪除表: delete table user1;

7.插入數(shù)據(jù): insert into user1(name,passwd,email,age) values('zs',md5(123456),'123@sohu.com',23);

8.查看數(shù)據(jù):select * from user1;

9.Delete from user1 where id=5;

10.Php程序 操作數(shù)據(jù)庫(kù)

<?php

?

// php 去操作mysql

//步驟如下:

//1.建立連接

$conn=mysql_connect("127.0.0.1","root","123456789"); //IP地址服務(wù)器名稱(chēng),mysql賬戶,mysql密碼

if(!$conn){

die("連接數(shù)據(jù)庫(kù)失敗!".mysql_error());

}else {

echo "數(shù)據(jù)庫(kù)連接成功<br><br>";

}

?

//2. 選擇數(shù)據(jù)庫(kù)

mysql_select_db("test");

?

//3.設(shè)置操作編碼(可有可無(wú))

//4.發(fā)送操作指令:ddl,dml,dql,dt1 ?;

$sql="select * from user1";

//函數(shù),向數(shù)據(jù)庫(kù)發(fā)送一個(gè)語(yǔ)句,并且返回一個(gè)結(jié)果集$res ,就是一張表

$res=mysql_query($sql,$conn);

//var_dump($res);

//5.接收返回的結(jié)果集,并處理,(顯示)

//mysql_fetch_row函數(shù)會(huì)一次取出$res結(jié)果集的下一行數(shù)據(jù),賦值給$row

//$row數(shù)組,隨便你怎么取數(shù);

while($row=mysql_fetch_row($res)){

//第一種取法:

//echo "<br> $row[0]--$row[1]--$row[2]";

//echo "<br>";

//var_dump($row);全部打印出來(lái)了,

//第二種取法:

foreach($row as $key=>$val){

echo"--$val";

}

echo "<br>";

}

?

/* array(5) { [0]=> string(1) "1" [1]=> string(2) "zs" [2]=> string(32) "e10adc3949ba59abbe56e057f20f883e" [3]=> string(12) "123@sohu.com" [4]=> string(2) "23" } ???*/

?

//6. 釋放資源內(nèi)存,必須釋放!!!關(guān)閉連接

mysql_free_result($res); //必須的

mysql_close($conn) ???//這個(gè)可有可無(wú),因?yàn)?/span>mysql會(huì)在沒(méi)有連接以后自動(dòng)關(guān)閉的

?>

?

11.$res獲取行數(shù)據(jù)的時(shí)候,處理mysql_fetch_row($res) ,還有三種方法

A)mysql_fetch_row($res) ???索引數(shù)組

B)mysql_fetch_assoc($res) ??關(guān)聯(lián)數(shù)組

C)Mysql_fetch_ayyay($res) 返回索引數(shù)組和關(guān)聯(lián)數(shù)組(兩套同時(shí)存在)

D)Mysql_fetch_object($res) 把一行數(shù)據(jù)當(dāng)作一個(gè)對(duì)象

?

12.一個(gè)增刪改,查的例子

<?php

//演示對(duì)user1表進(jìn)行增、刪、改、查等操作;

$conn=mysql_connect("localhost","root","123456789");

if(!$conn){

die("數(shù)據(jù)庫(kù)連接失敗!".mysql_error());

}else{

echo "數(shù)據(jù)庫(kù)連接成功";

echo"<br>";

}

mysql_select_db("test",$conn) or die(mysql_error());

mysql_query("set names utf8");

//插入數(shù)據(jù)

//$sql="insert into user1(name,passwd,email,age) values('小明',md5(1234),'123456@qq.com',25)";

//刪除數(shù)據(jù)

//$sql="delete from user1 where id=6";

//修改數(shù)據(jù)

$sql="update user1 set age=1 where id=7";

?

?

//如果是dml操作,則返回bool值,true ?of false ;

$res=mysql_query($sql,$conn);

if(!$res){

die( "操作失敗!".mysql_error());

}

//看看有幾條數(shù)據(jù)

if(mysql_affected_rows($conn)>0){

echo "操作成功!";

}else{

echo "沒(méi)有影響到行數(shù)";

}

?

mysql_close($conn);

?

?>

?

13.把以上的操作封裝成一個(gè)mysqlhelp 類(lèi)

?

?

?

?

?

?

?

11.13

獲取一個(gè)表的內(nèi)部信息

<?php

//獲取一個(gè)表名,然后獲取表的信息,打印出來(lái)

Function show_table_info($table_nam3){

//連接數(shù)據(jù)庫(kù)

$conn=connect(“l(fā)ocalhost”,”root”,”123456789”);

If(!$conn){

die(“連接數(shù)據(jù)庫(kù)失敗”.mysql_error());

}

//選擇數(shù)據(jù)庫(kù)

Mysql_select_db(“test”);

設(shè)置查詢出來(lái)的數(shù)據(jù)為utf8字符集

Mysql_query(“set names utf8”);

//查詢語(yǔ)句

$sql=”select * from $table_name”;

//根據(jù)函數(shù)輸入查詢語(yǔ)句,并且返回結(jié)果集

$res=mysql_query($sql);

?

//我要知道總共有多少行,多少列

$row=mysql_affected_rows($conn);

$colums=mysql_num_fields($res);

/*

$row=mysql_affected_rows($conn);

$cloums=mysql_num_fields($res);

$row=mysql_fetch_rows($res);

Echo “$row[$i]”; */

?

Echo “<table border=1><tr>”;

For($i=0;$i<$colums;$i++){

$field_name=mysql_field_name($res,$i);

Echo”<th>$field_name</th>”;

?

}

Echo “</tr>”;

While($row=mysql_fetch_rows($res)){

Echo “<tr>”;

For($i=0;$i<$colums;$i++){

Echo “<th>$row[$i]</th>”;

}

Echo”</tr>”;

}

Echo “</table>”;

?

}

show_tab_info("user1");

?>

?

11.14日,中英文字典同時(shí)實(shí)現(xiàn) ??第93---》》實(shí)現(xiàn)變種+熟練

?

94講:

<?php

//先解決編碼問(wèn)題

Header(“content-type:text/html;charset=utf-8”);

//創(chuàng)建對(duì)象,

$mysqli=new mysqli(“l(fā)ocalhost”,”root”,”123456789”,”test”);

//判斷成功與否

If($mysql->connect_error){

Die(“連接失敗”.$mysqli->connect_error);

}

//操作數(shù)據(jù)庫(kù)

$sql=”select * from user1”;

$res=$mysqli->query($sql)

//顯示返回結(jié)果集

While($row=$res->fetch_row()){

Foreach($row as $key=>$val){

Echo “--$val”;

}

Echo”<br>”;

}

//關(guān)閉資源

$res->free();

Mysqli->close();

?

?>

?

95

?

97講 ?mysqli 批量添加刪除

97mysqli 事物控制、事物處理

1.開(kāi)啟一個(gè)事物:start transaction

2.做一個(gè)保存點(diǎn): savepoint 保存點(diǎn)名稱(chēng)

3.執(zhí)行操作

4.可以回滾/可以提交

4.1如果沒(méi)有問(wèn)題就提交

4.2如果有問(wèn)題則回滾

?

?

11.15晚上 ?mysqli 預(yù)處理技術(shù)stmt

<?php

//1.創(chuàng)建mysqli對(duì)象

$mysqli=new mysqli(“l(fā)ocalhost”,”root”,”123456789”,”test”);

//2.創(chuàng)建預(yù)編譯對(duì)象

$sql=”insert into user1(name,passwd,eamil,age) values(?,?,?,?)”;

$mysqli_stmt=$mysqli->prepare($sql);

//3.綁定參數(shù)

$name=”小倩”;

$passwd=”xiaoqian”;

$email=xq@sohu.com;

$age=”200”;

//4.將綁定的參數(shù)-> 給? 賦值,這里類(lèi)型和順序要對(duì)應(yīng)

$mysqli_stmt->bind_param(“sssi”,$name,$passwd,$eamil,$age);

//5.執(zhí)行

$b=$mysqli_stmt->execute();

[3-5是可以重復(fù)的,所以實(shí)現(xiàn)預(yù)編譯,多次發(fā)送數(shù)據(jù)

//3.綁定參數(shù)

$name=”老妖”;

$passwd=”laoyao”;

$email=xly@sohu.com;

$age=”250”;

//4.將綁定的參數(shù)-> 給? 賦值,這里類(lèi)型和順序要對(duì)應(yīng)

$mysqli_stmt->bind_param(“sssi”,$name,$passwd,$eamil,$age);

//5.執(zhí)行

$b=$mysqli_stmt->execute();

?

]

//6.判斷

If(!$b){

Die(“執(zhí)行失敗”.$mysqli_stmt->error);

}else{

Echo “執(zhí)行成功”;

}

//7.釋放

$mysqli->close();

?

?

?>

?

11.16超全局?jǐn)?shù)組

1.$_GET ?用于傳送超鏈接內(nèi)容或者表單

test.php

<?php

echo "<a href='a.php?city=北京好&name=xiaoming'>傳送數(shù)據(jù)</a>";

?>

a.php

<?php

echo "<pre>";

echo print_r($_GET);

echo "</pre>";

?

//如果想取出具體哪個(gè),則去具體名字

echo $_GET['name'];

?>

2.$_POST 傳送表單內(nèi)容 通過(guò)http POST 方法傳遞的數(shù)據(jù)被封裝在$_POST超全局中

注意表單的有些細(xì)節(jié)

3.$_REQUST

$_REQUST中可以包括:$_GET,$_POST.$_COOKIE數(shù)組的信息,可以理解為二維的

?

102

1.?$_SERVER 包含 hhtp協(xié)議(客戶端)瀏覽器帶來(lái)的信息,還有一個(gè)服務(wù)器本身的信息

2.$_ENV 獲取環(huán)境變量

?

11.17日 ?103講 雇員管理系統(tǒng)

培養(yǎng)項(xiàng)目的感覺(jué),

認(rèn)識(shí)MVC模式

規(guī)劃項(xiàng)目

融合知識(shí)點(diǎn),php基礎(chǔ)、html,數(shù)據(jù)庫(kù),開(kāi)發(fā)模式,cookie

?

開(kāi)發(fā):使用原型開(kāi)發(fā)

需求分析--->>>設(shè)計(jì)階段-->>編碼階段--->>>測(cè)試階段--->>發(fā)布維護(hù)階段

需求階段: 需求設(shè)計(jì)人員/項(xiàng)目經(jīng)理,架構(gòu)師 ???與客戶(領(lǐng)導(dǎo))交流聽(tīng)取意見(jiàn),讓他聽(tīng)意見(jiàn)。引導(dǎo)他。---->>>形成需求文檔

設(shè)計(jì)階段:技術(shù)人員(架構(gòu)師-->>組長(zhǎng)-->>程序員)--->>>設(shè)計(jì)數(shù)據(jù)庫(kù)

開(kāi)發(fā)階段: 組長(zhǎng),程序員(基本工資+項(xiàng)目提成);跟好項(xiàng)目

測(cè)試階段:測(cè)試人員

發(fā)布階段:發(fā)布到對(duì)方服務(wù)器,實(shí)施工程師,去實(shí)施,

評(píng)估一個(gè)程序員技術(shù): ?工作年齡 -->>>>做過(guò)的項(xiàng)目

美工(ps畫(huà)圖)---->>>>網(wǎng)頁(yè)前端人員《html[原型]--->>>客戶 ---->>>>程序員

?

開(kāi)發(fā)文檔:

一.需求分析

1開(kāi)發(fā): 美工處理出來(lái)界面模型,給客戶看一看

2.需求分析:

二.時(shí)序圖

三.界面設(shè)計(jì)

四.編寫(xiě)代碼

1.設(shè)計(jì)數(shù)據(jù)庫(kù)。

管理員表 admin

員工表emp

先建立數(shù)據(jù)庫(kù):empmanage

?

再建立表

?

管理員表

admin

?

create table admin(

id int primary key,

name varchar(64) not null,

password varchar(128) not null

);

?

insert into admin values(100,'admin',md5('admin'));

?

雇員表

emp

?

create table emp(

id int primary key auto_increment,

name varchar(64) not null,

grade tinyint, /*1表示一級(jí)工 */

email varchar(64) not null,

salary float

);

?

?

insert into emp(id,name,grade,email,salary)values(1,'liusongjie',1,'lsj@sohu.com',200);

insert into emp(id,name,grade,email,salary)values(2,'liusongjie1',3,'lsj@sohu.com',205);

insert into emp(id,name,grade,email,salary)values(3,'liusongjie2',2,'lsj@sohu.com',205);

insert into emp(id,name,grade,email,salary)values(4,'liusongjie3',2,'lsj@sohu.com',205);

insert into emp(id,name,grade,email,salary)values(5,'liusongjie4',3,'lsj@sohu.com',205);

insert into emp(id,name,grade,email,salary)values(6,'liusongjie5',3,'lsj@sohu.com',205);

insert into emp(id,name,grade,email,salary)values(7,'liusongjie6',3,'lsj@sohu.com',205);

insert into emp(id,name,grade,email,salary)values(8,'liusongjie7',3,'lsj@sohu.com',205);

insert into emp(id,name,grade,email,salary)values(9,'liusongjie8',3,'lsj@sohu.com',205);

?

?

創(chuàng)建到mysql數(shù)據(jù)庫(kù)中

1.先建立數(shù)據(jù)庫(kù):create empmanage;

2.use empmanage;

3.簡(jiǎn)表

4.添加數(shù)據(jù)

五.代碼階段:

1.準(zhǔn)備素材:圖片,靜態(tài)頁(yè)面,flash,文字。。。。

?

創(chuàng)建一個(gè)項(xiàng)目empManage

?

創(chuàng)建程序框架圖

?

?

?

?

?

?

?

1.不要到數(shù)據(jù)庫(kù)去驗(yàn)證,就可以登陸成功,如果不成功,給出提示

/* ????//1.第一種簡(jiǎn)單驗(yàn)證方式

if($id=="100"&&$password=="123"){

header("Location:empManage.php");

exit();

}else{

header("location:login.php?errno=1");

exit();

}

*/

2.要求數(shù)據(jù)庫(kù)驗(yàn)證,判斷該用戶是否存在或者密碼是否正確

//第二種,防止注入攻擊型

//1,先連接數(shù)據(jù)庫(kù)

$conn=mysql_connect("localhost","root","123456789");

if(!$conn){

die("連接失敗".mysql_errno());

}

//設(shè)置數(shù)據(jù)庫(kù)的編碼形式

mysql_query("set names utf8",$conn) or die(mysql_errno());

//選擇數(shù)據(jù)庫(kù)

mysql_select_db("empmanage",$conn)or die(mysql_errno());

//發(fā)生sql語(yǔ)句,驗(yàn)證

//防止sql注入攻擊

//變換驗(yàn)證邏輯

$sql="select password,name from admin where id=$id";

//1.通過(guò)輸入的id來(lái)獲取數(shù)據(jù)庫(kù)的秘密,然后再和輸入的密碼比對(duì);

$res=mysql_query($sql);

if($row=mysql_fetch_assoc($res)){

//查詢到,則取出數(shù)據(jù)庫(kù)密碼

if($row['password']==md5($password)){

//說(shuō)明合法

$name=$row['name'];

header("Location:empManage.php?name=$name");

//如果要跳轉(zhuǎn),帶上exit();有利于快速結(jié)束

exit();

}

}

header("Location:login.php?errno=1");

exit();

mysql_free_result($res);

mysql_close($conn);

3.3.在管理頁(yè)面實(shí)現(xiàn)顯示登陸人的名字

echo "歡迎".$_GET['name']."登錄成功!";

4.在用戶管理界面empList.php顯示所有的雇員信息

5.分頁(yè)顯示雇員信息

思路: 分頁(yè)有幾個(gè)變量

$pageNow->顯示第幾頁(yè),用戶輸入或者選擇

$pageCount->共有幾頁(yè)

$rowCount->共有多少條記錄(從數(shù)據(jù)庫(kù)獲取)

$pageSize->每頁(yè)顯示多少條記錄(程序中定義)

?

$sql="select * from emp limit 3,3";

6.分頁(yè)顯示:

$pageSize=3;//定義每頁(yè)顯示數(shù)據(jù)條數(shù)的數(shù)量

$rowCount=0;//代表從數(shù)據(jù)庫(kù)抓取的總數(shù)據(jù)記錄條數(shù)

$pageNow=1;//當(dāng)前顯示哪個(gè)頁(yè)面。由用戶指定

If(!empty($pageNow=$_GET[‘pageNow’])){

$pageNow=$_GET[‘pageName’];

}

$pageCount=0;//計(jì)算出總共有多少頁(yè)

$sql=”select count(id) from emp”;

$res=mysqli_query($sql);

If($row=mysql_fetch_row[$res]){

//取出總數(shù)據(jù)行數(shù)

$rowCount=$row[0];

}

//計(jì)算出共有多少頁(yè)

$pageCount=ceil($rowCount/$pageSize);

//控制查詢的數(shù)據(jù)條數(shù)從什么時(shí)候顯示在什么頁(yè)面

$sql=”select * from emp limit “.($pageNow-1)*$pageSize.”,$pageSize”;

$res2=mysql_query($sql,$conn);

//制作顯示表格

echo "<table border='1' width='700px'>";

//顯示表頭,可以固定寫(xiě)死,也可以通過(guò)查詢出來(lái)顯示

echo "<tr><th>id</th><th>name</th><th>grade</th><th>email</th><th>salary</th>

<th>刪除用戶</th><th>修改用戶</th></tr>";

//循環(huán)顯示信息

while($row=mysql_fetch_assoc($res2)){

echo "<tr><td>{$row['id']}</td><td>{$row['name']}</td>

<td>{$row['grade']}</td><td>{$row['email']}</td><td>{$row['salary']}</td>

<td><a href='#'>刪除用戶</a></td><td><a href='#'>管理用戶</a></td></tr>";

}

echo "<h1>雇員信息列表</h1>";

echo "</table>";

//控制打出頁(yè)面的超鏈接

For($i=1;$i<=$pageCount;$i++){

Echo <a href=empList.php?pageNow=$i>$i</a>;

}

7.測(cè)試sql語(yǔ)句的效率

比如:測(cè)試分頁(yè)的效率,在實(shí)際開(kāi)發(fā)中,數(shù)據(jù)量很大的,需要進(jìn)行測(cè)試,

Mysql 自我復(fù)制

insert into emp(name,grade,email,salary) select name,grade,email,salary from emp;

?

批量復(fù)制:加入

insert into emp(name,grade,email,salary) select name,grade,email,salary from emp;

delete from emp(name,grade,email,salary) select name,grade,email,salary from emp;

批量刪除:

DELETE FROM emp WHERE grade=2 ORDER BY grade LIMIT 100000;

8.頁(yè)面跳轉(zhuǎn)功能

if($pageNow>1){

$prePage=$pageNow-1;

echo "<a href='empList.php?pageNow=$prePage'>上一頁(yè)</a>?";

}

if($pageNow<$pageCount){

$nextPage=$pageNow+1;

echo "<a href='empList.php?pageNow=$nextPage'>下一頁(yè)</a>?";

}

echo "當(dāng)前頁(yè){$pageNow}/{$pageCount}頁(yè)";

//指定跳轉(zhuǎn)到某頁(yè)

echo "<br><br>";

?>

<form?action="empList.php">

跳轉(zhuǎn)到:<input?type="text"?name="pageNow">

<input?type="submit"?value="go">

</form>

?

10.網(wǎng)站結(jié)構(gòu)問(wèn)題

?Model1模式 ?,分層模式,

MVC模式 , ?zend framework, ?thinkphp

軟件開(kāi)發(fā)三個(gè)階段:Model1模式 ->>分層mv->>mvc模式

Model1模式 :界面和業(yè)務(wù)在一個(gè)頁(yè)面,

分層模式:界面也業(yè)務(wù)分開(kāi),->結(jié)構(gòu)清晰,有利于開(kāi)發(fā)

mvc模式;

?

?

11.關(guān)于析構(gòu)函數(shù)和構(gòu)造函數(shù)的犯錯(cuò)問(wèn)題:

前面是兩個(gè)下劃線 __ ?兩個(gè)!!!

<?php

class BaseClass {

???function __construct() {

???????print "In BaseClass constructor\n";

???}

}

class SubClass extends BaseClass {

???function __construct() {

???????parent::__construct();

???????print "In SubClass constructor\n";

???}

}

class OtherSubClass extends BaseClass {

????// inherits BaseClass's constructor

}

// In BaseClass constructor

$obj = new BaseClass();

// In BaseClass constructor

// In SubClass constructor

$obj = new SubClass();

// In BaseClass constructor

$obj = new OtherSubClass();

?

?>

?

驗(yàn)證碼功能:

<tr><td><input?type="text"?name="checkcode"></td><td><img?src="checkCode.php"?onclick="this.src='checkCode.php?aa='Math.random()''"></td></tr>

?

116-122講解cookiesession 知識(shí)點(diǎn),防止攻擊,增加確認(rèn),增加驗(yàn)證碼功能

123講,php的文件編程

1.打開(kāi)文件:fopen() ??查看文件詳細(xì)信息:fstat 關(guān)閉文件:fclose

2.讀取文件

<?php

$file_path="test.txt";

?

//第一種讀取方法

/*

if(file_exists($file_path)){

$fp=fopen($file_path,"a+");

$con=fread($fp,filesize($file_path));

echo "文件內(nèi)容是:<br>";

//替換符:替換掉換行符等等

$con=str_replace("\r\n","<br/>",$con);

echo $con;

}else{

echo "文件不存在";

}

*/

//第二種讀取方法

/*$con=file_get_contents($file_path);

$con=str_replace("\r\n","<br/>",$con);

echo $con;

*/

?

//第三種方法

$fp=fopen($file_path,"a+");

$buffer=1024;

$str="";

while(!feof($fp)){

//

$str.=fread($fp,$buffer);

$con=str_replace("\r\n","<br/>",$str);

echo $con;

}

fclose(fp)

?>

把用戶名/密碼/數(shù)據(jù)庫(kù)等等。封裝到一個(gè)db.ini文件中,然后讀取就行

Db.ini {

host=192.168.1.3

user=admin

password=123

}

然后寫(xiě)調(diào)用代碼:

<?php

?

$arr1=parse_ini_file("db.ini");

//print_r($con)

mysql_connect($arr1['host'],$arr1['user'],$arr1['password']);

?>

?

3.寫(xiě)文件第一種方法

<?php

$file_path="test.txt";

if(file_exists($file_path)){

$fp=fopen($file_path,"w+");

$conn="\r\nhello你好!!";

for($i=0;$i<10;$i++){

fwrite($fp,$conn);

}

}else{

}

echo "添加成功!";

fclose($fp);

?>

第二種方法

$file_path="test.txt";

$conn="hello北京你好!\r\n";

//封裝的函數(shù)

file_put_contents($file_path,$conn,FILE_APPEND);

?

echo "添加成功!";

fclose($fp);

4.文件的拷貝

<?php

//中文轉(zhuǎn)碼問(wèn)題

$file_path=iconv("UTF-8","gb2312","C:\\Apache24\\htdocs\\example\\file\\.jpg");

//盡量用英文字符名稱(chēng)

if(!copy($file_path,"d:\\11.jpg")){

echo "error";

}else{

echo "success!";

}

?>

5.文件的下載:參看http課程 87講和88

6.文件創(chuàng)建與刪除,文件夾的創(chuàng)建與刪除

<?php

//6.文件創(chuàng)建與刪除,文件夾的創(chuàng)建與刪除

//1.創(chuàng)建文件夾

//可以先判斷是否存在

/*

if(!is_dir("d:/shunping2")){

if(mkdir("d:/shunping2")){

echo "創(chuàng)建文件夾success!";

}else{

echo "error!";

}

}else{

echo "該文件夾已經(jīng)有了";

} ??*/

//創(chuàng)建多個(gè)連級(jí)文件夾

/*

$path="D:/shunping3/aa/bb";

if(!is_dir($path)){

if(mkdir($path,0777,true)){

echo "創(chuàng)建文件夾ok";

}else{

echo "創(chuàng)建文件夾error";

}

}else{

echo "該文件夾有了";

} */

//刪除文件夾。。但是這個(gè)函數(shù)的缺點(diǎn)就是存在子文件或者文件夾則無(wú)法使用

/*if(rmdir("D:/shunping3")){

echo "刪除成功";

}else{

echo "shanchu失敗";

} ?*/

//4.文件是創(chuàng)建, 最簡(jiǎn)單

?/* ?$file_path="D:/shunping3/aa.txt";

$fp=fopen($file_path,"w+");//w + ?代表,不存在就去創(chuàng)建

fwrite($fp,"hello! world!!!ooo");

echo "chuangj ?ok!";

fclose($fp); ?*/

//5.s刪除文件

$file_path="D:/shunping3/aa.txt";

if(is_file($file_path)){

if(unlink($file_path)){

echo "刪除success";

}else{

echo "刪除error";

}

}else{

echo "文件不存在";

}

?>

?

124講 ?php文件編程,實(shí)際運(yùn)用

Upload.php 文件上傳界面

注意事項(xiàng)

一.<!--文件上傳,一定要注意1.enctype="multipart/form-data",2.method post ?-->

<form enctype="multipart/form-data" method="post" action ="??" name="myform">

二.<input type=file?name=mufile>

三.<input type=submit?value=上傳文件>

四.特殊情況處理哦

<?php

?

//接收提交用戶的用戶

$username=$_POST['username'];

$fileintro=$_POST['fileintro'];

?

echo "$username<br>$fileintro<br>";

?

//接收文件 ??需要使用到 $_FILES 超全局?jǐn)?shù)組,二維的!!!

/*echo"<pre>";

print_r($_FILES);

echo"</pre>"; */

?

//獲取文件的大小,,限制大小

$file_size=$_FILES['myfile']['size'];

if($file_size>2*1024*1024){

echo "上傳文件太大,請(qǐng)選擇小于2M的文件!"; ///可以選擇彈出對(duì)話框 用javascript實(shí)現(xiàn)

exit();

}

//獲取文件的類(lèi)型,,,限制類(lèi)型

$file_type=$_FILES['myfile']['type'];

if($file_type!='image/jpeg' && $file_type!='pjpeg'&&$file_type!='image/jpg'){ ??///擴(kuò)散其他類(lèi)型

echo "只支持jpg類(lèi)型文件上傳";

exit();

}

//防止覆蓋已經(jīng)存在的,所以要隨時(shí)建立動(dòng)態(tài)文件或者動(dòng)態(tài)文件夾

?

//判斷是否上傳ok

if(is_uploaded_file($_FILES['myfile']['tmp_name'])){

//上傳成功,把文件轉(zhuǎn)存到自己的新位置

$uploaded_file=$_FILES['myfile']['tmp_name'];

??//防止覆蓋已經(jīng)存在的,所以要隨時(shí)建立動(dòng)態(tài)文件或者動(dòng)態(tài)文件夾,使用函數(shù)實(shí)現(xiàn)!!

??//第一種,用用戶名命名,防止用戶名相同

$user_path=$_SERVER['DOCUMENT_ROOT']."/file/up/".$username;

$user_path=iconv("utf-8","gb2312",$user_path);

//判斷該用戶是否已經(jīng)存在文件夾

if(!file_exists($user_path)){

mkdir($user_path);

}

//防止覆蓋已經(jīng)存在的,所以要隨時(shí)建立動(dòng)態(tài)文件或者動(dòng)態(tài)文件夾,使用函數(shù)實(shí)現(xiàn)!!

//第二種,動(dòng)態(tài)命名,防止覆蓋同一個(gè)用戶文件名相同的文件

//$move_to_file=$user_path."/".$_FILES['myfile']['name']; ?//很多細(xì)節(jié)

$file_true_name=$_FILES['myfile']['name'];

//substr 函數(shù)截取你想截取的字符,strrpos判斷你想截取的字符最后出現(xiàn)的位置

$move_to_file=$user_path."/".time().rand(1,1000).substr($file_true_name,strrpos($file_true_name,"."));

//echo $uploaded_file."||".$move_to_file;

??//防止覆蓋已經(jīng)存在的,所以要隨時(shí)建立動(dòng)態(tài)文件或者動(dòng)態(tài)文件夾,使用函數(shù)實(shí)現(xiàn)!!

?if( move_uploaded_file($uploaded_file,iconv("UTF-8","gb2312","$move_to_file"))){

echo $_FILE['myfile']['name']."上傳ok";

?}else{

echo "上傳失敗!";

?}

?

}else{

echo "未上傳任何文件!";

}

?>

?

?

127講 ?php 繪圖技術(shù)

Php繪圖技術(shù)步驟

1.創(chuàng)建畫(huà)布

2.繪制圖形:利用自帶GD庫(kù)。(圓,直線,扇形,柱狀圖,餅狀圖)

3.輸出圖像或者到網(wǎng)頁(yè)/另存為

4.銷(xiāo)毀圖片,釋放內(nèi)存

?

網(wǎng)站常用圖片格式:gif ?, ?jpg ?, jpeg ?, ?png , ?bmp ?,

?

?

畫(huà)圖基礎(chǔ)

<?php

// 1.創(chuàng)建畫(huà)布

//默認(rèn)背景是黑色

$im=imagecreatetruecolor(400,300);

?

//2.繪制圖形:利用自帶GD庫(kù)。(圓,直線,扇形,柱狀圖,餅狀圖)

//創(chuàng)建顏色

$red=imagecolorallocate($im,255,0,0);

?

//畫(huà)一個(gè)圓函數(shù)imageellipse ,也可以變橢圓,改變寬和高就行 imageellipse($im,20,20,40,20,$red);

//imageellipse($im,20,20,20,20,$red);

//直線imageline

//imageline($im,0,0,60,60,$red);

//矩形

//imagerectangle($im,0,0,40,50,$red);

//實(shí)心矩形

//imagefilledrectangle($im,0,0,40,50,$red);

//弧線 ,就是在橢圓上面截取一部分0-360里面取

//imagearc($im,100,100,100,150,0,60,$red);

//扇形,就是填充弧形,但是帶一個(gè)參數(shù),什么樣的形狀

//imagefilledarc($im,100,100,100,150,0,60,$red,IMG_ARC_PIE);

//拷貝圖片到畫(huà)布

//1.加載圖片

//$srcImage=imagecreatefromjpeg("1.jpg");

//拷貝圖片到目標(biāo)畫(huà)布

//imagecopy($im,$srcImage,0,0,0,0,206,71);

//圖片上面寫(xiě)字

$str="hello world,你好";

//imagestring($im,5,0,0,"hello ,world",$red);

imagettftext($im,10,0,50,$red,"STCAIYUN.TTF",$str);

?

?

//3.輸出圖像或者到網(wǎng)頁(yè)/另存為

header("content-type:image/png");

//echo 3;exit();

imagepng($im);

//4.銷(xiāo)毀圖片,釋放內(nèi)存 -->

//imagedestory($im);

?

?>

?

131講 ??畫(huà)一個(gè)3D橢圓

?

<?php

?

//分析思路,先畫(huà)扇形

//也可以封裝成一個(gè)函數(shù),傳位置參數(shù)和循環(huán)參數(shù)就行

//1.畫(huà)布

$im=imagecreatetruecolor(400,300);

//背景色

$white=imagecolorallocate($im,255,255,255);

imagefill($im,0,0,$white);

?

//2.創(chuàng)建顏色

$red=imagecolorallocate($im,255,0,0);

$darkred=imagecolorallocate($im,144,0,0);

$blue=imagecolorallocate($im,0,0,128);

$darkblue=imagecolorallocate($im,0,0,80);

$gary=imagecolorallocate($im,192,192,192);

$darkgary=imagecolorallocate($im,144,144,144);

//畫(huà)扇形圖形-----》》》》

/*imagefilledarc($im,100,50,100,50,0,45,$blue,IMG_ARC_PIE);

imagefilledarc($im,100,50,100,50,45,85,$gary,IMG_ARC_PIE);

imagefilledarc($im,100,50,100,50,85,360,$red,IMG_ARC_PIE); ?*/

//畫(huà)扇形圖形-----》》》》立體感就是多個(gè)疊加在一起的

for($i=60;$i>=50;$i--){

imagefilledarc($im,100,$i,100,50,0,45,$darkblue,IMG_ARC_PIE);

imagefilledarc($im,100,$i,100,50,45,85,$darkgary,IMG_ARC_PIE);

imagefilledarc($im,100,$i,100,50,85,360,$darkred,IMG_ARC_PIE);

}

//在上面加一個(gè)蓋

imagefilledarc($im,100,50,100,50,0,45,$blue,IMG_ARC_PIE);

imagefilledarc($im,100,50,100,50,45,85,$gary,IMG_ARC_PIE);

imagefilledarc($im,100,50,100,50,85,360,$red,IMG_ARC_PIE);

?

//3.顯示tux

header("content-type:image/png");

imagepng($im);

//4.銷(xiāo)毀圖片,釋放內(nèi)存 -->

imagedestory($im);

?>

?

132講 投票統(tǒng)計(jì)圖,,用數(shù)據(jù)庫(kù)實(shí)現(xiàn)動(dòng)態(tài)的

133講,圖片驗(yàn)證碼

?

<?php

//使用php繪圖技術(shù),畫(huà)出驗(yàn)證碼

$checkCode="";

for($i=0;$i<4;$i++){

//隨機(jī)產(chǎn)生一個(gè)1-15的數(shù),用dechex函數(shù)變成16進(jìn)制數(shù)

$checkCode.=dechex(rand(1,15));

}

//存入session,后面使用

session_start();

$_SESSION['checkcode']=$checkCode;

//1.創(chuàng)建畫(huà)布

$image1=imagecreatetruecolor(150,50);

$red=imagecolorallocate($image1,255,255,255);

//畫(huà)出干擾線, 位置可以變換+長(zhǎng)短可以變換,顏色可以變換

for($i=0;$i<20;$i++){

imageline($image1,rand(0,100),rand(0,30),rand(0,100),rand(0,30),imagecolorallocate($image1,rand(0,255),rand(0,255),rand(0,255)));

}

//imagestring函數(shù)加字+變換出現(xiàn)位置,+變換字體大小

imagestring($image1,rand(1,5),rand(0,80),rand(0,30),$checkCode,$red);

//顯示

header("content-type:image/png");

imagepng($image1);

//銷(xiāo)毀

imagedestory($image1);

?

?>

?

LoginPhp ?調(diào)用,動(dòng)態(tài)并且變化

?

請(qǐng)輸入驗(yàn)證碼:<img src="checkcode.php" οnclick="this.src='checkcode.php?aa=+Math.random()'">

?

?

?

134講 ?XML技術(shù)基礎(chǔ)

?

?

147講 ?網(wǎng)上支付

區(qū)別: ??易寶支付,直接打給銀行, 支付寶不是直接打給銀行

?

1.易寶申請(qǐng)注冊(cè) 測(cè)試賬號(hào)和密鑰

賬號(hào):$p1_MerId=10001126856;

密鑰:$merchantKey=69c1522AV6q613Ii4W6u8K6XuW8vM1N6bFgyv769220IuYe9u37N4y7rI4P1;

1.剛開(kāi)始測(cè)試支付最好使用我們提供的測(cè)試商戶帳號(hào)及配套的密鑰:

merchantID=10000432521

keyValue=8UPp0KE8sq73zVP370vko7C39403rtK1YwX40Td6irH216036H27Eb12792t

?

2.易寶支付發(fā)文檔:

3.開(kāi)發(fā): 寫(xiě)界面

4.關(guān)鍵技術(shù):如何生成一個(gè)hmac簽名串!!!hmac算法!

?

?

155講 ?smarty 獲取變量

靜態(tài)變量 ??++ ?配置文件的動(dòng)態(tài)變量 ?+ ?post/get/server session 中的值

靜態(tài):

<?php

require_once "./libs/Smarty.class.php";

?

//創(chuàng)建一個(gè)smarty對(duì)象

$smarty=new Smarty;

$smarty->left_delimiter="<{";

$smarty->right_delimiter="}>";

//取字符串

$smarty->assign("aa","hello");

//取整數(shù)

$smarty->assign("bb",567);

//小數(shù)

$smarty->assign("cc",567.77);

//存放一維數(shù)組,一般是從數(shù)據(jù)庫(kù)提取

//1,索引數(shù)組

$arr1=array('北京','上海','天津');

//2,關(guān)聯(lián)數(shù)組

$arr2=array('city1'=>'北京','city2'=>'上海','city3'=>'天津');

//3.索引的二維數(shù)組,一般是從數(shù)據(jù)庫(kù)提起,這里是模擬

$arr3=array(array('北京','上海','天津'),array('小倩','采臣','老妖'));

?

//4,二維數(shù)組的關(guān)聯(lián)數(shù)組

$arr4=array(array('id'=>'a001','email'=>'xiaoming@suhu.com','age'=>60),array('id'=>'a002','email'=>'xiaoming2@suhu.com','age'=>66));

?

$arr5=array('emp1'=>array('id'=>'a001','email'=>'xiaoming@suhu.com','age'=>60),'emp2'=>array('id'=>'a002','email'=>'xiaoming2@suhu.com','age'=>66));

class Master{

var $name;

var $address;

}

$master->name="順平";

$master->address="盤(pán)絲洞";

?

//對(duì)象的分配

class Dog{

var $name;

var $age;

var $color;

var $arr;//一維數(shù)組

var $arr2;//二維數(shù)組

var $master;//類(lèi)

function __construct($name,$age,$color,$arr,$arr4){

$this->name=$name;

$this->age=$age;

$this->color=$color;

$this->arr=$arr;

$this->arr2=$arr4;

}

}

?

//實(shí)例化一個(gè)對(duì)象

$dog1 =new Dog("小明",5,"紅色",$arr1,$arr4);

$dog1->master=$master;

?

?

$smarty->assign("arr1",$arr1);

$smarty->assign("arr2",$arr2);

$smarty->assign("arr3",$arr3);

$smarty->assign("arr4",$arr4);

$smarty->assign("arr5",$arr5);

$smarty->assign("dog1",$dog1);

?

//顯示

$smarty->display("test.tpl");

?

?>

?

動(dòng)態(tài):配置文件中獲取

title='我的第一個(gè)網(wǎng)站'

bgcolor='green'

?

?

獲取方法

<{config_load file='../config/my.conf'}>

<h1><{#title#}></h1>

<h1>數(shù)據(jù)顯示</h1>

<body bgcolor='<{#bgcolor#}>'>

<hr/>

<br/>*****字符串******</br>

<{$aa}>

<hr/>

<br/>*****整數(shù)數(shù)字******</br>

<{$bb}>

<hr/>

<br/>*****小數(shù)字******</br>

<{$cc}>

<hr/>

<br/>*****索引數(shù)組******</br>

<{$arr1[0]}>||<{$arr1[1]}>||<{$arr1[2]}>||<{$arr1[3]}>

<hr/>

<br/>*****關(guān)聯(lián)數(shù)組******</br>

<{$arr2.city1}>||<{$arr2.city2}>||<{$arr2.city3}>

<hr/>

<br/>*****二維數(shù)組的索引數(shù)組******</br>

<{* ??做注釋 ?$arr3[0][0] 表示取出arr3二維數(shù)組的第一個(gè)數(shù)組元素中的第一個(gè)元素 ???*}>

<{$arr3[0][0]}>||<{$arr3[0][1]}>||<{$arr3[0][2]}>||<{$arr3[1][0]}>

?

<hr/>

<br/>*****二維數(shù)組的關(guān)聯(lián)數(shù)組方式取法******</br>

<{$arr4[0].email}>||<{$arr4[0].age}>

<{$arr5.emp2.email}>

?

<hr/>

<br/>*****取出對(duì)象的值的取法******</br>

<{$dog1->age}>||<{$dog1->color}>||<{$dog1->name}>

?

<hr/>

<br/>*****取出對(duì)象的數(shù)組的取法******</br>

取出對(duì)象的普通屬性:<{$dog1->name}><br/>

取出對(duì)象的數(shù)組屬性:<{$dog1->arr[0]}><br/>

取出對(duì)象的二維數(shù)組屬性:<{$dog1->arr2[0].email}><br/>

<br/>*****取出對(duì)象的對(duì)象屬性******</br>

<{$dog1->master->name}>

?

</body>

?

?

post /get /server /session 在的值

直接取就是,但是有模板

<{$smarty.get.username}>

<{$smarty.post.XXXXX}>

<{$smarty.server.SERVER_NAME}>

?

?

157 講 ??smarty ??內(nèi)建函數(shù) ???自定義函數(shù) ?+ ?塊注冊(cè)方式函數(shù)

?

兩個(gè):Foreach ??if else

自定義

function test1($args){

$str="";

?

for($i=0;$i<$args['times'];$i++){

$str.="<br/><font ?size='".$args['size']."' color='".$args['color']."'>".$args['con']."</font>";

}

return $str;

}

?

//還得注冊(cè)一下函數(shù)!!1

$smarty->register_function("hsp","test1");

塊注冊(cè)函數(shù)

?

?

158 講 ?自定義函數(shù)之 插件 ?

插件其實(shí)就是一個(gè)函數(shù),寫(xiě)在一個(gè)系統(tǒng)目錄下面的,調(diào)用這個(gè)函數(shù)

smarty\libs\plugins ??下面寫(xiě)插件

文件名命名格式有要求 ?+++ ?函數(shù)定義格式有要求

Functuin.hsp.php ???+ function smarty_function_hsp($args,&$smart){

?

?

}

?

自定義插件函數(shù)

文件名: function.自定義函數(shù).php ?然后在模板里面調(diào)用就行了

函數(shù)名字:function ?smarty_function_自定義($參數(shù),&$smarty)

<?php

function ?smarty_function_hsp($args,&$smart){

$str="";

?

for($i=0;$i<$args['times'];$i++){

$str.="<br/><font ?size='".$args['size']."' color='".$args['color']."'>".$args['con']."</font>";

}

return $str;

}

?

?

?>

?

?

?

自定義一個(gè)塊插件函數(shù) ?也有固定的格式

?

文件名: block.自定義塊函數(shù).php ?然后在模板里面調(diào)用就行了

函數(shù)名字:function ?smarty_block_自定義塊函數(shù)名($參數(shù),$參數(shù)2&$smarty)

<?Php

?

<?php

function smarty_block_test2($args,$con,&$smarty){

$str="";

for($i=0;$i<$args['times'];$i++){

$str.="<br/><font ?size='".$args['size']."' color='".$args['color']."'>".$con."</font>";

}

return $str;

}

?>

?

159 講 ?smarty ?+ ?mvc ?綜合應(yīng)用 ?: 內(nèi)部留言本

不能配置虛擬主機(jī),安裝視頻步驟來(lái),開(kāi)啟apache虛擬主機(jī) ,導(dǎo)致apache 不能重啟!

要么是代碼問(wèn)題,要么的配置問(wèn)題

?

http://www.cnblogs.com/catprayer/archive/2010/10/30/1865308.html??

?

?

?

163講 ??smarty 語(yǔ)法細(xì)節(jié)

?

1.?基本運(yùn)算

2.?變量調(diào)節(jié)器(相當(dāng)于函數(shù))運(yùn)用 ??,可以自定義變量調(diào)節(jié)器,以插件形式給出,在pugins 目錄下面,

文件名: modifier.xxxx.php

函數(shù)名: function smarty_modifier_XXX()

?

?

?

?

53講 ??獲取文本框中的值

如何用JavaScript得到網(wǎng)頁(yè)input中輸入的value

在頁(yè)面中我們最常見(jiàn)的頁(yè)面元素就是input了,但是我們?nèi)绾斡?/span>JavaScript得到網(wǎng)頁(yè)input中輸入的

?

value值呢,其實(shí)很簡(jiǎn)單,方法也不止一種,據(jù)我總結(jié)比較常用的就是下面的兩種方法,閑話不多說(shuō)了,

?

下面那就來(lái)看看我說(shuō)的方法吧:

方法一、

Java代碼 復(fù)制代碼 收藏代碼

<html> ??

?<head> ??

?<script language="javascript"> ??

??function print(){ ??

???var a=myform.name.value; ??

???alert(a); ??

??} ??

?</script> ??

?</head> ??

?<body> ??

??<form name="myform"> ??

???<input type="text" name="name" id="nn" /> ??

???<input type="button" name="button" value="獲取" οnclick="print()" /> ??

??</form> ????

?</body> ??

</html> ?

這是獲取網(wǎng)頁(yè)input值的方法之一,給from一個(gè)名字然后在JavaScript的地方就可以用form的名字來(lái)調(diào)

?

form表單里input元素的value屬性可以得到值,并把值賦給a,最后用JavaScriptalert()打印方法

?

打印出來(lái)。

?

方法二、

Java代碼 復(fù)制代碼 收藏代碼

<html> ??

?<head> ??

?<script language="javascript"> ??

??function print(){ ??

???var a=document.getElementByIdx_x("nn").value; ??

???alert(a); ??

??} ??

?</script> ??

?</head> ??

?<body> ??

??<form> ??

???<input type="text" name="name" id="nn" /> ??

???<input type="button" name="button" value="獲取" οnclick="print()" /> ??

??</form> ????

?</body> ??

</html>

?

方法三

<html>

<head>

<title></title>

<script type="text/javascript">

function js(){

var x=document.getElementById("11").value;

window.alert (x);

}

</script>

</head>

<body>

?<textarea ?id="11"rows="10" cols="20"> ??????</textarea> ?<br>

?????<input id="mytest" name="mytest" type="button" onClick="js()" value="測(cè)試"/> ?

</body>

</html>

?

?

54講 正則表達(dá)式

匹配四個(gè)連續(xù)的數(shù)字

<html>

<head>

<title></title>

<script?type="text/javascript">

function?js(){

var?con=document.getElementById("11").value;

//window.alert (x);

//var myReg=/(\d){4}/gi; ?//這是一個(gè)正則表達(dá)式

var?myReg=new?RegExp("(\\d){4}","gi"); ?//這是一個(gè)正則表達(dá)式

while(res=myReg.exec(con)){

window.alert("找到"+res[0]);

}

}

</script>

</head>

<body>

?<textarea??id="11"rows="10"?cols="20">???????</textarea>??<br>

?????<input?id="mytest"?name="mytest"?type="button"?onClick="js()"?value="測(cè)試"/>??

</body>

</html>

?

正則表達(dá)式RegExp對(duì)象的方法:

1.exec()方法 ,一直找那個(gè)串,一直找

2.test()方法,找到返回true,沒(méi)有找到返回false

function js(){

var con=document.getElementById("11").value;

var myreg=/abc/gi;

if(myreg.test(con)){

window.alert("abc");

}else{

window.alert("沒(méi)有有abc");

}

}

?

正則表達(dá)式的String對(duì)象的方法

Match方法

function test2(){

var con=document.getElementById("11").value;

var myreg=/abc/gi;

?

res=con.match(myreg);

for(var i=0;i<res.length;i++){

window.alert(i+"-"+res[0]);

}

}

Replace方法

function test3(){

var con=document.getElementById("11").value;

//把四個(gè)數(shù)換成一句話:這里有四個(gè)數(shù)

var myreg=/(\d){4}/gi;

var newCon=con.replace(myreg,"這里有四個(gè)數(shù)");

document.getElementById("11").value=newCon;

}

Var myreg=/(\d)(\d)\2\1/gi;

子表達(dá)式,捕獲,反向應(yīng)用

function test5(){

var con=document.getElementById("11").value;

//var myreg=/(\d)(\d)\2\1/gi; ?///1221 ?2332 ??匹配這樣d

//var myreg=/(\d)\1(\d)\2(\d)\3(\d)\4/gi; ??///匹配aabbcc

var myreg=/(\d)(\d)\2\2\1/gi; //匹配addda;

//匹配 12348-333999111 這樣的編號(hào)

var myreg=/(\d){5}-(\d)\2\2(\d)\3\3(\d)\4\4/gi;

while(res=myreg.exec(con)){

window.alert(res[0]);

}

}

?

//限定符

function test6(){

var con=document.getElementById("11").value;

//var myreg=/a+/gi; //匹配addda;

//var myreg=/a1?/gi;

//var myreg=/[a-z]{2}/gi;

var myreg=/[^a-z]/gi;

while(res=myreg.exec(con)){

window.alert(res[0]);

}

}

\d ?=[0-9] 0-9

\D ?=[^0-9]

\w =[a-zA-Z0-9_]

\W ?=[^a-zA-Z0-9_]

\s ?=空白字符

\S ?=非空白字符

. ??\n之外所有字符

?

?

郵箱驗(yàn)證:

//郵箱驗(yàn)證

function test7(){

var con=document.getElementById("11").value;

var myreg=/[a-zA-Z0-9_-]+@([a-zA-Z0-9]+\.)+(com|cn|net|org)$/gi;

while(res=myreg.exec(con)){

window.alert(res[0]);

}

}

給出答案:

//郵箱驗(yàn)證

function test7(){

var con=document.getElementById("11").value;

var myreg=/^[a-zA-Z0-9_-]+@([a-zA-Z0-9]+\.)+(com|cn|net|org)$/gi;

必須用戶名打頭,com|cn|org結(jié)尾,中間只有一個(gè)@符號(hào)

if(myreg.test(con)){

window.alert("是電子郵件");

}else{

window.alert("不是電子郵件");

}

}

?

//驗(yàn)證一個(gè)域名

function test8(){

var con=document.getElementById("11").value;

myreg=/^(http)\:\/\/([a-zA-Z0-9]+\.)+(com|cn|net|org)$/gi;

//var myreg=//gi;

if(myreg.test(con)){

window.alert("是合法網(wǎng)站");

}else{

window.alert("不是合法網(wǎng)站");

}

}

//驗(yàn)證網(wǎng)址

function test8(){

var con=document.getElementById("11").value;

var myreg=/(http\:\/\/)?([\w.]+)(\/[\w- \.\/\?%&=]*)?/gi; //驗(yàn)證網(wǎng)址

if(myreg.test(con)){

window.alert("是合法網(wǎng)站");

}else{

window.alert("不是合法網(wǎng)站");

}

}

?

?

?

2017.04.19

1.phpMAdmin 怎么使用與打開(kāi)

答:把phpMyAdmin 安裝在apache的目錄下面。然后點(diǎn)擊打開(kāi),輸入用戶名:root, 密碼:123456789就行。

?

2.

總結(jié)

以上是生活随笔為你收集整理的PHP学习杂记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

久久成人一区 | 99理论片| 久久久久久免费毛片精品 | 婷婷久久久久 | 99视频这里有精品 | 久久国产精品精品国产色婷婷 | 日韩欧美视频在线观看免费 | 99re久久资源最新地址 | 亚洲毛片视频 | 热久精品 | 在线国产一区二区三区 | 久久亚洲欧美日韩精品专区 | 91网免费观看 | 国产一级免费播放 | 国产精品一区二区麻豆 | 亚洲激情校园春色 | 日本激情动作片免费看 | 国产日韩欧美精品在线观看 | 国产白浆在线观看 | 国产精品一区二区av日韩在线 | 99国产一区二区三精品乱码 | 一区二区三区 中文字幕 | 97超碰人人模人人人爽人人爱 | 亚洲色图 校园春色 | 亚洲欧美日韩在线看 | 久久99国产精品自在自在app | 在线一二三区 | 菠萝菠萝蜜在线播放 | 欧美日韩一区二区在线观看 | 69国产精品视频 | 91九色在线视频 | 欧美怡红院 | 成人91在线 | 最新av在线播放 | 久草在线视频看看 | 国产成人一区二区三区免费看 | 欧美影院久久 | 色婷婷国产 | 亚洲一级黄色片 | 精品在线观看一区二区 | 久久大视频 | 亚洲国产经典视频 | 午夜av电影| 激情 亚洲 | 久久亚洲免费 | 久久久www| 在线看国产 | 天天色综合三 | 91中文字幕在线 | 国产成人av综合色 | 色婷婷激情 | 久久夜色精品国产欧美乱 | 欧美日韩亚洲国产一区 | 91黄视频在线观看 | 97热视频| 国产视频导航 | 黄色91在线| 久草精品免费 | 九热在线 | 精品欧美一区二区在线观看 | 人人讲下载 | 国产成人a亚洲精品v | 最近中文字幕免费 | 911亚洲精品第一 | 久久视频在线视频 | 午夜精品久久久久久中宇69 | 日日夜夜爱 | 成人91在线观看 | 欧美一区在线观看视频 | 99精品在线免费观看 | 日韩视频免费在线观看 | 五月婷香蕉久色在线看 | 91在线中文字幕 | 日韩欧美国产免费播放 | 人人舔人人 | 久久精品成人欧美大片古装 | 日韩区欠美精品av视频 | bayu135国产精品视频 | 成人免费色| 亚洲日本国产 | 亚洲成人av电影 | av线上看 | 91精品婷婷国产综合久久蝌蚪 | 欧美另类z0zx | 不卡av电影在线 | 午夜av在线播放 | 激情五月婷婷综合网 | 亚洲黄色小说网址 | 国产免费视频一区二区裸体 | 欧美日韩国产网站 | 国产不卡高清 | 91香蕉视频720p | 中文字幕亚洲欧美日韩 | 4hu视频 | 91视频免费看 | 久久综合亚洲鲁鲁五月久久 | a级国产乱理伦片在线观看 亚洲3级 | 国产一级在线免费观看 | 99久久99久久精品国产片 | 欧美一二三专区 | 人人操日日干 | 免费观看v片在线观看 | 久久久久久久久久毛片 | 婷婷六月丁香激情 | 国产一区成人在线 | 国产韩国日本高清视频 | 国产精品99爱 | 九九九热精品免费视频观看 | .国产精品成人自产拍在线观看6 | 国产久视频| 永久免费观看视频 | 91最新视频在线观看 | 91丨九色丨蝌蚪丨老版 | a'aaa级片在线观看 | 不卡视频在线看 | 2019精品手机国产品在线 | 国产精品丝袜久久久久久久不卡 | www.久久91 | 国产资源站 | 有码中文字幕 | 亚洲成av | 国产在线国产 | 精品美女在线视频 | 久久久久久久久久亚洲精品 | 9999在线 | 日韩毛片在线免费观看 | 日韩 精品 一区 国产 麻豆 | 91中文字幕| 九九视频免费在线观看 | 91mv.cool在线观看 | 欧美日韩xx | 国产最新视频在线观看 | 国产精品久久久久久久久久免费看 | 97人人人人 | 国产精品入口66mio女同 | 黄色免费看片网站 | 最新日韩视频在线观看 | 免费在线观看国产精品 | 人人干人人草 | 国产手机在线精品 | 成人黄色小说视频 | 日韩黄视频 | 国产亚洲一区二区三区 | 在线欧美a | 在线观看成人毛片 | 亚洲精选国产 | 婷婷网在线 | 国产精品少妇 | 国产成人精品久久久久 | 色狠狠狠 | 日韩欧美视频一区 | 久久婷婷一区二区三区 | 久久综合欧美精品亚洲一区 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 成年人免费在线播放 | 亚洲最大激情中文字幕 | 日韩免费网址 | 黄色av一区二区 | 久久伊人婷婷 | 中文字幕永久免费 | 最近久乱中文字幕 | av在线直接看 | 免费av大片 | 91九色在线 | 色国产视频 | 黄色软件大全网站 | 国产超碰97 | 婷婷丁香在线 | 亚洲视频在线免费观看 | 91精品一区二区三区蜜臀 | 久久a国产 | 91精品国产三级a在线观看 | 97超碰免费在线 | 国产一级视频免费看 | 国产成人久久精品亚洲 | 天天天天天天操 | 婷婷国产v亚洲v欧美久久 | 伊人久久精品久久亚洲一区 | 色婷婷视频在线 | 国产精品色婷婷视频 | 国产裸体永久免费视频网站 | 日本成址在线观看 | av成人在线观看 | 特级免费毛片 | 午夜精品久久一牛影视 | 激情综合电影网 | 亚洲一区视频免费观看 | 欧美日韩亚洲第一页 | 国产亚洲资源 | 99热在线精品观看 | 欧美伦理一区二区三区 | 日韩黄视频 | 福利av影院 | 国产精品wwwwww | 亚洲美女在线一区 | 亚洲精品视频久久 | 亚洲禁18久人片 | 91麻豆传媒| 久久av免费电影 | 狠狠狠狠狠狠狠 | 超碰国产人人 | 欧美日韩性生活 | 香蕉在线观看视频 | 国产在线一区观看 | 日韩精品一区在线播放 | av解说在线| 丁香网五月天 | 日韩精品高清视频 | 色网站在线免费 | 久久精品99久久久久久 | 日韩欧美成人网 | 国产精品免费小视频 | 九色视频网站 | 四虎国产视频 | 免费十分钟 | 国产精品婷婷午夜在线观看 | 99这里只有| 久久精品久久久精品美女 | 欧美午夜理伦三级在线观看 | 色婷婷成人网 | 不卡视频在线 | 久草在线官网 | 亚洲人成网站精品片在线观看 | 久久久蜜桃 | 国产精品久久久久久久久岛 | 五月婷婷综合在线观看 | 婷婷六月中文字幕 | 激情欧美一区二区三区 | 特级毛片在线 | 99理论片| 亚洲黄色在线 | 在线观看国产福利片 | 亚洲性xxxx | 天天玩天天干 | 久久国产精品99久久人人澡 | 操操操影院 | 曰本三级在线 | 91看片淫黄大片91 | 色国产视频 | 欧美精品在线观看 | 久草在线中文视频 | 91亚洲网| 欧美一级日韩三级 | av免费电影在线观看 | 欧美精品一区二区性色 | www.天天射 | 啪啪免费试看 | 免费视频久久久久久久 | 亚洲欧洲精品一区二区精品久久久 | 久久激情久久 | 欧美性久久久久久 | 在线观看日韩精品 | 日韩成人精品在线观看 | 久久久久久久久毛片 | 国产一级片久久 | 精品1区二区 | 中文字幕刺激在线 | 亚洲精品成人 | 成人av在线直播 | 久久国产精品99久久久久久进口 | 中日韩在线视频 | 国产美女视频网站 | 久久伊人八月婷婷综合激情 | 99热国产在线 | www.天天草| 中文字幕区 | 成人午夜电影久久影院 | 91刺激视频| a天堂在线看 | 色婷婷国产 | 波多野结衣一区二区三区中文字幕 | 色wwwww | 国产女教师精品久久av | 日韩精品一区二区三区免费观看视频 | 国产精品一区二区免费视频 | 久久这里只有精品1 | 日本中文字幕系列 | 色婷婷www | 亚洲国产中文字幕在线视频综合 | 国产永久网站 | 天天操夜夜操国产精品 | 国产99精品在线观看 | 欧美大片aaa | 欧美激情综合五月色丁香 | 久久精品波多野结衣 | 中文字幕久久精品 | 久久久精品亚洲 | 天天干天天干天天 | 久爱综合| 成 人 免费 黄 色 视频 | 91成版人在线观看入口 | 亚洲精品免费在线播放 | 成年人黄色免费看 | 精品嫩模福利一区二区蜜臀 | 色综合久久久久综合体桃花网 | 日韩美在线 | 四虎成人精品 | 婷婷五月在线视频 | 天天干天天想 | 国产精品免费在线观看视频 | 欧美精品一区二区免费 | 成人h动漫精品一区二 | 97碰碰视频 | 狠狠干,狠狠操 | 国产一级片观看 | 91c网站色版视频 | 精品久久久久国产 | 成人av中文字幕在线观看 | 欧美性做爰猛烈叫床潮 | 伊人狠狠色 | 91亚洲国产成人久久精品网站 | 久草视频免费在线观看 | 欧美在线视频免费 | 福利网在线 | 欧美一级专区免费大片 | 日日射av | 天天色婷婷 | 婷婷色婷婷 | 日本中文字幕电影在线免费观看 | 成人在线免费视频观看 | 日韩欧美极品 | 日韩精品一区二区久久 | 国产精品久久久一区二区 | 久久久国产精品免费 | 99精品久久精品一区二区 | 麻豆免费视频网站 | 国产成人精品一区二区三区在线观看 | 国产精品一区二区免费看 | 精品一区二三区 | 久草精品视频在线观看 | 在线欧美国产 | 午夜精品久久久久久久99水蜜桃 | 久久综合色婷婷 | 九九九在线观看 | 国产中文在线视频 | 婷婷国产精品 | 五月天婷婷狠狠 | 亚洲va韩国va欧美va精四季 | 国产一级在线播放 | 色网址99 | 91黄色成人| 日韩欧美电影 | 992tv成人免费看片 | 91精选在线观看 | 婷婷在线观看视频 | 国产福利中文字幕 | 中文永久免费观看 | 国产中文字幕视频在线观看 | 亚洲人成人在线 | 六月色婷| 91在线公开视频 | 中文免费在线观看 | 欧美一级片在线观看视频 | 国产黄色精品 | 国产 日韩 在线 亚洲 字幕 中文 | 天天操天天射天天添 | 天天躁日日躁狠狠躁av麻豆 | 久久视频这里有久久精品视频11 | 免费观看v片在线观看 | 中文资源在线播放 | 国产精品久久久久av免费 | 久久久久久久av麻豆果冻 | 又黄又刺激的视频 | 欧洲亚洲女同hd | 久草9视频 | 中文字幕av在线免费 | 青草视频在线看 | 国产一区自拍视频 | 欧美日韩不卡在线视频 | 最新日本中文字幕 | 日躁夜躁狠狠躁2001 | 99中文视频在线 | 免费av网址大全 | 免费a级毛片在线看 | 国产一级在线观看 | www.天天操.com| 九九九九九九精品任你躁 | 国产精品扒开做爽爽的视频 | 精品亚洲一区二区三区 | 国产一区二区精品久久91 | 婷婷www| 亚洲伦理精品 | 91免费观看视频网站 | 色婷婷免费视频 | 久久99精品久久久久婷婷 | 欧美国产在线看 | 日韩激情久久 | 久久久久久久99精品免费观看 | av黄色免费在线观看 | 国产精品一区二区免费看 | 尤物一区二区三区 | av电影在线观看完整版一区二区 | 欧美国产日韩一区二区三区 | 正在播放国产一区二区 | 免费观看国产精品视频 | 99精品视频在线观看 | 久久国产色 | 狂野欧美激情性xxxx | 日躁夜躁狠狠躁2001 | 色综久久| 黄色精品久久 | 久草视频免费看 | 最新日韩在线观看视频 | 中文字幕资源网 国产 | 国产精品久久久久久爽爽爽 | 中文字幕丝袜 | 久久久久久久免费观看 | 国产精品免费一区二区三区在线观看 | www.天堂av | 国产一级片免费视频 | 亚洲国产影院av久久久久 | 91大神精品视频在线观看 | 午夜色影院 | av视屏在线播放 | 国产h在线播放 | 久久这里只有精品视频99 | 午夜精品一区二区三区视频免费看 | 国产二区av | 亚洲美女在线国产 | 日韩精品高清视频 | 天天摸天天操天天舔 | 欧美一级视频在线观看 | 国产在线一区二区三区播放 | 亚洲精品视频在线免费播放 | 日韩在线观看视频在线 | 91av在线看 | 丁香激情综合国产 | 特级西西人体444是什么意思 | 99久久久国产精品免费观看 | 久热色超碰 | 欧美午夜精品久久久久久浪潮 | 涩涩在线 | 天天干干| 免费看v片网站 | 亚洲高清视频在线播放 | 91pony九色丨交换 | 婷婷丁香在线 | 韩日精品视频 | 好看av在线 | 欧美在线一二区 | 久久精品中文字幕一区二区三区 | 成人久久亚洲 | 午夜国产一区 | 久久激情五月丁香伊人 | 午夜视频在线观看一区二区三区 | 欧美午夜精品久久久久久浪潮 | 色欧美综合 | 国产永久免费观看 | 国产成人综合精品 | 久久国产欧美日韩精品 | 免费精品国产 | 97在线观看免费高清完整版在线观看 | av在线亚洲天堂 | 五月婷婷在线视频观看 | 久久观看最新视频 | 91av手机在线观看 | 日韩专区一区二区 | a久久久久 | 天天射天天拍 | 欧美精品一区在线发布 | 国产在线播放一区二区三区 | 亚洲国产欧美在线人成大黄瓜 | 人人爽人人爽人人爽学生一级 | 日韩一区正在播放 | 亚洲精品乱码久久久久久按摩 | 干干操操 | 日日干干| av在线电影免费观看 | 国产成人一区二区啪在线观看 | 久久精品国产免费看久久精品 | 最近中文字幕免费av | 日本系列中文字幕 | 欧美福利片在线观看 | 国产麻豆视频免费观看 | 91精品蜜桃 | 91av电影在线观看 | av成年人电影 | 中文字幕4 | 国产91精品欧美 | 97麻豆视频| 久草在线观看 | 久草视频在线免费播放 | 国产成人久 | 日韩,精品电影 | 国产日韩中文字幕 | 亚洲精品女人久久久 | 国产精品免费观看国产网曝瓜 | 久草在线官网 | 精品av网站 | 天天躁天天狠天天透 | 三三级黄色片之日韩 | 日本爱爱免费 | 婷婷在线网站 | 中文字幕在线国产精品 | 国产剧情在线一区 | 亚洲va综合va国产va中文 | 国产精品久久久久久久免费大片 | av中文字幕在线免费观看 | 亚洲最新在线视频 | 久久激情视频免费观看 | a黄色一级片 | 麻豆国产精品va在线观看不卡 | 久久在线观看视频 | 国产色啪 | 蜜臀久久99精品久久久久久网站 | 亚洲伊人天堂 | 精品福利在线观看 | 亚洲精品在线一区二区 | 亚洲国产精品va在线 | 中文字幕资源网在线观看 | 精品国产乱码久久久久久1区2匹 | 人人爽人人澡人人添人人人人 | 日韩天天操 | 亚洲天天在线日亚洲洲精 | 国产精品ssss在线亚洲 | 成人99免费视频 | 精品久久久久久久久久国产 | 99激情网 | 天天干夜夜夜 | www免费| 亚洲三级在线免费观看 | 99精品欧美一区二区三区黑人哦 | 69国产精品视频免费观看 | 亚洲 欧美 精品 | 免费看的黄色 | 国产成人av在线影院 | 91亚洲狠狠婷婷综合久久久 | 最近中文字幕大全中文字幕免费 | 1000部国产精品成人观看 | 国产中出在线观看 | 在线观看爱爱视频 | 黄色精品国产 | 久久精品网站视频 | 国产精品一区二区在线免费观看 | 亚洲国产剧情 | 国产免码va在线观看免费 | 国产小视频免费在线观看 | 精品国产伦一区二区三区免费 | 久久免费观看视频 | 一区二区三区中文字幕在线观看 | 久久久久久草 | 日本在线观看一区二区 | 在线看中文字幕 | 日本字幕网 | 国产精品一区二区av影院萌芽 | 狠狠色丁香婷婷综合 | 天天干,天天射,天天操,天天摸 | 欧美国产一区在线 | 国产成人精品999在线观看 | 色婷婷综合久久久久 | 国产精品久久婷婷六月丁香 | 丁香资源影视免费观看 | a天堂免费 | 久久精品永久免费 | 欧美日韩在线电影 | 国产一区二区在线播放 | 91九色视频 | 在线成人小视频 | 91精品婷婷国产综合久久蝌蚪 | 久久草在线精品 | 三级av中文字幕 | 狠狠色婷婷丁香六月 | 国产黄a三级三级三级三级三级 | 免费av影视 | 丁香婷婷久久久综合精品国产 | 99热9 | 高清在线观看av | 国产精品xxxx18a99 | 中文av一区二区 | 婷婷丁香导航 | 欧美精品在线一区二区 | 97国产 | 中文字幕在线观看网址 | 精品在线观看免费 | 正在播放一区 | 麻豆国产网站 | 婷婷激情站 | 国产精品igao视频网入口 | 亚洲精品视频网站在线观看 | 天天婷婷 | 四虎成人精品永久免费av | 国产专区精品 | www.天天操 | 午夜黄色 | 中文资源在线官网 | 天天射天天做 | 国产韩国精品一区二区三区 | 超碰免费久久 | 国产精品免费av | 亚洲一级黄色片 | 日韩在线电影观看 | 成人a在线观看 | 在线观看国产亚洲 | 中文国产字幕在线观看 | 在线观看日韩免费视频 | 久草视频在线播放 | av在线不卡观看 | 久久亚洲人 | 91精品中文字幕 | 国产中文在线观看 | 日韩av在线资源 | 玖玖在线视频观看 | 国产亚洲精品久久久久久无几年桃 | 四虎影视成人精品国库在线观看 | 草久在线观看视频 | 国产高清av免费在线观看 | 国产精品免费不卡 | 日日干干| 国内精品视频在线 | 亚洲一区视频在线播放 | 久久tv视频| 久久久午夜视频 | 国产精品视频永久免费播放 | 国产精品国产三级国产aⅴ无密码 | 五月综合在线观看 | 中文字幕丰满人伦在线 | 奇米先锋| 五月av在线 | 免费在线观看av不卡 | 日日夜夜精品免费观看 | 成人一级电影在线观看 | 久久久18| 日韩久久久久 | 在线成人中文字幕 | 免费午夜视频在线观看 | 色婷婷狠狠五月综合天色拍 | 国产小视频在线看 | 日韩黄色免费在线观看 | 午夜视频一区二区 | 国产亚洲日 | 久久精品欧美 | 成人av在线亚洲 | 中文字幕精品一区二区精品 | 国产美腿白丝袜足在线av | 免费成人黄色av | 我要色综合天天 | 麻豆91在线看| 久久久久久中文字幕 | 午夜在线看 | 久久久精品一区二区三区 | 一级黄色在线免费观看 | av福利在线播放 | 国产一区不卡在线 | 日日干av | 欧美一区二区免费在线观看 | 日女人电影 | 91麻豆精品国产91久久久久久久久 | 国产精品自产拍在线观看桃花 | 亚洲高清在线观看视频 | 国产一二三四在线视频 | 午夜精品在线看 | 成人精品国产免费网站 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 欧美精品久久久久久久久老牛影院 | 久草视频在线资源站 | 奇米网网址| 色吊丝av中文字幕 | 国产视频高清 | 96看片| 国产精品久久久久久久久久白浆 | 在线免费日韩 | 国产九九精品视频 | 亚洲精品日韩av | 天天天色综合 | 亚洲 欧美变态 另类 综合 | 国产精品白虎 | 91麻豆精品国产91久久久久久久久 | 日韩专区一区二区 | 天天爽夜夜爽人人爽一区二区 | 国产福利中文字幕 | 开心激情久久 | 99精品福利 | 99在线观看免费视频精品观看 | 欧美性色黄大片在线观看 | 久久久久免费精品国产小说色大师 | 国产日韩亚洲 | 日日日日 | 婷五月天激情 | 欧美日韩在线网站 | 成人黄色片在线播放 | 中文永久免费观看 | 久久国产精品二国产精品中国洋人 | 91在线小视频 | 成人中文字幕+乱码+中文字幕 | 激情综合五月婷婷 | 黄色av免费 | 欧美极品少妇xbxb性爽爽视频 | 人人爽人人澡 | 日韩精品一区二区三区视频播放 | av黄色免费看 | 人人草在线观看 | 又黄又爽的视频在线观看网站 | 美女黄视频免费 | 国产小视频在线免费观看 | 国产99久久久国产精品 | 亚洲区视频在线 | 久久久久久久久久毛片 | 三级av片 | 亚洲乱码久久久 | 久久免费a | 婷婷深爱五月 | 国产理论免费 | 免费看的黄色录像 | 国产精品久久久 | 久久在线视频在线 | 国产精品女同一区二区三区久久夜 | 日韩激情第一页 | 日韩免费播放 | 中文字幕乱码一区二区 | 国产又粗又硬又长又爽的视频 | 91.麻豆视频| 国产综合精品久久 | 99久久久国产精品免费观看 | 在线激情小视频 | 五月婷网站 | 91在线欧美 | av电影在线免费观看 | 亚洲视频综合 | 蜜臀av性久久久久av蜜臀妖精 | 久久99久国产精品黄毛片入口 | 五月婷婷在线视频 | 国产69精品久久久久久 | 国产免费专区 | 在线看小早川怜子av | 热精品| 久久久影院官网 | 97电院网手机版 | 草久在线观看视频 | 成人午夜影院 | 久久66热这里只有精品 | 国产视频精品免费播放 | 亚洲一区精品二人人爽久久 | 日韩欧美在线视频一区二区 | 婷婷免费在线视频 | 蜜臀91丨九色丨蝌蚪老版 | 色综合天天狠狠 | 久久免费国产电影 | 亚洲春色综合另类校园电影 | 91黄色影视 | 日韩在线观看视频中文字幕 | 免费在线激情电影 | 少妇自拍av | 久久综合电影 | 国产亚洲精品久久久网站好莱 | 日本精品在线视频 | 国产剧在线观看片 | 欧美最爽乱淫视频播放 | 最近日韩中文字幕中文 | 国产精品24小时在线观看 | 成人国产精品免费 | 美女黄网久久 | 精品欧美一区二区精品久久 | 亚洲天堂香蕉 | 米奇影视7777 | 99精品视频在线看 | 五月婷婷激情综合网 | 18国产精品福利片久久婷 | 亚洲精品国产精品国产 | 成人a级网站 | 久久www免费视频 | 国产 字幕 制服 中文 在线 | 久久精品美女视频网站 | 国产一级免费在线观看 | 偷拍精偷拍精品欧洲亚洲网站 | 中文字幕在线播放第一页 | 在线观看中文 | 一区av在线播放 | 日韩两性视频 | av在线免费播放网站 | 亚洲免费公开视频 | 伊在线视频 | 日韩成人av在线 | 中文字幕婷婷 | 丁香电影小说免费视频观看 | 日韩中文在线播放 | 欧美一区二区在线免费观看 | 亚洲精品国偷自产在线91正片 | 久久精品视频免费观看 | 日韩免费视频线观看 | 亚洲国产精品成人女人久久 | 91亚洲精品乱码久久久久久蜜桃 | 午夜av免费在线观看 | 人人狠狠| 日韩在线国产精品 | 在线成人免费av | 欧美久草在线 | 日韩精品电影在线播放 | 日韩中文字幕免费视频 | 国产精品网站一区二区三区 | 午夜精品一区二区国产 | 三级黄色网络 | 在线日本v二区不卡 | 国内精品美女在线观看 | 17videosex性欧美 | 久久久电影网站 | 日韩精品免费一区二区 | 青青河边草免费视频 | 国产精品岛国久久久久久久久红粉 | 亚洲成a人片77777潘金莲 | 国产精品精品国产婷婷这里av | 国产无遮挡又黄又爽在线观看 | 一本一本久久a久久精品综合小说 | 精品久久国产精品 | av福利电影| 草久视频在线 | 亚洲h在线播放在线观看h | 天天干天天拍天天操天天拍 | 婷婷六月丁 | 国产精品久久久久久一二三四五 | 免费av高清 | 在线观看免费视频你懂的 | 国产精品激情在线观看 | 91免费视频黄 | 91av视频免费在线观看 | 国产这里只有精品 | 日本在线观看视频一区 | 伊人国产在线观看 | 一级成人在线 | 久久久国产99久久国产一 | 久久精品aaa | 国内精品久久久久久久久久清纯 | 美女视频黄频 | 日一日干一干 | 日本免费一二三区 | 色99之美女主播在线视频 | 久久久麻豆视频 | 69精品久久久 | 在线一区观看 | 成人在线观看影院 | 成人在线视频免费观看 | 日本中文在线 | 精品人人人 | 国产黄色在线看 | 在线观看网站你懂的 | 五月天网页 | 亚洲乱码中文字幕综合 | 午夜少妇一区二区三区 | 在线观看午夜 | 免费网站黄 | 成人黄色毛片视频 | 久草在线免费资源 | 狠狠色丁香久久婷婷综合丁香 | av3级在线 | 99精品美女 | 美女天天操 | 在线中文字幕电影 | 97超碰福利久久精品 | 国内少妇自拍视频一区 | 国产精品国产亚洲精品看不卡15 | 午夜99| 中文字幕精品一区二区精品 | 麻豆成人精品视频 | 亚洲更新最快 | 久草视频播放 | 久久精品99精品国产香蕉 | 中文字幕在线国产精品 | 91久久精品日日躁夜夜躁国产 | 日韩手机视频 | 成人在线免费视频观看 | 在线性视频日韩欧美 | 欧美精品亚州精品 | 国产一区二区手机在线观看 | 欧美日韩免费观看一区二区三区 | 97在线免费视频 | 国产又粗又猛又黄又爽视频 | 成在人线av| 久久精品激情 | 99热最新| 久久99国产一区二区三区 | 亚洲va综合va国产va中文 | 免费精品人在线二线三线 | 国产成人精品国内自产拍免费看 | 日韩午夜av电影 | 成人一级片免费看 | 黄色小网站在线观看 | 精品美女久久久久久免费 | 久久99久久99免费视频 | 99re8这里有精品热视频免费 | 成年人看片 | 国产亚洲91 | 草久视频在线观看 | 丁香九月激情综合 | 国产不卡毛片 | 九九三级毛片 | 91av小视频 | 狠狠干,狠狠操 | 欧美成a人片在线观看久 | 免费观看特级毛片 | 亚洲激情网站免费观看 | 日本中文字幕网 | 日韩免费在线 | 三级在线国产 | 免费观看91视频大全 | 六月婷婷色| 国产精品免费久久久久久 | 青青河边草免费观看 | 最新国产在线观看 | 国产96在线视频 | 顶级bbw搡bbbb搡bbbb | 国产精品18videosex性欧美 | 国产午夜精品一区二区三区四区 | 在线观看视频免费播放 | 婷婷丁香色综合狠狠色 | 亚洲午夜不卡 | 成人av在线影院 | 免费手机黄色网址 | 成人av网页 | 亚洲欧洲国产日韩精品 | 在线观看中文字幕一区 | 99免费在线观看 | 国产不卡av在线 | 国产一区精品在线观看 | 国产精品免费久久久久久久久久中文 | 91精品久久久久久综合乱菊 | 国产91精品欧美 | 一区二区三区 亚洲 | 久久久蜜桃 | 国产成人亚洲在线观看 | 在线视频欧美日韩 | 国产亚洲精品久久久久久 | 婷婷免费在线视频 | 六月色 | 激情综合网五月激情 | 91精品国自产拍天天拍 | 九九99靖品| 综合久久网站 | 色噜噜日韩精品一区二区三区视频 | 麻豆成人在线观看 | 99精品观看 | 高清国产一区 | av免费观看在线 | 69国产精品成人在线播放 | 97av免费视频 | 丁香九月婷婷综合 | 国产黄色理论片 | 日韩中文字幕在线观看 | 国产丝袜高跟 | 国产成人精品一区二区三区福利 | 中文字幕在线人 | 欧美一级视频一区 | 欧美九九九 | a级免费观看| 亚洲成年人免费网站 | 亚洲日本va中文字幕 | 亚洲激情视频 | 狠狠色丁香婷婷综合橹88 | 日韩.com | av免费网页 | 国产精品123 | 国产剧情久久 | www.久久久com| 热热热热热色 | 国产精品久久久久永久免费观看 | 一级成人免费 | 亚洲资源| 9在线观看免费高清完整版在线观看明 | 国产精品福利午夜在线观看 | 在线国产视频一区 | 九九热99视频 | 国产视频一区精品 | 免费午夜在线视频 | 日韩欧美大片免费观看 | 黄色精品一区 | 五月婷婷激情六月 | 欧美精品v国产精品v日韩精品 | 国产精品伦一区二区三区视频 | 国产在线免费观看 | 欧美日韩高清一区二区 | aaa亚洲精品一二三区 | 激情综合色综合久久综合 | av网址aaa| 亚洲精品国偷拍自产在线观看 | 久久69精品| 中文字幕日本在线 | 在线免费观看黄色av | 亚洲 综合 国产 精品 | 精品在线观看一区二区三区 | a黄色影院| 91精品国产高清自在线观看 | 久久精品久久久久久久 | 在线国产中文字幕 | 精品久久久久久亚洲综合网 | 热99久久精品| 99精品国产视频 | 国产一区二区不卡视频 | 99久久精品久久久久久动态片 | 国产视频一区在线播放 | 久久久久久久久久久成人 | 成人福利在线播放 | 欧美久久成人 | 精品视频网站 | 91香蕉视频在线下载 | 国产亚洲婷婷免费 | 免费三级骚 | 国产成人精品在线 | 99久久精品国产欧美主题曲 | 久久国产品 | 亚洲视频免费在线 |