PHP+MYSQL会员系统的登陆即权限判断
先来看配置文件
代码如下 | 复制代码 |
<?php教程 //启动session session_start(); //数据库教程连接 $conn=mysql教程_connect('localhost','root','******'); mysql_select_db('test',$conn); //定义常量 define("ALL_PS","php100"); //判断权限函数 function user_shell($uid,$shell){ $sql="SELECT * FROM `user_list` WHERE `uid` = '$uid'"; $query=mysql_query($sql); $exist=is_array($row=mysql_fetch_array($query)); $exist2=$exist?$shell==md5($row['username'].$row['password'].ALL_PS):FALSE; if($exist2){ return $row; }else{ echo "你无权限访问该页"; exit(); } } ?> |
登录页面
代码如下 | 复制代码 |
<? include("config.php"); if($_POST['submit']){ $username=str_replace(" ","",$_POST['username']); //去除空格 $sql="SELECT * FROM `user_list` WHERE `username` = '$username'"; $query=mysql_query($sql); $exist=is_array($row=mysql_fetch_array($query)); //判断是否存在这样一个用户 $exist2=$exist?md5($_POST['password'].ALL_PS)==$row['password']:FALSE;//判断密码 if($exist2){ $_SESSION['uid']=$row['uid']; // session赋值 $_SESSION['user_shell']=md5($row['username'].$row['password'].ALL_PS); echo "登陆成功"; }else{ echo "不正确的用户名"; SESSION_DESTROY(); } } ?> <form action="" method="post"> 用户名:<input type="text" name="username" /><br> 密码:<input type="password" name="password"/><br> 验证码:<input type="code" name="code" size="10"/> <img src="imgcode.php"><br><br> <input type="submit" name="submit" value="登陆"/> </form> <a href="http://127.0.0.1/test/denglu_link.php">denglu_link</a> |
权限判断页面
代码如下 | 复制代码 |
<? include("config.php"); $arr=user_shell($_SESSION['uid'],$_SESSION['user_shell']);//以上两句即可对权限进行判断 echo $arr['username']; ?> |
权限内容
以前我们都是利用phpmyadmin或在dos下进行.sql文件的导入,今天我们来看看在php下同样可以实现把.sql文件导入到mysql数据库中哦。代码如下 | 复制代码 |
<?php $conn=mysql_connect(“localhost”,”root”,”password”);//指定数据库连接参数function mysql_import($file,$database)// 导入的函数,参数为SQL文件路径和导入的库名。 { mysql_select_db($database); mysql_query(“source ‘”.$file.”‘;”); echo “导入”.$file.”文件到”.$database.”数据库完毕”; } mysql_close($conn); ?> |
面向对象的方式
先看看如果连接错误等的处理,PHP中PDO的错误处理,使用面向对象的方式来处理:
<?php教程
try {
$db = new PDO('mysql教程:host=localhost;dbname=test', $user, $pass);
$db = null;
} catch (PDOException $e) {
print "Error: " . $e->getMessage() . "<br/>";
die();
}
?>
这里利用我们PHP 5面向对象的异常处理特征,如果里面有异常的话就初始化调用PDOException来初始化一个异常类。
PDOException异常类的属性结构:
<?php
class PDOException extends Exception
{
public $errorInfo = null; // 错误信息,可以调用 PDO::errorInfo() 或 PDOStatement::errorInfo()来访问
protected $message; // 异常信息,可以试用 Exception::getMessage() 来访问
protected $code; // SQL状态错误代码,可以使用 Exception::getCode() 来访问
}
?>
这个异常处理类是集成PHP 5内置的异常处理类,我们简单的看一下PHP 5内置的异常处理类结构:
<?php
class Exception
{
// 属性
protected $message = 'Unknown exception'; // 异常信息
protected $code = 0; // 用户自定义异常代码
protected $file; // 发生异常的文件名
protected $line; // 发生异常的代码行号
// 方法
final function getMessage(); // 返回异常信息
final function getCode(); // 返回异常代码
final function getFile(); // 返回发生异常的文件名
final function getLine(); // 返回发生异常的代码行号
final function getTrace(); // backtrace() 数组
final function getTraceAsString(); // 已格成化成字符串的 getTrace() 信息
}
?>
相应的,在代码中可以合适的调用 getFile() 和 getLine() 来进行错误定位,更方便的进行调试。
使用面向过程的方法
先看代码:
<?
$db = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$rs = $db->query("SELECT aa,bb,cc FROM foo");
if ($db->errorCode() != '00000'){
print_r($db->errorInfo());
exit;
}
$arr = $rs->fetchAll();
print_r($arr);
$db = null;
?>
PDO和PDOStatement对象有errorCode() 和 errorInfo() 方法,如果没有任何错误, errorCode() 返回的是: 00000 ,否则就会返回一些错误代码。errorInfo() 返回的一个数组,包括PHP定义的错误代码和MySQL的错误代码和错误信息,数组结构如下:
Array
(
[0] => 42S22
[1] => 1054
[2] => Unknown column 'aaa' in 'field list'
)
每次执行查询以后,errorCode() 的结果都是最新的,所以我们可以很容易自己控制错误信息显示
为了让自己的数据类能够做到最大化的重用,就写个能够重用的PDO操作MySql的类:
由于pdo可以连接现在流行的各种数据库教程,所以单独的写个配置类类来完成不同数据库DSN的配置
<?php教程
/**
* 类标准说明 PDO连接数据库的配置类
* 类名: ConfigDataBase
* 功能说明: 为了让代码重用,利用此类可以动态的连接各种数据库
* 参数说明: $_dbms = "mysql教程"; //数据库类型
* $_host = '127.0.0.1'; //数据库ip地址
* $_port = '3306'; //数据库端口
* $_username = 'root'; //数据库用户名
* $_password = 'liujijun'; //密码
* $_dbname = 'zendf'; //数据库名 默认为zenf
* $_charset = 'utf-8'; //数据库字符编码
* $_dsn;// //data soruce name 数据源
*
*
* 类属性说明:
* 类方法说明:
* 返回值: 不同函数返回不同的值
* 备注说明:
* 作者: 刘纪君
* 最后一次修改时间: 2011下午02:01:39
*
*/
class ConfigDataBase {
protected static $_dbms = "mysql"; //数据库类型
protected static $_host = '127.0.0.1'; //数据库ip地址
protected static $_port = '3306'; //数据库端口
protected static $_username = 'root'; //数据库用户名
protected static $_password = 'liujijun'; //密码
protected static $_dbname = 'zendf'; //数据库名 默认为zenf
protected static $_charset = 'utf-8'; //数据库字符编码
protected static $_dsn;// //data soruce name 数据源
/**
*@return 返回数据源名
*/
public static function getDsn() {
//将变量的值组合成 mysql:host=localhost;port =3306;dbname=test',$login,$passwd的形式
if (!isset(self::$_dsn)){
self::$_dsn = self::$_dbms.':host = '.self::$_host.';prot = '.
self::$_port . ';dbname = ' . self::$_dbname.','.
self::$_username . ','.self::$_password;
if (strlen(self::$_charset) > 0){
self::$_dsn = self::$_dsn . ';charset = ' . self::$_charset;
}
}
return self::$_dsn;//返回数据源名
}
/**
* 功能:设置$dbms
* @param $dbms
*/
public static function setDbms($dbms){
if (isset($dbms) &&(strlen($dbms) > 0 )){
self::$_dbms = trim($dbms);
}
}
/**
*
* @param $host //数据库地址
*/
public static function setHost($host){
if (isset($host) &&(strlen($host) > 0 )){
self::$_host = trim($host);
}
}/**
*
* @param $host 端口号
*/
public static function setPort($port){
if (isset($port) &&(strlen($port) > 0 )){
self::$_post = trim($port);
}
}
/**
*
* @param $passwd 密码
*/
public static function setPasswd($passwd){
if (isset($passwd) &&(strlen($passwd) > 0 )){
self::$_password = trim($passwd);
}
}
/**
*
* @param $username 用户名
*/
public static function setUsernName($username){
if (isset($username) &&(strlen($username) > 0 )){
self::$_username = trim($username);
}
}
/**
*
* @param $dbname 数据库名
*/
public static function setDbName($dbname){
if (isset($dbname) &&(strlen($dbname) > 0 )){
self::$_dbname = trim($dbname);
}
}
/**
*
* @param $charset 数据库编码
*/
public static function setCharset($charset){
if (isset($charset) &&(strlen($charset) > 0 )){
self::$_charset = trim($charset);
}
}
}下面是对数据库的操作:
<?php
require_once 'ConfigDataBase.php';
header("Content-Type: text/html; charset=utf-8");//设置编码
/**
* 类标准说明
* 类名: PdoMysql
* 功能说明: 对数据库进行各种操作
* 参数说明:
* 类属性说明:
* 类方法说明:
* 返回值:
* 备注说明:
* 作者: 刘纪君
* 最后一次修改时间: 2011上午10:45:36
*
*/
class PdoMysqlOperater{
/**
* @return 返回连接数据库的句柄
*/
public function getConnection(){
$connection = NULL;
try {
$connection = new PDO(ConfigDataBase::getDsn());
echo 'Success';
} catch (PDOException $e) {
print "Error in connection :".$e->getMessage().' '.die();
}
return $connection;
}
/**
*
* @param $connection 连接数据库的句柄
*/
public function closeConnection($connection){
try {
if ($connection != null) {
$connection = null;//关闭数据库连接句柄
}
} catch (Exception $e) {
print 'Close the connectin is error:'.$e->getMessage();
}
}
/**
* 功能: 向数据库中增加数据
* @param $sql sql语句
*/
public function insertDatabase($sql){
$affect = false;//失败返回false
try {
$conn = $this->getConnection();
$conn->exec($sql);
$affect = true;//插入成功返回true
$this->closeConnection($conn);//关闭数据库
} catch (PDOException $e) {
print 'Insert error '.$e->getMessage();
}
return $affect;//返回值
}
/**
*
* @param $id 表的主键id
* @param $tableName 表名
*/
public function deleltById($id,$tableName){
$affact = false;
$sql = 'delete from '.trim($tableName).' where id = '.$id;
try {
$conn = $this->getConnection();
$conn->exec($sql);
$this->closeConnection($conn);
$affact = true;
} catch (PDOException $e) {
print 'Delelte error is '.$e->getMessage();
}
return $affact;
}
/**
* 功能: 以and 的形式删除记录
* @param $tableName 表的名称
* @param $array 数组表中字段名=其值的方式进行组合
*/
public function prepareDeleteAnd($tableName,array $array=null){
$sql = 'delete from '. $tableName . ' where ';
$count = count($array);//计算数组的长度
$flag = 0;//设置标记foreach ($array as $key => $value){
$flag++;//让flag增加一
$sql .= $key .'='."'".$value."'";
if ($flag != $count ){//当falg不等于count时,数组还有值,后面增加and,反之不增加
$sql .= ' and ';
}
}
echo $sql;//测试sql语句的组合
try {
$conn = $this->getConnection();//获取连接
$conn->prepare($sql);
$this->closeConnection();
} catch (PDOException $e) {
print 'Delete error is '.$e->getMessage();
}
}
/**
* 功能: 以or 的形式删除记录
* @param $tableName 表的名称
* @param $array 数组表中字段名=其值的方式进行组合
*/
public function prepareDeleteOr($tableName,array $array=null){
$sql = 'delete from '. $tableName . ' where ';
$count = count($array);//计算数组的长度
$flag = 0;//设置标记foreach ($array as $key => $value){
$flag++;//让flag增加一
$sql .= $key .'='."'".$value."'";
if ($flag != $count ){//当falg不等于count时,数组还有值,后面增加and,反之不增加
$sql .= ' or ';
}
}
echo $sql;//测试sql语句的组合
try {
$conn = $this->getConnection();//获取连接
$stmt = $conn->prepare($sql);
$stmt->execute();//执行
$this->closeConnection();
} catch (PDOException $e) {
print 'Delete error is '.$e->getMessage();
}
}
/**
* 功能: 取得表中所有数据
* @param $sql sql语句
*/
public function getAll($sql){
$result = null;
try {
$conn = $this->getConnection();
$result = $conn->query($sql);
$this->closeConnection($conn);
} catch (PDOException $e) {
print 'GetAll error is '.$e->getMessage();
}
}
/**
* 功能:更新数据表中的信息
* @param $table 要更新的表名
* @param array $updateFiled 要更新的字段
* @param array $updateConditon 更新需要的条件
*/
public function updateDataBase($table,array $updateFiled,array $updateConditon ){
$sql = 'update from ' .$table .' set ';
//对set字段进行赋值操作
$count = count($updateFiled);//获取要修改数组的长度
$flag = 0;//设置标记为0
foreach ($updateFiled as $key => $value){
$flag++;
$sql .= $key .'='."'".$value."'";
if ($flag != $count){
$sql .=',';
}
}
//对where条件进行赋值
$countUpdateCondition = count($updateConditon);//获取要修改数组的长度
$flag = 0;//设置标记为0
$sql .= ' where ';
foreach ($updateConditon as $key => $value){
$flag++;
$sql .= $key .'='."'".$value."'";
if ($flag != $countUpdateCondition){
$sql .=' and ';
}
}
try {
$conn = $this->getConnection();
$conn->exec($sql);
$this->closeConnection($conn);
} catch (PDOException $e) {
print 'Update error is :'.$e->getMessage();
}
}
/**
* 功能: 根据表和提高的查询条件进行查询
* 返回值: 返回结果集
* @param $table 数据表名
* @param array $findCondition 查询条件
*/
public function findData($table,array $findCondition){
$sql = 'select from '.$table .' where ';
$count = count($findCondition);//获取查询条件数组的长度
$flag = 0;//设置标记为0
foreach ($findCondition as $key => $value){
$flag++;
$sql .= $key .'='."'".$value."'";
if ($flag != $count){
$sql .=' and ';
}
}
try {
$conn = $this->getConnection();
$conn->exec($sql);
$this->closeConnection($conn);
} catch (PDOException $e) {
print 'find error is :'.$e->getMessage();
}
}
}
//测试$db = new PdoMysqlOperater();
$db->findData('liujijun',array('name'=>'liujijun','name1'=>'liujijun'));
pdo操作数据库教程入门教程
我们开始构造第一个PDO应用,建立一个pdo.php教程文件在Web文档目录下:
PDO功能确实强大,另外还有一些内容我没有讲到,比如绑定参数、预处理、存储过程、事务处理等等功能。另外还有不同数据扩 DSN的构造,Oracle数据库自己很多特殊的东西,都需要深入去学习理解,这篇文章就只是简单的描述了一些入门知识,算是对PDO一个简单的了解吧
<?php
$dsn = "mysql教程:host=localhost;dbname=test";
$db = new PDO($dsn, 'root', '');
$count = $db->exec("INSERT INTO foo SET name = 'heiyeluren',gender='男',time=NOW()");
echo $count;
$db = null;
?>
不明白啥意思,俺们来慢慢讲讲。这行:
$dsn = "mysql:host=localhost;dbname=test";
就是构造我们的DSN(数据源),看看里面的信息包括:数据库类型是mysql,主机地址是localhost,数据库名称是test,就这么几个信息。不同数据库的数据源构造方式是不一样的。
$db = new PDO($dsn, 'root', '');
初始化一个PDO对象,构造函数的参数第一个就是我们的数据源,第二个是连接数据库服务器的用户,第三个参数是密码。我们不能保证连接成功,后面我们会讲到异常情况,这里我们姑且认为它是连接成功的。
$count = $db->exec("INSERT INTO foo SET name = 'heiyeluren',gender='男',time=NOW()");
echo $count;
调用我们连接成功的PDO对象来执行一个查询,这个查询是一个插入一条记录的操作,使用PDO::exec() 方法会返回一个影响记录的结果,所以我们输出这个结果。最后还是需要结束对象资源:
$db = null;
默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:
$db = new PDO($dsn, 'root', '', array(PDO::ATTR_PERSISTENT => true));
一次操作就这么简单,也许跟以前的没有太大区别,跟ADOdb倒是有几分相似。
继续了解】
如果我们想提取数据的话,那么就应该使用数据获取功能。(下面用到的$db都是上面已经连接好的对象)
<?php
foreach($db->query("SELECT * FROM foo")){
print_r($row);
}
?>
我们也可以使用这种获取方式:
<?php
$rs = $db->query("SELECT * FROM foo");
while($row = $rs->fetch()){
print_r($row);
}
?>
如果想一次把数据都获取到数组里可以这样:
<?php
$rs = $db->query("SELECT * FROM foo");
$result_arr = $rs->fetchAll();
print_r($result_arr);
?>
Array
([0] => Array(
[id] => 1
[0] => 1
[name] => heiyeluren
[1] => heiyeluren
[gender] => 男
[2] => 男
[time] => 2006-10-28 23:14:23
[3] => 2006-10-28 23:14:23
)
}
我们看里面的记录,数字索引和关联索引都有,浪费资源,我们只需要关联索引的:
<?php
$db->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
$rs = $db->query("SELECT * FROM foo");
$rs->setFetchMode(PDO::FETCH_ASSOC);
$result_arr = $rs->fetchAll();
print_r($result_arr);
?>
看上面的代码,setAttribute() 方法是设置部分属性,主要属性有:PDO::ATTR_CASE、PDO::ATTR_ERRMODE等等,我们这里需要设置的是 PDO::ATTR_CASE,就是我们使用关联索引获取数据集的时候,关联索引是大写还是小写,有几个选择:
PDO::CASE_LOWER -- 强制列名是小写
PDO::CASE_NATURAL -- 列名按照原始的方式
PDO::CASE_UPPER -- 强制列名为大写
我们使用setFetchMode方法来设置获取结果集的返回值的类型,同样类型还有:
PDO::FETCH_ASSOC -- 关联数组形式
PDO::FETCH_NUM -- 数字索引数组形式
PDO::FETCH_BOTH -- 两者数组形式都有,这是缺省的
PDO::FETCH_OBJ -- 按照对象的形式,类似于以前的 mysql_fetch_object()
当然,一般情况下我们是使用PDO::FETCH_ASSOC,具体使用什么,按照你自己的需要,其他获取类型参考手册。
除了上面这种获取数据的方式,还有这种:
<?php
$rs = $db->prepare("SELECT * FROM foo");
$rs->execute();
while($row = $rs->fetch()){
print_r($row);
}
?>
其实差不多啦。如果你想获取指定记录里一个字段结果的话,可以使用 PDOStatement::fetchColumn():
<?php
$rs = $db->query("SELECT COUNT(*) FROM foo");
$col = $rs->fetchColumn();
echo $col;
?>
一般使用fetchColumn()来进行count统计或者某些只需要单字段的记录很好操作。
简单的总结一下上面的操作:
查询操作主要是PDO::query()、PDO::exec()、PDO::prepare()。PDO::query()主要是用于有记录结果返回的操作,特别是SELECT操作,PDO::exec()主要是针对没有结果集合返回的操作,比如INSERT、UPDATE、DELETE等操作,它返回的结果是当前操作影响的列数。PDO::prepare()主要是预处理操作,需要通过$rs->execute()来执行预处理里面的SQL语句,这个方法可以绑定参数,功能比较强大,不是本文能够简单说明白的,大家可以参考手册和其他文档。 获取结果集操作主要是:PDOStatement::fetchColumn()、PDOStatement::fetch()、 PDOStatement::fetchALL()。PDOStatement::fetchColumn() 是获取结果指定第一条记录的某个字段,缺省是第一个字段。PDOStatement::fetch() 是用来获取一条记录,PDOStatement::fetchAll()是获取所有记录集到一个中,获取结果可以通过 PDOStatement::setFetchMode来设置需要结果集合的类型。
另外有两个周边的操作,一个是PDO::lastInsertId()和PDOStatement::rowCount()。 PDO::lastInsertId()是返回上次插入操作,主键列类型是自增的最后的自增ID。PDOStatement::rowCount()主要是用于PDO::query()和PDO::prepare()进行DELETE、INSERT、UPDATE操作影响的结果集,对 PDO::exec()方法和SELECT操作无效。
【错误处理】
如果程序中碰到错误咋办?我们这里描述PDO类的错误信息和异常处理。
1. 面向对象的方式
先看看如果连接错误等的处理,使用面向对象的方式来处理:
<?php
try {
$db = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$db = null;
} catch (PDOException $e) {
print "Error: " . $e->getMessage() . "<br/>";
die();
}
?>
这里利用我们PHP 5面向对象的异常处理特征,如果里面有异常的话就初始化调用PDOException来初始化一个异常类。
PDOException异常类的属性结构:
<?php
class PDOException extends Exception
{
public $errorInfo = null; // 错误信息,可以调用 PDO::errorInfo() 或 PDOStatement::errorInfo()来访问
protected $message; // 异常信息,可以试用 Exception::getMessage() 来访问
protected $code; // SQL状态错误代码,可以使用 Exception::getCode() 来访问
}
?>
这个异常处理类是集成PHP 5内置的异常处理类,我们简单的看一下PHP 5内置的异常处理类结构:
<?php
class Exception
{
// 属性
protected $message = 'Unknown exception'; // 异常信息
protected $code = 0; // 用户自定义异常代码
protected $file; // 发生异常的文件名
protected $line; // 发生异常的代码行号
// 方法
final function getMessage(); // 返回异常信息
final function getCode(); // 返回异常代码
final function getFile(); // 返回发生异常的文件名
final function getLine(); // 返回发生异常的代码行号
final function getTrace(); // backtrace() 数组
final function getTraceAsString(); // 已格成化成字符串的 getTrace() 信息
}
?>
相应的,在代码中可以合适的调用 getFile() 和 getLine() 来进行错误定位,更方便的进行调试。
2. 使用面向过程的方法
先看代码:
<?
$db = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$rs = $db->query("SELECT aa,bb,cc FROM foo");
if ($db->errorCode() != '00000'){
print_r($db->errorInfo());
exit;
}
$arr = $rs->fetchAll();
print_r($arr);
$db = null;
?>
PDO和PDOStatement对象有errorCode() 和 errorInfo() 方法,如果没有任何错误, errorCode() 返回的是: 00000 ,否则就会返回一些错误代码。errorInfo() 返回的一个数组,包括PHP定义的错误代码和MySQL的错误代码和错误信息,数组结构如下:
Array
(
[0] => 42S22
[1] => 1054
[2] => Unknown column 'aaa' in 'field list'
)
每次执行查询以后,errorCode() 的结果都是最新的,所以我们可以很容易自己控制错误信息显示
相关文章
- 本篇文章主要分享了通过window.navigator来判断浏览器及其版本信息的实例代码。具有一定的参考价值,下面跟着小编一起来看下吧...2017-01-23
- 使用 conditional comment 来判断 IE 的版本。嗯,是早早有人提出,但没有认真看代码。昨天刚好在看 CSS3 PIE 的时候看到,觉得是不是不靠谱。今天看到 Paul Irish 也提起,那么,推荐一下吧。这是作者博客上写的:复制代码 代码...2014-05-31
- 下面小编就为大家分享一篇c# 判断是否为空然后赋值的4种实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
- 具体详情请看下文小编给大家带来的知识点。同编写程序类似,存储过程中也有对应的条件判断,功能类似于if、switch。在MySql里面对应的是IF和CASE1、IF判断IF判断的格式是这样的:IF expression THEN commands [ELSEIF ex...2015-10-21
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
废话不多说了,直接给大家贴代码了。<?php class test{} $a1 = null; $a2 = ""; //$a3 = $a4 = 0; $a5 = '0'; $a6 = false; $a7 = array(); //var $a8; $a9 = new test(); for ($i=1; $i <=9 ; $i++) {...2015-11-24- 这篇文章主要介绍了java正则表达式判断前端参数修改表中另一个字段的值,需要的朋友可以参考下...2021-05-07
- 这篇文章主要介绍了C#判断一个字符串是否是数字或者含有某个数字的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 今天小编大家分享一篇C#获得程序的根目录以及判断文件是否存在的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
从PHP $_SERVER相关参数判断是否支持Rewrite模块
如果是http://www.jb51.net/p1141.html形式的URL,可通过$_SERVER['REQUEST_URI']和$_SERVER['QUERY_STRING']值的区别来分析,最主要是如果页面是通过重定向会产生$_SERVER['REDIRECT_QUERY_STRING']和$_SERVER['REDIREC...2013-10-04- 这篇文章主要给大家介绍了关于toString.call()通用的判断数据类型方法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-08-29
- 整体思路是这样的:判断div内部是否为空,如果为空,给出无数据提示;否则显示正常页面,下面给大家分享js判断div内容是否为空的方法,对判断div内容是否为空的相关知识感兴趣的朋友一起学习吧...2016-02-01
- js判断手机或者PC的例子我们在几乎所有网站都会有这段代码了,现在手机流量与pc差不多了,下面来看两段js判断手机或者PC例子吧...2015-12-17
- js 检测判断fckeditor是否为空 <!-- 用一般的js是不可能获取 fck 编辑器内容的是否有值的,我们得用 FCKeditorAPI接口来实例--> <!DOCTYPE html PUBLIC "-//W3C//DTD...2016-09-20
- 这篇文章主要介绍了Lua判断变量是否为数字、字符串是否可以转换为数字等,本文讲解了Lua 判断是字符还是数字的方法、Lua判断数字的方法、判断可否转换为数字的方法、判断并且准备一个初值的方法,需要的朋友可以参考下...2020-06-30
- javascript代码判断按钮是否被点击了在项目中经常会遇到这个需求,今天小编抽点时间给大家分享一段代码关于javascript判断按钮是否被点击的方法,感兴趣的朋友一起学习吧...2015-12-14
- 这篇文章主要介绍了C#判断某程序是否运行的方法,代码结构简单功能实用,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了C#中文件名或文件路径非法字符判断方法,本文主要使用了内置的GetInvalidFileNameChars方法实现非法字符判断,需要的朋友可以参考下...2020-06-25
- 下面通过判断一个数是偶数还是奇数来展示交互递归的应用,并且此题突出了递归跳跃的信任的重要性,需要的朋友可以参考下...2020-04-25
- 下面小编就为大家带来一篇thinkphp自定义权限管理之名称判断方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-04-03
- 这篇文章主要介绍了JS如何判断对象是否包含某个属性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-08-30