XAMPP修改mysql的root密码phpmyadmin无法登陆

 更新时间:2016年11月25日 15:43  点击:1681
phpmyadmin是一款WEB版的mysql数据库管理工具,他可以对mysql数据库进行各种操作,但是我必须在phpmyadmin中配置好用户名与登录密码才可以,如果mysql 密码修改了随之phpmyadmin中的密码也需要修改哦。

xampp/phpMyAdmin/config.inc.php设置的密码(为空)冲突,从而使得用户无法登陆(在电脑为重新启动前能登录phpmyadmin,但是一旦机器重启后就无法登录了)。

phpmyadmin无法登录

解决办法也很简单:

1 修改xampp中关于phpmyadmin的配置文件

进入xampp的安装目录,修改xampp/phpMyAdmin/config.inc.php文件,找到并设置开始修改的密码,

例如$cfg['Servers'][$i]['password'] = '8888';

修改密码

2 清除浏览器缓存,重新登录http://127.0.0.1/phpmyadmin/即可

另外,我们点击“权限”后可以看到整个数据库的用户如下,可以点击“操作”再次修改用户密码,相应地修改config.inc.php。

小结

w

其实这个就是对xampp/phpMyAdmin/config.inc.php的$cfg['Servers'][$i]['password'] = '8888';进入修改了,如果改了用户名也可以利用$cfg['Servers'][$i]['user'] = '你的用户名';这样修改哦。 

在php中json_decode()函数可以把数组与json格式的数据相互转换,但json_decode()函数只支持UTF-8与ASCII编码,如果是gkb就会出问题,下面我们来看看问题分析与解决办法。

好像用json_decode()将数组/对象 序列化为JSON字符串的时候基本上只支持 UTF-8/ASCII编码。而我们有的站采用了GBK/GB2312编码,这个时候,直接使用json_encode/json_decode的时候就可能会出问题了。

 代码如下 复制代码

<?php
$json = '{"a":"中国人人"}';
var_dump(json_decode($json));
?>

结果

{"text":null,"status":1}

比如转含有中文的字符字变成空(null),但有时候我们又必须得用gb编码而又要用到json_decode()转换的时候呢?什么办呢?自己昨晚写了一个不用数据库的一个添加音乐的小后台。也就是用php添加音乐,然后生成xml菜单。不用数据库那也得用一个方式来保存数据了。保存成文本的数据再可以直接拿出来用的,我想是把数组json_decode()用它转成json格式,用的时候再拿出来用它json_encode转回数组就可以了(可能最近弄js被json影响了,好像把数组序列化还有更好的方法,比如用:serialize()和unserialize()),呵呵,转正题。既然json_decode()在gb编码上转不了中文,那么我们可以先把中文转成英文编码的形式。那可以使用这个urlencode()转一下编码,再做json_decode()转换。使用的时候,再用urldecode()转成中文就可以了

 代码如下 复制代码

/*
    字符串GBK转码为UTF-8,数字转换为数字。
*/
function ct2($s){
    if(is_numeric($s)) {
        return intval($s);
    } else {
        return iconv("GBK","UTF-8",$s);
    }
}
/*
    批量处理gbk->utf-8
*/
function icon_to_utf8($s) {
  if(is_array($s)) {
    foreach($s as $key => $val) {
      $s[$key] = icon_to_utf8($val);
    }
  } else {
      $s = ct2($s);
  }
  return $s;
}
echo json_encode(icon_to_utf8("厦门"));

cURL是php中一个很强大的功能,可以模仿各种用户请求,如模仿用户登录,发送php cookie等等操作,下面我来整理一些相关的方法与各位同学看看

备注:使用curl_init函数,必须要打开这个php扩展。

1.打开php.ini,开启extension=php_curl.dll
2.检查php.ini的extension_dir值是哪个目录,检查有无php_curl.dll,没有的请下载php_curl.dll,再把php目录中的libeay32.dll,ssleay32.dll拷到c:/windows/system32里面。

