最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

十天學(xué)會(huì)php(3)

 更新時(shí)間:2006年10月09日 00:00:00   作者:  

第七天 學(xué)習(xí)目的:學(xué)會(huì)SESSION的使用

SESSION的作用很多,最多用的就是站點(diǎn)內(nèi)頁面間變量傳遞。在頁面開始我們要session_start();開啟SESSION;
然后就可以使用SESSION變量了,比如說要賦值就是:$_SESSION['item']="item1";要得到值就是$item1=$_SESSION['item'];,很簡(jiǎn)單吧。這里我們可能會(huì)使用到一些函數(shù),比如說判斷是不是某SESSION變量為空,可以這么寫:empty($_SESSION['inum'])返回true or false。

下面綜合一下前面所說的我們來看一個(gè)登陸程序,判斷用戶名密碼是否正確。
登陸表單是這樣:login.php
<table width="100%" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<form action="checklogin.php" method="post"><td align="center" valign="middle"><table width="400" border="0" cellpadding="5" cellspacing="1" class="tablebg">
<tr class="tdbg">
<td colspan="2"><div align="center">Administrators Login</div></td>
</tr>
<tr class="tdbg">
<td><div align="center">Username</div></td>
<td><div align="center">
<input name="username" type="text" id="username">
</div></td>
</tr>
<tr class="tdbg">
<td><div align="center">Password</div></td>
<td><div align="center">
<input name="password" type="password" id="password">
</div></td>
</tr>
<tr class="tdbg">
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="Submit2" value="Clear">
</div></td>
</tr>
</table></td></form>
</tr>
</table>

處理文件是這樣
<?
require_once('conn.php');
session_start();
$username=$_POST['username'];
$password=$_POST['password'];
$exec="select * from admin where username='".$username."'";
if($result=mysql_query($exec))
{
  if($rs=mysql_fetch_object($result))
  {
    if($rs->password==$password)
    {
      $_SESSION['adminname']=$username;
      header("location:index.php");
    }
    else
    {
      echo "<script>alert('Password Check Error!');location.href='login.php';</script>";
    }
  }
  else
  {
  echo "<script>alert('Username Check Error!');location.href='login.php';</script>";
  }
  }
else
{
echo "<script>alert('Database Connection Error!');location.href='login.php';</script>";
} ?>

conn.php是這樣:
<?
$conn=mysql_connect ("127.0.0.1", "", "");
mysql_select_db("shop");
?>

由于 $_SESSION['adminname']=$username;我們可以這樣寫驗(yàn)證是否登陸語句的文件:checkadmin.asp
<?
session_start();
if($_SESSION['adminname']=='')
{
echo "<script>alert('Please Login First');location.href='login.php';</script>";
}
?>

呵呵,今天說到這里,明天說一下怎么弄一個(gè)分頁。 第八天 學(xué)習(xí)目的:做一個(gè)分頁顯示

關(guān)鍵就是用到了SQL語句中的limit來限定顯示的記錄從幾到幾。我們需要一個(gè)記錄當(dāng)前頁的變量$page,還需要總共的記錄數(shù)$num

對(duì)于$page如果沒有我們就讓它=0,如果有<0就讓它也=0,如果超過了總的頁數(shù)就讓他=總的頁數(shù)。

$execc="select count(*) from tablename ";
$resultc=mysql_query($execc);
$rsc=mysql_fetch_array($resultc);
$num=$rsc[0];

這樣可以得到記錄總數(shù)
ceil($num/10))如果一頁10記錄的話,這個(gè)就是總的頁數(shù)

所以可以這么寫
if(empty($_GET['page']))
{
$page=0;
}
else
{
$page=$_GET['page'];
if($page<0)$page=0;
if($page>=ceil($num/10))$page=ceil($num/10)-1;//因?yàn)閜age是從0開始的,所以要-1
}

這樣$exec可以這么寫 $exec="select * from tablename limit ".($page*10).",10";
//一頁是10記錄的

最后我們需要做的就是幾個(gè)連接:
<a href="xxx.php?page=0">FirstPage</a>
<a href="xxx.php?page=<?=($page-1)?>">PrevPage</a>
<a href="xxx.php?page=<?=($page+1)?>">NextPage</a>
<a href="xxx.php?page=<?=ceil($num/10)-1?>">LastPage</a>

這是一個(gè)大致的思路,大家可以想想怎么來優(yōu)化?今天說到這里,明天說一下一些注意的問題。
第九天 學(xué)習(xí)目的:注意事項(xiàng)

