phpmyadmin大家可以官方下载,然后再在目录中修改config.cfg.php
一、使用cookie授权模式
将'auth_type'改为'cookie',然后修改'blowfish_secret'用一个任意字符串作为cookie的加密字符串,如果没有加密钥匙,系统会显示"配置文件现在需要绝密的短语密码(blowfish_secret) " ,配置文件如下:
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['blowfish_secret'] = '44e2f5aece2855.93921574';
修改完毕后,登录窗口入下
http授权模式的web登陆页面
二、使用config授权模式
config需要这几个参数:
$cfg['Servers'][$i]['auth_type'] = 'config'; //授权模式
$cfg['Servers'][$i]['user'] = 'root'; //mysql登陆用户
$cfg['Servers'][$i]['password'] = '12345'; //mysql登陆用户密码
三、用http授权模式
$cfg['Servers'][$i]['auth_type'] = 'http';
http授权模式的登陆窗口
注意事项:如果mysql服务器端采用了4.1以上版本,而客户端连接用的是mysql4.1一下版本,对用户设置密码时注意使用OLD_PASSWORD函数,举例:
mysql > SET PASSWORD = OLD_PASSWORD('12345')
mysql > /G
phpmyadmin密码忘了怎么办
1、关闭mysql服务
# service mysql stop
如果提示mysql: unrecognized service这样的错误提示。
先查看查找mysql.server,使用:find / -name "mysql.server"
再使用/usr/local/mysql/share/mysql/mysql.server stop命令关闭mysql。
2、 安全模式启动mysql跳过授权表
先查看mysqld_safe程序,可以使用find / -name "mysqld_safe"命令来查找,默认都是在mysql安装目录下。
#find / -name "mysqld_safe"
安全模式启动mysql跳过授权表
3、使用root账户登陆mysql修改密码重新授权
新建立一个连接登陆云服务器
1)先输入mysql -u root命令登陆mysql
2)在输入update mysql.user set password=PASSWORD('123456789') where User='root'; 更新mysql密码为:123456789
3)quit 退出mysql
4、重启mysql服务
1)killall mysqld 结束所有mysql进程
2)service mysql start 启动mysql
3)mysql -u root –p 回车,提示输入密码,则为您刚刚重置的mysql密码。
本文章来给大家介绍一下关于Simple HTML Dom解析器的使用方法详解,有需要了解的同学不防进入参考。
1. 开始使用
首先下载解压缩,然后将simple_html_dom.php文件包含进要编写的脚本文件中,加载要处理的html,支持三种模式的html加载,分别是『从url中加载,从字符串中加载,从文件中加载』。
代码如下 | 复制代码 |
<?php $url = 'http://www.111cn.net'; |
2. 查找html元素
使用find函数查找,返回包含对象的数组,常见的查找如下。
代码如下 | 复制代码 |
//查找超链接元素 $alink = $html->find('a'); //查找第n个连接元素 $alink = $html->find('a',5); //查找id为main的div $mainDiv = $html->find('div[id=main]'); //查找所有定义了id的div $idDiv = $html->find('div[id]'); //查找所有定义了id的元素 $idAll = $html->find('[id]'); //查找样式类为info的元素 $classInfo = $html->find('.info'); //支持嵌套子元素查找 $ret = $html->find('ul li'); //查找多个html元素 $ret = $html->find('a,img,p'); //.... |
3. 其他
可以使用内置的函数来进行元素的定位,返回父元素parent,返回子元素数组children,返回第一个子元素first_child,返回最后一个子元素last_child,返回前一个相邻元素prev_sibling,返回后一个相邻元素next_sibling等。
提供简单的正则表达式来过滤属性选择器,类似于[attribute]的格式。
每个对象都有4个基本属性:
tag — 返回html标签名
innertext — 返回innerHTML
outertext — 返回outerHTML
plaintext — 返回HTML标签中的文本
返回元素属性值
//返回$alink的href值
$link = $alink->href;
通过设置元素的属性值可以对元素进行添加、修改、删除操作。
代码如下 | 复制代码 |
//删除url连接 |
CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用 CodeIgniter 可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。
CodeIgniter是由Ellislab公司的CEO RickEllis开发的。其核心框架是为这个程序特别编写的,而其他很多类库、辅助函数和子系统则来自于RickEllis和PaulBurdick编写的内容管理系统ExpressionEngine。来自RubyonRails的灵感启发我们创造了一个PHP框架,并且将框架的概念引入到网络社区的一般意识中。
在这篇文章中,我将介绍如何使用CodeIgniter框架、开发一个登录认证和注册系统。
创建一个数据库来存储用户信息
下表将存储在MySQL用户相关的所有信息。它仅获得一些基本的信息,你可以随意延长。
代码如下 | 复制代码 |
|
创建用户登录表格
由于这将是简单的HTML,我不会在这里写的代码。确保,表单动作应指向用户/注册路线,这样的请求到达用户的控制器,然后执行功能“注册”
创建表格后,我们需要写“模型”逻辑,这样我们就可以存储到数据库中的用户注册信息。我要去,到创建方法create_user,里面的“用户”模式。的create_user方法将下面的代码:
代码如下 | 复制代码 |
function create_user(){ $first_name = $this->input->post('first_name'); $last_name = $this->input->post('last_name'); $username = $this->input->post('user_login'); $eml = $this->input->post('email_address'); $clear_pass = $this->input->post('password'); $member_data = array( 'user_login' => $username, 'user_pass' => md5($clear_pass), 'user_email' => $eml, 'first_name' => $first_name, 'last_name' => $last_name ); $insert = $this->db->insert('ci_users', $member_data); return $insert; } |
现在我们有了模型和视图准备,我们需要写这两个控制器逻辑连接,使我们能够成功地渲染登记表和存储数据。我们也打算把验证逻辑,使用CodeIgniter的内置的验证库,里面的控制器本身。
我假设您知道如何创建在CI的控制器,所以我将讨论控制方法,其中最重要的部分。
首先,讨论,让我们使用下面这行代码加载表单验证库。位于里面的application / config / autoload.php autoload.php通过指定其名称,可以自动加载这个库。
代码如下 | 复制代码 |
|
现在来验证,可以使用下面这行代码:
代码如下 | 复制代码 |
PHP $this->form_validation->set_rules('first_name', 'Name', 'trim|required'); |
哪里的FIRST_NAME是HTML元素的名称,名称是人类可读元素名称,修剪|所需元素的验证规则。
您可以指定其他各种规则,你可以使用回调方法定义自定义验证规则。如需更多信息,验证,检查文档。
要检查如果验证成功,我们使用下面的代码块:
PHP
代码如下 | 复制代码 |
if($this->form_validation->run() == FALSE) { //not validated - reload the view and display errors $this->load->view('signup'); } else { $this->load->database();//load users_mode defined in modes/uses_model.php $this->load->model('users_model'); //create user $this->users_model->create_user(); } |
让我们回顾一下上面的代码片断。我们首先验证表单验证,使用方法$this->form_validation->run() 。如果返回true,那么我们是很好的。否则,我们在视图中显示错误。如果一切都正确输入,我们应该创建新的用户。请注意,我手动创建数据库连接。
如果您的应用程序会更经常地使用数据库,那么你就可以加载库通过指定到autoload.php文件。最后,我们的模型加载并调用我们上面所讨论的create_user。
这应该是你需要做的所有注册一个新用户在您的Web应用程序。
创建一个登录过程
下一步,我们应该提供一种方法,在这些注册用户登录。的过程是相同的。我们创建视图,然后模型和控制器内部终于做加工。
消毒后的用户输入(如上述),在模型中,我们可以查询数据库,用下面的方法:
PHP
代码如下 | 复制代码 |
function validate_user() { $this->db->select('*'); $this->db->limit(1); $this->db->where('user_email',$user_login); $this->db->where('user_pass', md5($password)); $this->db->from('ci_users'); if($query->num_rows == 1) { $data = $query->row_array(); if($data['user_login'] == $user_login) return $data; else return false; } } |
上面的方法是简单易懂。我已经查询拆分,使其更清晰。如果行数是1,那么我们验证用户,否则我们不知道。我们返回完整的用户信息的控制器,我们要建立的会话信息。让我们来看看:
代码如下 | 复制代码 |
if(is_array($user) && !empty($user)) { $user_data = array('is_logged_in' => 1,'user_email' => $user['user_email']); //set the session information $this->session->set_userdata($user_data); //write code here to show the success message redirect(site_url('dashboard')); exit(); } |
我已经重定向数据到仪表板,在这里我们要告诉用户相关信息。只有合法的用户被允许进入,其余全部被重定向到登录页面。
创建一个注销过程
最后,我们需要一个用户注销的方式。通过调用内置的会议库sess_destroy()方法,我们可以摧毁当前会话。
结论
就是这样。使用上面的方法,你可以设置一个登录和注册系统使用CodeIgniter。以此作为基础,根据需要,该系统扩展
经常需要判断文件是否可以访问,可以通过http状态码判别,200为正常访问,404为找不到该页面,代码如下
代码如下 | 复制代码 |
<?php
$address = gethostbyname($host); socket_write($socket, $request, strlen($request)); $response = split(' ', socket_read($socket, 1024)); |
另一种获取http状态码的办法
使用curl需要在php.ini中设置启用才行 >< Windows的服务器中,打开php.ini,找到:
extension=php_curl.dll
去掉前面的注释既可 。
代码如下 | 复制代码 |
$curl = curl_init(); $url=’http://www.111cn.net’; curl_setopt($curl, CURLOPT_URL, $url); //设置URL curl_setopt($curl, CURLOPT_HEADER, 1); //获取Header curl_setopt($curl,CURLOPT_NOBODY,true); //Body就不要了吧,我们只是需要Head curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //数据存到成字符串吧,别给我直接输出到屏幕了 $data = curl_exec($curl); //开始执行啦~ echo curl_getinfo($curl,CURLINFO_HTTP_CODE); //我知道HTTPSTAT码哦~ curl_close($curl); //用完记得关掉他 |
一些状态代码
1xx:请求收到,继续处理
2xx:操作成功收到,分析、接受
3xx:完成此请求必须进一步处理
4xx:请求包含一个错误语法或不能完成
5xx:服务器执行一个完全有效请求失败
100——客户必须继续发出请求
101——客户要求服务器根据请求转换HTTP协议版本
200——交易成功
201——提示知道新文件的URL
202——接受和处理、但处理未完成
203——返回信息不确定或不完整
204——请求收到,但返回信息为空
205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件
206——服务器已经完成了部分用户的GET请求
300——请求的资源可在多处得到
301——删除请求数据
302——在其他地址发现了请求数据
303——建议客户访问其他URL或访问方式
304——客户端已经执行了GET,但文件未变化
305——请求的资源必须从服务器指定的地址得到
306——前一版本HTTP中使用的代码,现行版本中不再使用
307——申明请求的资源临时性删除
400——错误请求,如语法错误
401——请求授权失败
402——保留有效ChargeTo头响应
403——请求不允许
404——没有发现文件、查询或URl
405——用户在Request-Line字段定义的方法不允许
406——根据用户发送的Accept拖,请求资源不可访问
407——类似401,用户必须首先在代理服务器上得到授权
408——客户端没有在用户指定的饿时间内完成请求
409——对当前资源状态,请求不能完成
410——服务器上不再有此资源且无进一步的参考地址
411——服务器拒绝用户定义的Content-Length属性请求
412——一个或多个请求头字段在当前请求中错误
413——请求的资源大于服务器允许的大小
414——请求的资源URL长于服务器允许的长度
415——请求资源不支持请求项目格式
416——请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求
也不包含If-Range请求头字段
417——服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求
500——服务器产生内部错误
501——服务器不支持请求的函数
502——服务器暂时不可用,有时是为了防止发生系统过载
503——服务器过载或暂停维修
504——关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长
505——服务器不支持或拒绝支请求头中指定的HTTP版本
php默认有个函数similar_text()用于计算字符串之间的相似度,该函数也可以计算两个字符串的相似度(以百分比计)。不过这个函数感觉对中文计算很不准确比如:
代码如下 | 复制代码 |
echo similar_text("吉林禽业公司火灾已致112人遇难","吉林宝源丰禽业公司火灾已致112人遇难"); |
这两个新闻标题其实都是一样的,如果使用similar_text()相似对结果为:42,即只相似42%,所以这个感觉很不靠谱,今天刚好收集到一段PHP代码也是用于比较两个字符串的相似度,直接贴出代码:
代码如下 | 复制代码 |
<?php $lcs = new LCS(); |
还有一种办法就是利用分词系统我们把标题分词,然后再进行会更准确一些哦。