最近在学习腾讯开放平台API接口的过程中,看到了一个很强大的PHP库——cURL。它是利用URL语法在命令行方式下工作的文件传输工具。这篇文章是博主直接从国外一个博客翻译过来的,原文地址是:http://codular.com/curl-with-php。这篇文章讲的很基础,但条理很清晰,知识比较系统和全面,所以转过来收藏了!(下面的有些标题是博主画蛇添足的,大家近乎可以忽略。)
1 定义:什么是cURL

cURL允许数据传输跨广泛的协议,是一个非常强大的系统。它广泛用于跨网站发送数据,包括诸如API交互和oAuth。cURL是在它的应用范围内几乎是无所不能的,从基本的HTTP请求,到更为复杂的FTP上传或封闭式HTTPS网站的交互验证。让我们一起来看看发送一个GET和POST请求和处理返回的响应的简单区别,以及一些重要的参数说明。

在我们通过一个cURL请求做任何事之前,我们首先需要初始化一个cURL的实例。我们可以通过调用函数curl_init()函数实现,它会返回一个cURL资源。该函数接收你想要发送的请求URL作为它的一个参数。在本文中,我们先不做这一步,可以在接下来的过程中用另一种方式来实现它。
2 须知:一些核心设置

一旦我们得到了一个cURL资源,我们可以开始进行一些配置,下面列出我总结的一些核心设置。

    CURLOPT_RETURNTRANSFER - 返回响应作为一个字符串,而不是输出到屏幕
    CURLOPT_CONNECTTIMEOUT - 连接超时的时间
    CURLOPT_TIMEOUT - cURL执行的超时时间
    CURLOPT_USERAGENT - 用于请求的Useragent字符串
    CURLOPT_URL - 发送请求的URL对象
    CURLOPT_POST - 以POST方式发送一个请求
    CURLOPT_POSTFIELDS - 在POST提交的请求中的数组数据

3 创建一个配置

我们可以通过使用curl_setopt()方式创建一个配置,这个方式接受3个参数:cURL资源、设置以及设置对应的值。因此,我们可以如下所示设置我们正在发送的请求URL。

 代码如下 复制代码

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, 'http://www.111cn.net');

如上所示,当获取cURL资源时,我们可以通过传送一个参数来设置URL。

 代码如下 复制代码

    $curl = curl_init('http://www.111cn.net');

当然我们也可以通过给curl_setopt_array()函数传递一个包含变量名和变量值的数组一次性地创建多重配置。

 代码如下 复制代码

    $curl = curl_init();
    curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => 'http://www.111cn.net'
    ));

4 执行请求:curl_exec()

当所有选项都配置好后,准备发送请求时,我们可以通过调用curl_exec()方式来执行这个cURL请求。这个函数将会返回三种不同的情形:

 代码如下 复制代码

    $result = curl_exec($curl);

此时,$result已经包含了页面的响应——它可能是JSON,一个字符串或者一个完整的网站的HTML。
5 关闭请求:curl_close()

当你发送完一个请求并且获取到了相应的返回结果,你就需要关闭这个cURL请求以便释放一些系统资源。通过调用curl_close()方法,我们可以像其它所有需要将资源作为参数的函数一样简单实现资源的释放。
6 GET请求

GET请求是默认的请求方法,并且我们可以很直截了当的使用它。事实上所有的例子到目前为止一直都是GET请求。如果你想在请求中加入传入一些参数,那么你可以像http://testcURL.com/?item1=value&item2=value2一样把这些参数作为一个查询字符串附加在URL地址后面。

因此,我们可以通过如下示例发送一个GET请求到上面的URL中去,并且返回相应的结果。

 代码如下 复制代码

    // Get cURL resource
    $curl = curl_init();
    // Set some options - we are passing in a useragent too here
    curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => 'http://testcURL.com/?item1=value&item2=value2',
    CURLOPT_USERAGENT => 'Codular Sample cURL Request'
    ));
    // Send the request & save response to $resp
    $resp = curl_exec($curl);
    // Close request to clear up some resources
    curl_close($curl);

