php 基礎(三) :php進行web開發


三、php進行web開發

1.Form表單

1) php 表單傳值

< form method="POST" action="login.php">
用戶名:<input type="text" name="user" size="10"><br/>
密 碼:<input type="text" name="pass" size="10"><br/>
          <input type="submit">
< /form>

login.php中的處理

<?php
$user=$_POST['user']; //如果是get請求$user=$_GET['user']; 
$pass=$_POST['pass'];

echo "您的用戶名:".$user;
echo "您的密碼:".$pass;
?>

也可以不用變量接收參數,變量$user和$pass在腳本 "login.php"中被自動創建,並且表單里用戶輸入的值也被賦給該變量

<?php 

echo "您的用戶名:".$user;
echo "您的密碼:".$pass;
?>

2)  利用$submit變量,在一個頁面進行登錄和提交后的處理

 < input type="submit" name="submit" value="提交">  為submit元素設置name屬性,這樣在提交時即可傳遞$submit變量 

 示例如下:

<?

if (!$submit)
{
    // 如果$submit不存在, 還沒有提交。因此顯示第一個頁面。
?>

< html>
< head>< /head>

< body>

< form method="GET" action="login.php"> 

用戶名:<input type="text" name="user" size="10"><br/>
密 碼:<input type="text" name="pass" size="10"><br/>
          <input type="submit" name="submit" value="登錄" />

< /form>
< /body>

< /html>

< ?
}
else
{

//處理登錄

?>

< html>
< head> < /head>

< body>

<?php 

echo "您的用戶名:".$user;
echo "您的密碼:".$pass;
?>

< /body>
< /html>

< ?
}
?>

2.發送文件和郵件

上傳文件: 表單中必須加上 enctype="multipart/form-data" 和 <input type="file" name="file">
服務端處理:

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

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

發郵件:使用mail()函數

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

 

3.使用Session

SESSION最多用的是站點內頁面間變量傳遞。在頁面開始要session_start();開啟SESSION;
賦值使用:$_SESSION['item']="item1";取值使用$item1=$_SESSION['item'];

示例:

登錄頁login.php中判斷用戶名密碼是否正確。

<form action="checklogin.php" method="post">

<input name="username" type="text" id="username">
<input name="password" type="password" id="password">
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="Submit2" value="Clear">

</form>

checklogin.php中處理
<?
require_once('conn.php');
session_start();

$exec="select * from user 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("mydatabase");
?>

由於 $_SESSION['adminname']=$username;我們可以這樣寫驗證是否登錄語句的文件:checkadmin.php
<?
session_start();//使用SESSION的時候注意不要遺漏session_start();

if($_SESSION['adminname']=='')
{
echo "<script>alert('Please Login First');location.href='login.php';</script>";
}
?>

 

4.數據分頁展示

用SQL語句中的limit來限定顯示的記錄從幾到幾。需要一個記錄當前頁的變量$page,還需要總共的記錄數$num。

對於$page如果沒有我們就讓它=1,如果有<1就讓它也=1,如果超過了總的頁數就讓他=總的頁數。

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

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

所以可以這么寫
if(empty($_GET['page']))
{
$page=1;
}
else
{
$page=$_GET['page'];
if($page<1)$page=1;
if($page>=ceil($num/10))

   $page=ceil($num/10);
}

這樣$exec可以這么寫 $exec="select * from tablename limit ".(($page-1)*10).",10";

最后做的幾個鏈接:
<a href="UserList.php?page=1">FirstPage</a>
<a href="UserList.php?page=<?=($page-1)?>">PrevPage</a>
<a href="UserList.php?page=<?=($page+1)?>">NextPage</a>
<a href="UserList.php?page=<?=ceil($num/10)?>">LastPage</a>

 

上一篇:php基礎(二):php操作Mysql

下一篇:php Mvc框架


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM