PHP的主要基础

PHP如何获取所提交来的数据?  
根据表单中的method的值进行获取数据:
如果method=“get”那么采用$_GET[“elementname”]
如果method=“post”那么采用$_POST[“elementame”]
 
通过设置表单的action属性来指定表单所要提交的文件?
例:<form name=“userform” action=“show.php”method=“post”>
用户名:<input type=“text” name=“username”><br>
<input name="提交" type="submit">
</form>
其中action=“show.php”指定了表单所要提交数据的文件
 
Show.php文件中如何获取所提交来的数据?
根据表单中的method的值进行获取数据:
如果method=“get”那么采用$_GET[“username”]
如果method=“post”那么采用$_POST[“username”]
 
跳出循环的语句
结束PHP脚本的执行
例:<?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[0]=“john”;
    $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
?>
例2: $members=array(“john”,“david”,“bob”);
     $num_elements=count($members);
    for($i=0;$i<$num_elements;$i++)
   { echo($members[$i].“<br>”);
  }
 
采用foreach遍历数组
语法:foreach($ArrayName as $value)
或者foreach($ArrayName as $key=>$value)
该语句自动按顺序访问数组中的每个元素。
(注:$ArrayName为数组,$key为数组的下标,$value为数组元素的值)
 
例:有下面的数组,采用foreach遍历。
        $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特殊字符为预定义字符
&amp;表示&(and)
&quot;表示双引号(“)
&#039;表示单引号(‘)
&lt;表示小于号(<)
&gt;表示大于号(>)
例:先对特殊字符进行处理后再添加到数据库中
$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,表示存在这样的记录
      否则,账号或密码不对

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值