三、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" >
</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框架
|
请发表评论