如果method=“get”那么采用$_GET[“elementname”]
如果method=“post”那么采用$_POST[“elementame”]
用户名:<input type=“text” name=“username”><br>
<input name="提交" type="submit">
</form>
如果method=“get”那么采用$_GET[“username”]
如果method=“post”那么采用$_POST[“username”]
例:<?php
if(empty($name))
{echo(“名称不能为空!”);
exit;
}
echo(“你就是”.$name);
?>
一,采用数字作为数组下标的形式
指定元素下标的值
连续索引
例:$members[0]=“john”;
$members[1]=“david”;
例:$members[]=“john”;
$members[]=“david”;
等价于:
$members[0]=“john”;
$members[1]=“david”;
三,使用array行声明
例:$members=array(“john”,“david”,“bob”);
$members[1]=“david”;
$members[2]=“bob”;
数组指定下标
例:$members=array(“john”,5=>“david”);
即:$members[0]=“john”;
$members[5]=“david”;
PHP中除了用数字作为下标外,还可以用字符串作为下标。
例:$prices[‘apple’]=3.5;
$prices[‘banana’]=1.5;
$prices[‘排骨’]=12;
例:$products=array(array(‘主板’,‘CPU’), array(‘键盘’,‘鼠标’), array(‘VCD’,‘DVD’));
例: $members=array(“john”,“david”,“bob”);
echo($members[0]);
echo($members[1]);
echo($members[2]);
例:$prices[“猪肉”]=9;
$prices[“排骨”]=12;
echo(“猪肉的价格是:”.$prices[“猪肉”]);
echo(“排骨的价格是:”.$prices[“排骨”])
采用循环语句和count()函数进行访问
Count($数组名) :获取已赋值数组元素的个数
例1: <?php
$prices[0]=“A”;
$prices[1]= “B”;
$prices[5]=“C”;
echo(count($prices)); //结果为3
?>
$num_elements=count($members);
for($i=0;$i<$num_elements;$i++)
{ echo($members[$i].“<br>”);
}
语法:foreach($ArrayName as $value)
或者foreach($ArrayName as $key=>$value)
该语句自动按顺序访问数组中的每个元素。
$prices[‘apple’]=3.5;
$prices[‘banana’]=1.5;
$prices[‘排骨’]=12;
采用foreach($ArrayName as $key=>$value)方法
foreach($prices as $key=>$price)
{
echo($key.“的价格为:”.$price.”<br>”);
}
该方法一般用于既想知道元素的值,又想知道其下标
采用List()和each()函数结合循环访问数组
List()函数可结合each()使用取得数组当前元素的下标和值。
语法:list($key,$value)=each($数组名)
例: $menbers=array(“john”,“david”,“bob”);
while(list($key,$value)=each($members))
{echo($key);
echo($value);
}
注:访问数组所有元素,需要结合while语句
各种遍历法的比较
for()或者其它循环语句来遍历数组法
foreach()遍历数组的方法
采用循环与List()和each()方法来遍历数组法
while(list($key,$value)=each($ArrayName))foreach($ArrayName as $key=>$value)
实例一:定义一个向客户端输出对话框的函数
function alert_back($message)
{
echo("<script language='JavaScript'>");
echo("alert(‘$message');");
echo("history.back();");
echo("</script>");
}
实例二:定义一个输出单列表格的函数
function showtable($messages,$title)
{
echo('<table border="0" cellpadding="0" cellspacing="1" class="left">');
echo("<tr><td class='title'> ".$title. " </td></tr>");
foreach($messages as $message)
{echo("<tr><td>".$hot."</td></tr>");}
echo('</table>');
}
require()函数与include()函数
在PHP中,一个文件为了包含另外一个文件,可以采用上面两个函数来达到目的。
例:<?php
include(“fun.php”); //或者require(“fun.php”)
alert_back(“用户名不能为空”);
?>
制作留言板
Message.php (客户填写留言内容)提交 --->addmessage.php(把留言添加到数据库内容)跳转-->showmessage.php(把留言添加到数据库内容)
添加留言
一、接收用户提交的数据
$username=$_POST['username'];
$content=$_POST['content'];
$ip=$_SERVER['REMOTE_ADDR'];
$date=Date("Y-m-d H:i:s");
二、联接并选择数据库
include(“dbconnect.php”);
<?php
if(!mysql_connect("localhost","root","123"))
{
echo("联接数据库出错!");
exit;
}
if(!mysql_select_db("messageboard"))
{
echo("选择数据库出错!");
exit;
}
?>
三、编写插入记录的SQL语句
$insertSQL="insert into message(mcontent,musername,mip,mdate) values('$content','$username','$ip','$date')";
注:字符串与日期类型要加单引号
四、执行SQL语句
$result=mysql_query($insertSQL);
if($result)
{ alert_go("增加留言成功!","message.php"); }
else{ alert_back(“增加留言失败!”); }
JavaScript表单数据验证
1、访问表单文本框元素方法:
Document.formname.elementname.value
例:
Var username=document.messform.username.value;
If(username= =“”)
{alert(“用户名不能为空!”);
Return false;}
2、onSubmit事件:
编写函数,绑定到该事件上,该函数进行验证过程。
<form name=“messform” onSubmit=“return checkdata()”
Action=“addmessage.php” method=“POST”>
代码:客户端验证
<form name=“messform” onSubmit=“return checkdata()”
Action=“addmessage.php” method=“POST”>
function checkdata()
{
var username=document.messform.username.value;
var content=document.messform.content.value;
if(username==“”){alert(“用户名不能为空”); return false;}
if(content==“”){alert(“留言内容不能为空”);return false;}
return true;
}
服务端数据验证
例:if($username==“”)
{alert_back(“用户名不能为空!”);
exit;}
if($content==“”)
{alert_back(“留言内容不能为空!”);
exit;}
htmlspecialchars ()函数:
对一些HTML特殊字符为预定义字符
&表示&(and)
"表示双引号(“)
'表示单引号(‘)
<表示小于号(<)
>表示大于号(>)
例:先对特殊字符进行处理后再添加到数据库中
$insertSQL="insert into message(mcontent,musername,mip,mdate) values(‘htmlspecialchars($content)',‘htmlspecialchars($username)','$ip','$date')";
获得时间数组
语法:$数组名=Getdate(时间标记)
省略时间标记可以获得系统时间数组
例:$now=Getdate();
echo(“今天是:”.$now[‘year’].“年”.$now[‘mon’].“月”.$now[‘mday’].“日<br>”);
echo (“现在是:”.$now[‘hours’].“时”.$now[‘minutes’].“分”.$now[‘seconds’].“秒”);
获得环境信息
$_SERVER[‘参数’]
通过传递不同的参数来获得不同的信息
注:参数应该大写
例:echo($_SERVER[‘REMOTE_ADDR’])
//得到客户端的IP
Echo($_SERVER[‘PHP_SELF’])
//得到本页面的URL
例:设计一个可以记录用户IP的留言板
echo("你的留言是:");
echo($comment."<br>");
$ip=$_SERVER['REMOTE_ADDR'];
$url= $_SERVER['PHP_SELF'];
echo(“当前页面的URL是:”.$url."<br>");
echo("你的IP为:".$ip);
echo(" 时间为:".date('Y-M-d H:i:s'));
重定向
Header()函数
可以结合Location标头来进行重定向。
Location标头:重定向到另一个网页地址
例:跳转到sohu官方网站Header("Location: http://www.sohu.com");
例:重定向到登录页面Header("Location: login.php");
应用Header()函数注意问题:
使用Header()函数来传送HTTP标头,必须在未有任何数据传输至浏览器之前,包含任何的html卷标。
例:<?php
header(“location:index.php”);
?>
<html>……</html>
例:错误
<html>
<?php
header(“location:index.php”);
?>
</html>
例:错误(已向客户端输出数据)
<?php
echo(“重定向”);
header(“location:index.php”);
?>
<html>
</html>
Cookie的概念与应用
Cookie是一种将信息存放在客户端的技术
方法:
Setcookie()创建一个Cookie
$_Cookie[‘cookiename’]读取Cookie的值
Cookie的特性和功能
Cookie的创建
语法: Setcookie(“cookie名称”,存到cookie的数据)
注意:Cookie的创建必须在打开网页后,且未有任何信息输出到浏览器之前
例:<?php
$name=“东东”;
Setcookie(“user”,$name);
?>
例:<?php
$name=“小东”;
echo($name.“欢迎光临本站”);
Setcookie(“user”,$name); //前面已经向浏览器输出数据
?>
<html>…</html>
例:<html>
<?php
$name=“小东”;
Setcookie(“user”,$name); //已经向浏览器输出<html>标记
?>
</html>
Cookie的创建必须在<html>标记之前,并且在任何向浏览输出数据之前(比如echo(),printf()等)。
Cookie的存在期限
默认Cookie存在时间为用户关闭浏览器时结束
例:
<?php
$name=“小东”;
Setcookie(“user”,$name); //没有设置存在期限为默认。
?>
Cookie的存在期限
设定Cookie的存在时间
在这段时间内,Cookie数据存放于客户端硬盘上
语法:Setcookie(“cookie名称”, 数据,生命期);
例: Setcookie(“user”,“David”,Time()+3600);
//具有一个小时的存在期。
Cookie的存在个数
客户端:Cookie的个数最多为300个
同一个服务器:Cookie的个数最多为20个
Cookie的存取与使用
Cookie的读取与删除
读取Cookie的值
$_COOKIE[‘名称’]
例:<?php
$name=“小东”;
Setcookie(“user”,$name);
?>
echo($_Cookie[‘user’].“欢迎光临本站”);
删除Cookie
语法:Setcookie(“Cookie名称”);
例:<?php
Setcookie(“user”);
?>
logout.php文件
<?php
setcookie("usercok");
header("location:index.php");
?>
index.php文件
if(!empty($_COOKIE['usercok']))
{
echo($_COOKIE['usercok']."你好!");
}
else
{
echo("你还没有登录");
}
PHP操作MySQL数据库
PHP操作MySQL数据库的步骤:
联接到数据库(Mysql_connect())
选择数据库(Mysql_select_db())
编写SQL语句(select、insert、update、delete)
执行SQL语句(Mysql_query())
联接数据库
语法:bool Mysql_connect(“主机名”,“账号”,“密码”)
例:mysql_connect(“localhost”,”root”,”123”);
选择数据库
语法:bool Mysql_select_db(“数据库名”)
例: Mysql_select_db(“messageboard”);
实例:
If(!mysql_connect(“localhost”,”root”,”123”))
{
echo(“联接数据库出错!”);
exit;
}
if(!mysql_select_db(“messageboard”))
{
echo(“选择数据库出错!”);
}
编写SQL语句
1、插入记录的SQL语句
Insert into 表名(字段列表) values(字段值)
注:字段的值除了数字型外,需要加单引号。
另:自递字段不用赋值。
实例制作(用户注册)
Register.php(用户填写信息并提交)-->Adduser.php(获取提
交数据,联接数据库,把数据添加到数据库)
获取上页表单提交过来的数据
$username=$_POST["username"];
$pwd=$_POST["userpwd"];
$repwd=$_POST["userrepwd"];
$email=$_POST["email"];
$userintr=$_POST["userintr"];
三、联接并选择数据库
If(!mysql_connect(“localhost”,”root”,”123”))
{
echo(“联接数据库出错!”);
exit;
}
if(!mysql_select_db(“messageboard”))
{
echo(“选择数据库出错!”);
}
一般的,把这段代码放到一个文件中,需要联接数据库时导入
读取查询结果
$selectSQL=“Select userid,username,useremail,userintro
from userinfo”;
$result=mysql_query($selectSQL);
While(List($id,$name,$email,$intro)=mysql_fetch_row($res
ult))
{
echo(“用户ID:”.$id.”|账号:”.$name.”|Email:”
.$email.”|简介:”.$intro);
}
实例制作:登录功能
分析:只要判断跟用户输入的账号与密码相同的记录存在即可。
代码:$selectSQL=“Select count(*) from userinfo where username=‘$name’ and userpwd=‘$pwd’”;
$result=mysql_query($selectSQL);
list($total)=mysql_fetch_row($result);
如果$total>0,表示存在这样的记录
否则,账号或密码不对