• 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:发件人 Reply-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框架

  • 相关阅读:
    django--orm---006
    django--orm---005
    django--orm---004
    django--orm---003
    jmeter连接数据库
    django--view---001
    django--orm---002
    django--model--orm001-- 增删改查
    java并发编程
    jvm
  • 原文地址:https://www.cnblogs.com/Extreme/p/3576860.html
Copyright © 2020-2023  润新知