7 POST请求

GET请求和POST请求两者之间语法的唯一区别就是:在你想要传送一些数据时,多了一个设置。我们将把CURLOPT_POST设置为true,并且通过设置CURLOPT_POSTFIELDS来传送包含一个数组的数据。

因此,如果把上面的GET请求转换为POST请求,我们可以使用下面的代码:

 代码如下 复制代码

    // Get cURL resource
    $curl = curl_init();
    // Set some options - we are passing in a useragent too here
    curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => 'http://www.111cn.net',
    CURLOPT_USERAGENT => 'Codular Sample cURL Request',
    CURLOPT_POST => 1,
    CURLOPT_POSTFIELDS => array(
    item1 => 'value',
    item2 => 'value2'
    )
    ));
    // Send the request & save response to $resp
    $resp = curl_exec($curl);
    // Close request to clear up some resources
    curl_close($curl);

到这里,你就拥有了这样的一个POST请求:它将产生和上面GET请求一样的效果,并且把返回数据到脚本中,这样你就可以随便使用它们了。

发起https请求示例

 代码如下 复制代码

function _https_curl_post($url, $vars) 

    foreach($vars as $key=>$value)
    {
        $fields_string .= $key.'='.$value.'&' ;
    } 
    $fields_string = substr($fields_string,0,(strlen($fields_string)-1)) ;
    $ch = curl_init();  
    curl_setopt($ch, CURLOPT_URL,$url); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  2);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);  // this line makes it work under https
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_POST, count($vars) );
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);     
    $data = curl_exec($ch);        
    curl_close($ch);  
       
    if ($data)
    {
        return $data;
    }
    else
    {
        return false;
    }
}

8 错误

尽管我们讨厌错误,但是你还是得注意使用cURL时可能出现的情形。因为你最终无法控制你所发送请求的网站,也无法保证该站点的响应结果将会是你预想的那种方式以及这个站点一直都会是正常状态。

这里提供了两个可以用来处理错误的函数:

    curl_error() - 返回一个字符串错误信息(当请求正常返回时,其值为空)
    curl_errno() - 返回cURL的错误数目,然后你可以查看这个包含错误代码的页面。

例如,你可以如下示例使用:

 代码如下 复制代码

    if(!curl_exec($curl)){
    die('Error: "' . curl_error($curl) . '" - Code: ' . curl_errno($curl));
    }

如果你想要任何HTTP响应代码都大于400来产生一个错误,而不是返回整个HTML页面,那么你可以把CURLOPT_FAILONERROR设置为true。cURL是一个“庞然大物”,并且还有很多很多的可能。有些网站可能为一些用户代理提供服务页面,当使用API接口时,它们可能会要求你传送一个特别的用户代理,这些都是我们需要注意的。如果你还想了解一些cURL请求,为何不尝试去oAuth with Instagram看看呢?

php中curl功能的强大我想大家可能还不知道吧,下面我再介绍一个工作中用到的利用curl获取验证码的实例并且可以为造cookie.
 代码如下 复制代码

