zoukankan      html  css  js  c++  java
  • php基础系列:从用户登录处理程序学习mysql扩展基本操作

    用户注册和登录是网站开发最基本的功能模块之一,现在通过登录处理程序代码来学些下php对mysql的基本操作。
    本身没有难点,主要是作为开发人员,应该能做到手写这些基本代码,算是自己加强记忆,同时希望能给初学者一些参考借鉴。
    php连接MySQL数据库服务器的时候,有三种主要的API可供选择:
    PHP的MySQL扩展
    PHP的mysqli扩展
    PHP数据对象(PDO) 

    <?php

    //接收用户登录窗口输入数据
    $username = $_POST['username'];
    $password = $_POST['password'];

    //连接数据库
    $conn = mysql_connect('dbip','dbuser','dbpassword');
    if(!$conn){
    dir('连接失败'.mysql_errno());
    }
    //设置访问库编码方式
    mysql_query("set names utf8",$conn) or dir(设置编码失败'.mysql_errno());
    //选择数据库
    mysql_select_db("dbname",$conn) or dir('选择数据库失败'.mysql_errno());

    //发送sql语句,注意预防sql注入
    $sql = "select  password,nickname from tb_user where username='$username'";
    $res = mysql_query($sql,$conn);

    //如果有数据
    if($row = mysql_fetch_assoc($res)){
    //判断密码
    if($password == md5($row['password'])){
    //合法用户

    $nickname = $row['nickname'];
    header("Location:success.php?nickname=$nickname");
    exit();


    }

    //用户或者密码错误
    //现在的网站不再具体提示用户是用户名错还是密码错,避免黑客有针对性破解密码
    header("Location:failed.php");
    exit();

    //还需考虑关闭资源和连接,注意安排代码位置
    //mysql_free_result($res);
    //mysql_close($conn);

    ?>

    其它知识:
    如果是列表页,显示多条记录

    if($row = mysql_fetch_assoc($res))相应修改为 while($row = mysql_fetch_assoc($res))  。




  • 相关阅读:
    SqlServer数据库同步方案详解(包括跨网段)
    makefile 和shell文件相互调用
    处理百万级以上的数据处理
    makefile Template(添加多个lib)
    Linux下如何删除非空目录
    makefile Template
    g++ 编译和链接
    gcc include路径
    C++ XML解析之TinyXML篇
    利用Lucene.net搭建站内搜索(2)分词技术
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3424064.html
Copyright © 2011-2022 走看看