3、php進行web開發php
1.Form表單html
1) php 表單傳值mysql
< 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>web
login.php中的處理sql
<?php
$user=$_POST['user']; //若是是get請求$user=$_GET['user'];
$pass=$_POST['pass'];數據庫
echo "您的用戶名:".$user;
echo "您的密碼:".$pass;
?>
session
也能夠不用變量接收參數,變量$user和$pass在腳本 "login.php"中被自動建立,而且表單裏用戶輸入的值也被賦給該變量框架
<?php 函數
echo "您的用戶名:".$user;
echo "您的密碼:".$pass;
?>post
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 Mvc框架