<?php
$CookieFile=tempnam("./tmep","beast");
if(isset($_GET["img"])){
$url = 'http://www.111cn.net/phper/php.htm';//验证码code
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_COOKIEJAR, $CookieFile);//把返回来的cookie信息保存在文件中
curl_exec($ch);
curl_close($ch);
exit();
}   
if(isset($_POST['d'])){
$b=$_POST[d];//验证码
$p="waybillNo=1721269381&inputcode=".$b;
$ch = curl_init();
// 2. 设置选项,包括URL
curl_setopt($ch,CURLOPT_URL, "http://www.111cn.net");
curl_setopt($ch,CURLOPT_COOKIEJAR, $CookieFile);
curl_setopt($ch,CURLOPT_COOKIEFILE, $CookieFile);//同时发送Cookie
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $p);//提交查询信息
$s = curl_exec($ch);
curl_close($ch);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, http://www.111cn.net);
curl_setopt($ch,CURLOPT_COOKIEFILE, $CookieFile);//同时发送Cookie
curl_setopt($ch,CURLOPT_COOKIEJAR, $CookieFile);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $p);//提交查询信息
$bs = curl_exec($ch);
echo $bs;//输出结果
curl_close($ch);
}else{
?>
<form id="form1" name="form1" method="post" action="">
<img src="?img=true" /><!--由服务器端取图片内容并输出-->
<input type="text" name="d"  />
<input type="submit" name="button" id="button" value="提交" />
</form>
<?php }
?>
这个文件上传类可以自定上传文件大小与上传文件类型及文件保存地址,使用起来也大兴非常的方法,有一个文就是如果是中文文件名是上传会是乱码,所以大家解决办法就是把页面保存成uft8即可解决。

今天终于算是可以来更新一下paperen的网站,嗯……因为写毕设论文写累了所以就发表一篇关于上传文件类的东东吧,这个类也是自己写的,不知道对大家有没有用,如果觉得可以就拿去用吧。不过在编码上面还是没做好,自己是在utf8的页面将数据进行提交的,所以生成的文件如果保持原来的中文名字的话在文件夹中看到就是乱码的名字,如果不想出现乱码的话需要进行一下编码的转换。?

 代码如下 复制代码

<?php

define('NO_FILE', '不存在上传文件');
define('NOT_ALLOW_EXT', '文件类型不在允许范围内');
define('NOT_ALLOW_SIZE', '文件大小不在允许范围内');
define('HAS_THE_FILE', '该文件已经存在');
define('UPLOAD_FAILED', '上传失败');
define('UPLOAD_SUCCESS', '上传成功');

class file_uploader
{

    var $_file;
    var $_filesize;
    var $_fileext;
    var $_filedir;
    var $_filename;
    var $_filetmpname;
   
    var $allowsize;
    var $allowext;
   
    var $neednewname;
    var $newname;
    var $syslang;
   
    var $report;
   
    function ready($filedir = '', $file, $allowsize = '', $allowext = '', $neednewname = false, $report = 0){
        $this->_filedir = is_dir($filedir) ? $filedir : '';
        if(empty($file) || !isset($file['size']) || $file['size'] == 0) $this->error(NO_FILE);
        $this->_filesize = $file['size'];
        $this->_filename = $file['name'];
        $this->_filetmpname = $file['tmp_name'];
       
        $this->allowsize = $allowsize;
        $this->allowext = $allowext;
       
        $this->neednewname = ($neednewname) ? true : false;
        $this->newname = '';
       
        $this->report = $report;
    }
   
    function do_upload(){
        if(!is_uploaded_file($this->_filetmpname)) $this->error(NO_FILE);
        if($this->chk_ext()){
            $this->error(NOT_ALLOW_EXT);
            return '';
        }
        if($this->chk_size()){
            $this->error(NOT_ALLOW_SIZE);
            return '';
        }
        if($this->neednewname) $this->newname = $this->generate_name().".".$this->get_fileext();
        if($this->chk_hasfile()){
            $this->error(HAS_THE_FILE);
            return '';
        }
        $filename = empty($this->newname) ? @iconv('utf-8','gb2312',$this->_filename) : $this->newname;
        @chmod($this->_filedir.$filename, 0777);
        if(move_uploaded_file($this->_filetmpname, $this->_filedir.$filename)){
            return $this->result();
        }else{
            $this->error(UPLOAD_FAILED);
            return '';
        }
    }
   
    function chk_ext(){
        if(empty($this->allowext) || in_array($this->get_fileext(), explode("|",$this->allowext))) return false;
        return true;
    }
   