因?yàn)槲沂窍葘W(xué)ASP的,所以再做PHP的時(shí)候會(huì)發(fā)現(xiàn)很多地方需要適應(yīng)。

1、注意不要漏了分號(hào)
2、注意不要漏了變量前的$
3、使用SESSION的時(shí)候注意不要遺漏session_start();

如果發(fā)生錯(cuò)誤的時(shí)候,可以采用以下方法:
1、如果是SQL語句出錯(cuò),就注釋了然后輸出SQL語句,注意也要注釋調(diào)后續(xù)的執(zhí)行SQL語句
2、如果是變量為空,大多是沒有傳遞到位,輸出變量檢查一下,檢查一下表單的id和name
3、如果是數(shù)據(jù)庫連接出錯(cuò),檢查是否正確打開MY SQL和是否遺漏了連接語句
4、注意縮進(jìn),排除括號(hào)不區(qū)配的錯(cuò)誤

在做大網(wǎng)站的時(shí)候,我的思路是先構(gòu)建數(shù)據(jù)庫,確定每一個(gè)字段的作用,和表之間的關(guān)系。然后設(shè)計(jì)后臺(tái)界面,從添加數(shù)據(jù)開始做起,因?yàn)樘砑邮欠癯晒梢灾苯拥綌?shù)據(jù)庫里面驗(yàn)證,做好了添加再做顯示的頁面,最后才是兩者的結(jié)合。一般來說后臺(tái)就包括添加刪除修改和顯示,后臺(tái)沒有問題了,前臺(tái)也沒有什么大問題。前臺(tái)還需要注意安全性和容錯(cuò)還有就是輸出格式。

好了,今天說到這里,明天說一下如果用PHP上傳文件和發(fā)郵件。
第十天 學(xué)習(xí)目的:學(xué)會(huì)用PHP上傳文件和發(fā)郵件

上傳文件表單必須加上 enctype="multipart/form-data"
和 <input type="file" name="file">
下面看一下代碼:

$f=&$HTTP_POST_FILES['file'];
$dest_dir='uploads';//設(shè)定上傳目錄
$dest=$dest_dir.'/'.date("ymd")."_".$f['name'];//我這里設(shè)置文件名為日期加上文件名避免重復(fù)
$r=move_uploaded_file($f['tmp_name'],$dest);
chmod($dest, 0755);//設(shè)定上傳的文件的屬性

上傳的文件名為date("ymd")."_".$f['name'] ,可以在以后插入到數(shù)據(jù)庫的時(shí)候用到,PHP實(shí)際上是把你上傳的文件從臨時(shí)目錄移動(dòng)到指定目錄。move_uploaded_file($f['tmp_name'],$dest);這是關(guān)鍵

至于發(fā)郵件就更加簡(jiǎn)單,可以使用mail()函數(shù)

mail("收件人地址","主題","正文","From:發(fā)件人\r\nReply-to:發(fā)件人的地址");

不過mail()需要服務(wù)器的支持,在WINDOWS下還需要配置SMTP服務(wù)器,一般來說外面的LINUX空間都行。
好像上傳文件和發(fā)郵件比ASP簡(jiǎn)單很多,只要調(diào)用函數(shù)就可以了。ASP還需要用到服務(wù)器的不同組件比如FSO、JMAIL什么的。

十天學(xué)會(huì)PHP說到這里了,我的三大系列文章都用《十天學(xué)會(huì)》作為名字,想告訴大家的是ASP,PHP,ASP.NET入門都可以是十天,但是精通決不是十天啊,還需要大家自己去研究。
學(xué)習(xí)目的:學(xué)會(huì)用PHP上傳文件和發(fā)郵件

上傳文件表單必須加上 enctype="multipart/form-data"
和 <input type="file" name="file">
下面看一下代碼:

$f=&$HTTP_POST_FILES['file'];
$dest_dir='uploads';//設(shè)定上傳目錄
$dest=$dest_dir.'/'.date("ymd")."_".$f['name'];//我這里設(shè)置文件名為日期加上文件名避免重復(fù)
$r=move_uploaded_file($f['tmp_name'],$dest);
chmod($dest, 0755);//設(shè)定上傳的文件的屬性

上傳的文件名為date("ymd")."_".$f['name'] ,可以在以后插入到數(shù)據(jù)庫的時(shí)候用到,PHP實(shí)際上是把你上傳的文件從臨時(shí)目錄移動(dòng)到指定目錄。move_uploaded_file($f['tmp_name'],$dest);這是關(guān)鍵