    function chk_size(){
        if(empty($this->allowsize) || get_filesize <= $this->allowsize*1024*1024) return false;
        return true;
    }
   
    function get_filesize(){
        return $this->_filesize;
    }
   
    function get_fileext(){
        return substr($this->_filename,strrpos($this->_filename,".")+1);
    }
   
    function generate_name(){
        return substr(md5(time()),26);
    }
   
    function chk_hasfile(){
        return is_file($this->_filedir.$this->_filename);
    }
   
    function error($tip){
        echo $tip;
    }
   
    function result(){
        if($this->report){
            $filename = empty($this->newname) ? $this->_filename : $this->newname;
            $arr = array('filename' => $filename, 'filesize' => $this->_filesize, 'tip' => UPLOAD_SUCCESS);
            return $arr;
        }else{
            return UPLOAD_SUCCESS;
        }
    }
}

/***使用方法与参数说明***/
/***
    第一个参数$dir 为上传文件存放的路径
    第二个参数为$_FILES 为你那个上传文件变量
    第三个参数允许文件大小 单位为MB
    第四个参数允许的文件类型 格式为jpg|png|gif
    第五个参数是否需要生成新的文件名
    第六个参数为返回的提示格式 0为直接提示上传正确 1则返回一个数组array('filename' => $filename, 'filesize' => $this->_filesize, 'tip' => UPLOAD_SUCCESS);
***/

//require("类文件");
//$u = new file_uploader;
//$u->ready($dir, $_FILES['upload_file'], false, false, true, 0);
//echo $u->do_upload();

?>

随便说下这个类怎样调用吧,方法很简单?

 代码如下 复制代码

    $dir = 'upload/';
    require("upload_class.php");
    $u = new file_uploader;
    $u->ready($dir, $_FILES['upload_file'], false, false, true, 0);
    echo $u->do_upload();

就像N年前那个染头发的广告说的那句,“得左!染黑头发就是这么简单!”一样,这里上传文件的操作也是“上传文件就这么简单!”。当然那个$_FILES['upload_file']是对应表单中的file类型的控件的名字。而需不需要在上传后输出提示就看你自己啦,关于参数在代码那里面有详细说明,不过这里也是放出来吧。?

ready方法的参数说明:

第一个参数$dir 为上传文件存放的路径
第二个参数为$_FILES 为你那个上传文件变量
第三个参数允许文件大小 单位为MB
第四个参数允许的文件类型 格式为jpg|png|gif
第五个参数是否需要生成新的文件名
第六个参数为返回的提示格式 0为直接提示上传正确 1则返回一个数组array('filename' => 上传的文件名字, 'filesize' => 文件大小, 'tip' => 成功上传);?

很好!这样就完成了一篇文章,不过也花了不少时间呢……?

[!--infotagslink--]

相关文章

  • iPhone输错密码导致手机锁定怎么办 iPhone输错密码手机锁定解决方法

    如果反复输错屏幕密码,手机就会进入锁定模式,也就是永久停用状态,只能抹掉数据以解除锁定状态和清除锁屏密码...2022-09-14
  • PHP操作MSSQL存储过程修改用户密码

    存储过程在数据库的应用中我们用到的非常的多了,下面我们来看一篇关于PHP操作MSSQL存储过程修改用户密码的例子,具体的如下所示。 mssql2008 存储过程 下面可以直接...2016-11-25
  • js检验密码强度(低中高)附图

    最近一直在做通行证项目,里面的注册模块中输入密码需要显示密码强度(低中高)。今天就把做的效果给大家分享下,代码没有网上搜索的那么复杂,能够满足一般的需求。 html 代码如下: 复制代码 代码如下: <!DOCTYPE HTML> <htm...2014-06-07
  • phpmyadmin config.inc.php配置示例

    phpmyadmin config.inc.php配置示例...2013-09-29
  • 基于JavaScript实现表单密码的隐藏和显示出来

    为了网站的安全性,很多朋友都把密码设的比较复杂,但是如何密码不能明显示,不知道输的是对是错,为了安全起见可以把密码显示的,那么基于js代码如何实现的呢?下面通过本文给大家介绍JavaScript实现表单密码的隐藏和显示,需要的朋友参考下...2016-03-03
  • JavaScript仿支付宝密码输入框

    那么今天我就用JavaScript代码来实现这个效果吧,那么首先介绍一下整个的思路,首先我们先将确定输入密码的位数,我的需求是5位,那么就用一个div标签包住5个input标签...2016-01-02
  • 使用phpMyAdmin批量修改Mysql数据表前缀的方法

    多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分。而如何批量修改已有数据库的前缀名呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介绍的是相对简单的...2015-10-21
  • phpMyadmin创建数据库和设置用户权限图解

    phpmyadmin是一款很不错的WEB对mysql数据库管理软件,如果你想创建数据库与设置用户权限我们必须操作用户的很高的权限,如ROOT权限,下面我来给大家介绍介绍。 先来配...2016-11-25
  • 修改mysql密码phpmyadmin不能登录

    出现phpmyadmin不能登录是我在修改我mysql服务器密码之后导致的,后来百度了相关的原因,原来是修改了mysql密码之后我们还需要在phpmyadmin目录中去修改config.inc.php中...2016-11-25
  • 使用SKIP-GRANT-TABLES 解决 MYSQL ROOT密码丢失

    忘记MySQL(和PHP搭配之最佳组合) ROOT密码是在MySQL(和PHP搭配之最佳组合)使用中很常见的问题,可是有很多朋友并不会重置ROOT密码,那叫苦啊,我有深有感触,特写此文章与大家交流:1、编辑MySQL(和PHP搭配之最佳组合)配置文件...2015-10-21
  • phpmyadmin不能登录,无任何提示的问题解决

    昨天有一朋友说自己的phpmyadmin不能登录并且无任何提示了,问我怎么解决,下面我来分享一下关于phpmyadmin不能登录问题总结. phpmyadmin不能登录没有提示 解决方法:...2016-11-25
  • C#判断密码强度的方法

    这篇文章主要介绍了C#判断密码强度的方法,较为详细的分析了C#判断密码强度的原理与实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • phpMyAdmin 高级功能设置的方法图解

    phpmyadmin还有高级功能可能大部份站长不知道吧,今天本文章就来给大家介绍phpMyAdmin 高级功能设置的方法图解,希望文章对大家会有所帮助。 phpMyAdmin 安装后,默认...2016-11-25
  • sqlserver添加sa用户和密码的实现

    这篇文章主要介绍了sqlserver添加sa用户和密码的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-07
  • Python sqlalchemy时间戳及密码管理实现代码详解

    这篇文章主要介绍了Python sqlalchemy时间戳及密码管理实现代码详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-08-02
  • vue实现禁止浏览器记住密码功能的示例代码

    这篇文章主要介绍了vue实现禁止浏览器记住密码功能的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-04
  • phpmyadmin写入一句话木马的测试

    下面我们一起来看看一篇关于phpmyadmin写入一句话木马的测试教程,希望此教程能够对各位有帮助。 方法一,一句话木马偶尔拿到一个config中,发现是root,且还有phpmyadmi...2016-11-25
  • python批量修改交换机密码的示例

    这篇文章主要介绍了python批量修改交换机密码的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下...2020-09-22
  • 如何修改Xampp服务器上的mysql密码(图解)

    如果我们使用Xampp服务器自带数据库mysql,就必须先修改mysql的密码,下面小编给大家分享如何修改Xampp服务器上的mysql密码,需要的朋友参考下吧...2017-04-26
  • 微信小程序 MD5加密登录密码详解及实例代码

    这篇文章主要介绍了微信小程序 MD5加密登录密码详解及实例代码的相关资料,这里附有实例代码,需要的朋友可以参考下...2017-01-16