至于發(fā)郵件就更加簡(jiǎn)單,可以使用mail()函數(shù)

mail("收件人地址","主題","正文","From:發(fā)件人\r\nReply-to:發(fā)件人的地址");

不過mail()需要服務(wù)器的支持,在WINDOWS下還需要配置SMTP服務(wù)器,一般來說外面的LINUX空間都行。
好像上傳文件和發(fā)郵件比ASP簡(jiǎn)單很多,只要調(diào)用函數(shù)就可以了。ASP還需要用到服務(wù)器的不同組件比如FSO、JMAIL什么的。

十天學(xué)會(huì)PHP說到這里了,我的三大系列文章都用《十天學(xué)會(huì)》作為名字,想告訴大家的是ASP,PHP,ASP.NET入門都可以是十天,但是精通決不是十天啊,還需要大家自己去研究。

相關(guān)文章

  • 使用PHPRPC實(shí)現(xiàn)Ajax安全登錄

    使用PHPRPC實(shí)現(xiàn)Ajax安全登錄

    PHPRPC 是一個(gè)輕型的、安全的、跨網(wǎng)際的、跨語言的、跨平臺(tái)的、跨環(huán)境的、跨域的、支持復(fù)雜對(duì)象傳輸?shù)?、支持引用參?shù)傳遞的、支持內(nèi)容輸出重定向的、支持分級(jí)錯(cuò)誤處理的、支持會(huì)話的、面向服務(wù)的高性能遠(yuǎn)程過程調(diào)用協(xié)議。
    2011-10-10
  • PHP企業(yè)級(jí)應(yīng)用之常見緩存技術(shù)篇

    PHP企業(yè)級(jí)應(yīng)用之常見緩存技術(shù)篇

    用的最廣的例子看Discuz的搜索功能,把結(jié)果ID緩存到一個(gè)表中,下次搜索相同關(guān)鍵字時(shí)先搜索緩存表。
    2011-01-01
  • 一個(gè)odbc連mssql分頁的類

    一個(gè)odbc連mssql分頁的類

    一個(gè)odbc連mssql分頁的類...
    2006-10-10
  • PHP PDOStatement::rowCount講解

    PHP PDOStatement::rowCount講解

    今天小編就為大家分享一篇關(guān)于PHP PDOStatement::rowCount講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • php&java(一)

    php&java(一)

    php&java(一)...
    2006-10-10
  • 第1次親密接觸PHP5(2)

    第1次親密接觸PHP5(2)

    第1次親密接觸PHP5(2)...
    2006-10-10
  • 在Zeus Web Server中安裝PHP語言支持

    在Zeus Web Server中安裝PHP語言支持

    在Zeus Web Server中安裝PHP語言支持...
    2006-10-10
  • PHP的PDO錯(cuò)誤與錯(cuò)誤處理

    PHP的PDO錯(cuò)誤與錯(cuò)誤處理

    今天小編就為大家分享一篇關(guān)于PHP的PDO錯(cuò)誤與錯(cuò)誤處理,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • php的array_multisort()使用方法介紹

    php的array_multisort()使用方法介紹

    這段時(shí)間做數(shù)據(jù)統(tǒng)計(jì),產(chǎn)品那邊要求數(shù)據(jù)能按高到低排序,想了很多方法,都不行。最后找到PHP的array_multisort()方法。雖然實(shí)現(xiàn)了效果,但對(duì)這個(gè)方法還是半董半董
    2012-05-05
  • PHP模擬SQL Server的兩個(gè)日期處理函數(shù)

    PHP模擬SQL Server的兩個(gè)日期處理函數(shù)

    PHP模擬SQL Server的兩個(gè)日期處理函數(shù)...
    2006-10-10

最新評(píng)論

陇南市| 江油市| 利川市| 宣化县| 屏边| 肃南| 曲水县| 云南省| 大埔县| 定襄县| 芮城县| 肇庆市| 宜川县| 铁力市| 错那县| 闵行区| 和静县| 新郑市| 手游| 阳新县| 东莞市| 开江县| 吉木乃县| 奉贤区| 徐汇区| 浦北县| 武宣县| 宕昌县| 容城县| 泽库县| 四川省| 阿拉善右旗| 赫章县| 拉孜县| 潮州市| 郎溪县| 南部县| 雅江县| 南汇区| 临沧市| 廊坊市|