需要密码登录phpmyadmin设置方法
找开config.inc.php教程
一、使用cookie授权模式 将'auth_type'改为'cookie',然后修改'blowfish_secret'用一个任意字符串作为cookie的加密字符串,如果没有加密钥匙,系统会显示"配置文件现在需要绝密的短语密码(blowfish_secret) " ,配置文件如下: $cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['blowfish_secret'] = '44e2f5aece2855.93921574'; 修改完毕后,登录窗口入下
4
http授权模式的web登陆页面
二、使用config授权模式
config需要这几个参数:
$cfg['Servers'][$i]['auth_type'] = 'config';
//授权模式 $cfg['Servers'][$i]['user'] = 'root';
//mysql教程登陆用户 $cfg['Servers'][$i]['password'] = '12345';
//mysql登陆用户密码
将config.inc中,改成
$cfg['Servers'][$i]['auth_type'] = 'cookie'; // Authentication method (config, http or cookie based)?
注意,不是http 而是 cookie 哦!!!
三、用http授权模式
$cfg['Servers'][$i]['auth_type'] = 'http';
http授权模式的登陆窗口
注意事项:如果mysql服务器端采用了4.1以上版本,而客户端连接用的是mysql4.1一下版本,对用户设置密码时注意使用OLD_PASSWORD函数,举例:
mysql > SET PASSWORD = OLD_PASSWORD('12345')
mysql > /G
附录:(以下内容是自己写的)除了上述三种phpmyadmin自带的方法外,还可以使用apache的配置来限制登录,在phpmyadmin目录下放置一个.htaccess文件,指定使用的密码记录文 件。然后用htpasswd来生成密码保存在该密码记录文件中(文件的内容是加密的,使用方法htpasswd /etc/php_passwd username)。
httpd.conf中的内容:phpmyadmin's directory"> AllowOverride AuthConfig
.htaccess文件的内容
authtype basic authuserfile /etc/php_passwd authname information require valid-user
我们可以看到/etc/php_passwd文件中的内容类似这样:
username:2Y2CD6nfJuwL6
更详细的教程
打开phpMyAdmin中libraries文件找到config.default.php并打开.
找到$cfg['servers'][$i]['user'] = ' ',在' '中加入'root'
找到$cfg['servers'][$i]['password'] = ' ',在' '中加入'123456';
这两个地方的修改就是加入刚才安装的Mysql的用户名和密码,读者可自行修改.
这个是配置文件也要修改一下。
config.inc.php
<?php
/* $Id: config.sample.inc.php 9689 2006-11-10 20:05:49Z nijel $ */
// vim: expandtab sw=4 ts=4 sts=4:
/**
* phpMyAdmin sample configuration, you can use it as base for
* manual configuration. For easier setup you can use scripts/setup.php
*
* All directives are explained in Documentation.html and on phpMyAdmin
* wiki <http://wiki.cihar.com>.
*/
/*
* This is needed for cookie based authentication to encrypt password in
* cookie
*/
$cfg['blowfish_secret'] = 'afafafaf'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
/*
* Servers configuration
*/
$i = 0;
/*
* First server
*/
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysql';
/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = ''; //用户名
$cfg['Servers'][$i]['controlpass'] = '';//密码
/* Advanced phpMyAdmin features */
// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
// $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
// $cfg['Servers'][$i]['relation'] = 'pma_relation';
// $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
// $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
// $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
// $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
// $cfg['Servers'][$i]['history'] = 'pma_history';
// $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
/*
* End of servers configuration
*/
/*
* Directories for saving/loading files from server
*/
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>
<?php教程
/*运算符号(PHP)操作符号
*
* 按运算符号功能分为:
* 一、算术运算符 + - * / % ++ --
* 二、字符串运算符 . 连接运算符
* 三、赋值运算符 = += -= *= /= %= .=
* 四、比较运算符 > < >= <= == === != <> !==
* 比较运算符---条件运算符---关系运算符
* 比较后的结果只有一种:boolean true false
* === 比较时不仅要求内容相同,也要求类型相同
* !== 比较时内容不相同,也要求类型不相同
* 五、逻辑运算符 &&或and ||或or !或not
* 逻辑运算符只能操作bool型的值,返回的也是bool型的值
* 六、位运算符 & | ^ ~ << >> >>>
* 七、其他运算符 ? : `` @ => -> :: & $
* `` 用来执行操作系统内核
* @ 用来屏蔽掉错误信息
* 建议使用“()”改变表达式的优先级别
*
* % 有两个目的:整除运算;控制范围,不要用小数,也不要用负数
* % 会吧运算符两边的数转为整数后再进行整除求余。
*/
//用 %符号判断闰年
$year=2011;
if(($year%4==0 && %year%100!=0) || $year%400=0)
{
echo "run nian";
}
else
{
echo " not run nian";
}
// ++ --符号的使用
$a=10;
$a++; //$a=$a+1; 先用变量,再自增1
++$a; //$a=$a+1; 先自增1,在用变量
$a--; //$a=$a-1; 先用变量,再自减1
--$a; //$a=$a-1; 先自减1,再用变量
echo $a; //结果为10
//++ -- 运算的区别
$a=10;
$b=$a++;//b=10,a=11
$c=--$b;//c=9,b=9
$d=$c++ + ++$c; //d=20,c=11
$e=$d-- - --$d; //d=18,e=2
echo $d;
//字符串运算符 . 的使用
$name="tom";
$age=27;
$height=1.75;
echo "我的名字是:{$name}我的年龄是:{$age}我的身高是:{$height}米<br>";
echo '我的名字是:'.$name.'我的年龄是:'.$age.'我的身高是:'.$height.'米'.'<br>';
echo "$age=".$age; //$age=27
echo "我的名字是:{$name}我的年龄是:{$age}我的身高是:{$height}米<br>";//赋值运算符的使用
$a=10;
$a+=10; //$a=$a+10;
$a-=10; //$a=$a-10;
$a*=10; //...
$a/=10; //...
$a%=10; //$a=$a%10;
$a.="abc";//$a=$a."abc";
echo $a;
$str='<table>';
$str.='<tr>';
$str.='<td>';
$str.='</td>';
$str.='</tr>';
$str.='</table>';
echo $str;//输出一个表格//比较运算符
var_dump(15>6);//返回 bool(true)
$a=15;
if(15==$a)
{
echo "a=15";
}
else
{
echo "a!=15";
}
//逻辑运算符的使用
var_dump(true && true);//true
var_dump(true && false);//false
var_dump(true || false);//true
var_dump(!true);//false
var_dump(!false);//true
//判断用户名密码
$username="admin";
$password="123456";
$email="290080604@qq.com";
if($username=="admin" && $password="123456")
{
echo "用户名密码正确";
}
if($username=="" || $password=="" || $email=="")
{
echo "一个都不能为空";
}
//位运算符
$a=20; //00010100
$b=30; // 00011110
/*
* 20 00010100
* 30 00011110 &
*-----------------------------------
* 00010100
*
*/
$c=$a & $b;
echo $c;
/*补充,& | 也可以用做逻辑运算
* &&和||的 短路问题:
* &&在作运算时,如果前面的数为false,则后面是否为true,整个表达式都为false,所以就不去执行后面的操作数;
* ||在作运算时,如果前面的数为true,则后面的数是否为false,整个表达式都为true,所以就不去执行后面的操作数;
* 然而,& 或者 | 在作运算时,两边都会被执行
*/
$a=10;
if($a>5 || $a++<100){}
echo $a;//输出10
$b=10;
if($b>5 | $b++<100){}
echo $b;//输出11
/*
位的概念:一个位是由8个二进制数组成的(例00000000),
一个字节由8个位组成,那么就有32个二进制数。
原码:最高位 用0表示正数,1表示负数
+7 00000111
-7 10000111
反码:一个数如果为正,则它的反码与原码相同;
一个数如果为负,则符号位为1,其余各位是对原码取反;
+7 00000111
-7 11111000
+0 00000000
-0 11111111
补码:一个数如果为正,则它的补码与反码与原码相同
一个数如果为负,则它的补码=反码+1,去掉最高位的溢出位
-7 原码 10000111 反码11111000
+1
补码11111001
已知一个负数的补码,把它转换为十进制数。
1.先对各位取反
2.将其转换为十进制数
3.加上负号,再减去1。
例:补码11111010
取反00000101
4+1=5
-5-1=-6
位运算符:
& 按位与 |按位或 ^按位异或 ~按位取反
例: 按位与 01101101
&00110111
00100101
结论:只有1 1为1。
按位或 01101101
|00110111
01111111
结论:只有0 0为0。
按位异或 01101101
^00110111
01011010
结论:只有1 0或0 1时为1。(也可以理解为处于不同状态为1(真))
按位取反 ~00110111
11001000
结论:将0变1,1变0
移位运算符:
左移:<< 带符号右移:>> 无符号右移:>>>
例:数 x x<<2 x>>2 x>>>2
17 00010001 01000100 00000100 00000100
-17 11101111 10111100 11111011 00111011
结论:正数左右移动都补0,负数左移补0,带符号右移补1,不带符号补0
*/
//其他运算符的运用
$a=10;
$b=$a>5 ? $a : 5;//三元运算符,如果成立$b=$a否则$b=5
echo $b;
//用``来执行操作系统shell命令
$str=`ipconfig /all`;
echo '<pre>';
echo $str;
echo '</pre>';
?>
本部分列出了在 PHP 中使用的各种运算符:
算数运算符
运算符 | 说明 | 例子 | 结果 |
---|---|---|---|
+ | Addition | x=2 x+2 |
4 |
- | Subtraction | x=2 5-x |
3 |
* | Multiplication | x=4 x*5 |
20 |
/ | Division | 15/5 5/2 |
3 2.5 |
% | Modulus (division remainder) | 5%2 10%8 10%2 |
1 2 0 |
++ | Increment | x=5 x++ |
x=6 |
-- | Decrement | x=5 x-- |
x=4 |
赋值运算符
运算符 | 说明 | 例子 |
---|---|---|
= | x=y | x=y |
+= | x+=y | x=x+y |
-= | x-=y | x=x-y |
*= | x*=y | x=x*y |
/= | x/=y | x=x/y |
.= | x.=y | x=x.y |
%= | x%=y | x=x%y |
比较运算符
运算符 | 说明 | 例子 |
---|---|---|
== | is equal to | 5==8 returns false |
!= | is not equal | 5!=8 returns true |
> | is greater than | 5>8 returns false |
< | is less than | 5<8 returns true |
>= | is greater than or equal to | 5>=8 returns false |
<= | is less than or equal to | 5<=8 returns true |
逻辑运算符
运算符 | 说明 | 例子 |
---|---|---|
&& | and | x=6 y=3 (x < 10 && y > 1) returns true |
|| | or | x=6 y=3 (x==5 || y==5) returns false |
! | not | x=6 y=3 !(x==y) returns true |
php教程中解决各种应用的乱码问题
1) 使用 标签设置页面编码
这个标签的作用是声明客户端的浏览器用什么字符集编码显示该页面,xxx 可以为 GB2312、GBK、UTF-8(和 MySQL 不同,MySQL 是 UTF8)等等。因此,大部分页面可以采用这种方式来告诉浏览器显示这个页面的时候采用什么编码,这样才不会造成编码错误而产生乱码。但是有的时候我们会发现有了这句还是不行,不管 xxx 是哪一种,浏览器采用的始终都是一种编码,这个情况我后面会谈到。
请注意, 是属于 HTML 信息的,仅仅是一个声明,仅表明服务器已经把 HTML 信息传到了浏览器。
2) header("content-type:text/html; charset=xxx");
这个函数 header() 的作用是把括号里面的信息发到 http 标头。如果括号里面的内容为文中所说那样,那作用和 标签基本相同,大家对照第一个看发现字符都差不多的。但是不同的是如果有这段函数,浏览器就会永远采用你所要求的 xxx 编码,绝对不会不听话,因此这个函数是很有用的。为什么会这样呢?那就得说说 http 标头和 HTML信息的差别了:
http 标头是服务器以 http 协议传送 HTML 信息到浏览器前所送出的字串。而 标签是属于 HTML 信息的,所以 header() 发送的内容先到达浏览器,通俗点就是 header() 的优先级高于 (不知道可不可以这样讲)。假如一个 php 页面既有header("content-type:text/html;charset=xxx"),又有,浏览器就只认前者 http 标头而不认 meta 了。当然这个函数只能在 php 页面内使用。
同样也留有一个问题,为什么前者就绝对起作用,而后者有时候就不行呢?这就是接下来要谈的Apache 的原因了。
3) AddDefaultCharset
Apache 根目录的 conf 文件夹里,有整个 Apache 的配置文档 httpd.conf。
用文本编辑器打开 httpd.conf,第 708 行(不同版本可能不同)有 AddDefaultCharset xxx,xxx为编码名称。这行代码的意思:设置整个服务器内的网页文件 http 标头里的字符集为你默认的 xxx字符集。有这行,就相当于给每个文件都加了一行 header("content-type:text/html; charset=xxx")。这下就明白为什么明明 设置了是 utf-8,可浏览器始终采用 gb2312 的原因。
如果网页里有 header("content-type:text/html; charset=xxx"),就把默认的字符集改为你设置的字符集,所以这个函数永远有用。如果把 AddDefaultCharset xxx 前面加个"#",注释掉这句,而且页面里不含 header("content-type…"),那这个时候就轮到 meta 标签起作用了。
下面列出以上的优先顺序:
.. header("content-type:text/html; charset=xxx")
.. AddDefaultCharset xxx
..
如果你是 web 程序员,建议给你的每个页面都加个header("content-type:text/html;charset=xxx"),这样就可以保证它在任何服务器都能正确显示,可移植性也比较强。
4) php.ini 中的 default_charset 配置:
php.ini 中的 default_charset = "gb2312" 定义了 php 的默认语言字符集。一般推荐注释掉此行,让浏览器根据网页头中的 charset 来自动选择语言而非做一个强制性的规定,这样就可以在同台服务器上提供多种语言的网页服务。
在很多时间使用了session就会出来如下提示了,
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/u114264/include/db_mysql教程.class.php教程:1) in /home/u114264/login1.php on line 3
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/u114264/include/db_mysql.class.php:1) in /home/u114264/login1.php on line 3
分析最大的可能是在session_start()前面有字符输出包括空格 ,只要处理就好了,
还有一种方法直接给session_start()加上@session_start()就没事了。不推荐
地址解决方案。
最通常的解决方案。打开output_buffering = 4096; 全局性质。
第二种解决方案。
ob_start :打开输出缓冲区
函数格式:void ob_start(void)
说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。
注意的地方:
如果使用utf-8编码,一定要去掉UTF-8中的BOM,这都是因为utf-8编码文件含有的bom原因,而php4,5都是不支持bom的。去掉bom,可以用Notepad++打开转换一下。
php教程 字符串编码转换的常用几种方法
mb_convert_encoding()
PHP的内码转换函数
版本(PHP 4 >= 4.0.6, PHP 5)
这个函数可以将各种编码互相转换
做一个GBK To UTF-8
< ?php
header("content-Type: text/html; charset=Utf-8");
echo mb_convert_encoding("你是我的友仔", "UTF-8", "GBK");
?>
再来个GB2312 To Big5
< ?php
header("content-Type: text/html; charset=big5");
echo mb_convert_encoding("你是我的朋友", "big5", "GB2312");
?>
iconv()
php内码转换函数,同上
因为iconv()在转换gb2312时的bug,所以要这样处理
PHP codeiconv( "UTF-8", "gb2312//IGNORE" , $str)
ignore的意思是忽略转换时的错误,发现iconv在转换字符"—"到gb2312时会出错,如果没有
ignore参数,所有该字符后面的字符串都无法被保存。
另外mb_convert_encoding没有这个bug,所以最好的写法是:
PHP codemb_convert_encoding($str,"gb2312", "UTF-8");
但是需要先enable mbstring 扩展库。
也可以把mysql教程数据库教程的collation设成utf-8就不用作转换了
三句mysql真言
SQL code
SET NAMES utf8;
SET CHARACTER SET utf8;
SET COLLATION_CONNECTION='utf8_general_ci';
自定函数1
--------------------------------------------------------------------------------
---
网上找的转换函数,将GB2312进行转换的,修改为utf-8后转换错误,无法解析中文.....期待正
则狂人...
PHP code<?php
function escape($str) {
preg_match_all("/[x80-xff].|[x01-x7f]+/",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(ord($v[0]) < 128)
$ar[$k] = rawurlencode($v);
else
$ar[$k] = "%u".bin2hex(iconv("GB2312","UCS-2",$v));
}
return join("",$ar);
}
function unescape($str) {
$str = rawurldecode($str);
preg_match_all("/(?:%u.{4})|.+/",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(substr($v,0,2) == "%u" && strlen($v) == 6)
$ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($v,-4)));
}
return join("",$ar);
}
?>
自定函数2
--------------------------------------------------------------------------------
---
感谢论坛gingzai777 ,高手就是不一样,一眼就能看出问题所在.....
以后php过滤用这个行了,不需要顾虑文件编码了.....
PHP code<?php
function addslashes_str($str){
$str=addslashes($str);
$str=str_replace($str,";",';');
return $str;
}
function strips教程lashes_str($str){
$str=stripslashes($str);
$str=str_replace($str,';',";");
return $str;
}
?>
相关文章
- 在很多网站用户先访问一个要登录的页面,但当时没有登录后来登录了,等待用户登录成功之后肯定希望返回到上次访问的页面,下面我就来给大家介绍登录后跳转回原来要访问的页...2016-11-25
- 本文章完美的利用了php的curl功能实现模拟登录discuz以及模拟发帖,本教程供参考学习哦。 代码如下 复制代码 <?php $discuz_url = ‘ht...2016-11-25
- phpmyadmin config.inc.php配置示例...2013-09-29
- 步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
Ruby on Rails实现最基本的用户注册和登录功能的教程
这里我们主要以has_secure_password的用户密码验证功能为中心,来讲解Ruby on Rails实现最基本的用户注册和登录功能的教程,需要的朋友可以参考下...2020-06-30- photoshop的直排文字工具,打出的字特别是英文字母,默认排列侧向的,如何调整为正向排列呢?下面我们就来看看标准的罗马对齐方式应该怎么设置。 1、在PS中点击“工具面...2017-01-22
- 什么是SSO?单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护...2015-11-08
- 【问题描述】:同一用户在同一时间多次登录如果不能检测出来,是危险的。因为,你无法知道是否有其他用户在登录你的账户。如何禁止同一用户多次登录呢? 【解决方案】 (1) 每次登录,身份认证成功后,重新产生一个session_id。 s...2015-11-24
- 什么是SSO?单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护...2015-11-08
- 这篇文章主要为大家详细介绍了vue实现用户登录切换,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-04-22
- 多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分。而如何批量修改已有数据库的前缀名呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介绍的是相对简单的...2015-10-21
- phpmyadmin是一款很不错的WEB对mysql数据库管理软件,如果你想创建数据库与设置用户权限我们必须操作用户的很高的权限,如ROOT权限,下面我来给大家介绍介绍。 先来配...2016-11-25
- 出现phpmyadmin不能登录是我在修改我mysql服务器密码之后导致的,后来百度了相关的原因,原来是修改了mysql密码之后我们还需要在phpmyadmin目录中去修改config.inc.php中...2016-11-25
Vue-Element-Admin集成自己的接口实现登录跳转
关于这个Vue-element-admin中的流程可能对于新的同学不是很友好,所以本文将结合实例代码,介绍Vue-Element-Admin集成自己的接口实现登录跳转,感兴趣的小伙伴们可以参考一下...2021-06-23- 这篇文章主要介绍了浅谈js二维码扫码登录是什么原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-13
- 昨天有一朋友说自己的phpmyadmin不能登录并且无任何提示了,问我怎么解决,下面我来分享一下关于phpmyadmin不能登录问题总结. phpmyadmin不能登录没有提示 解决方法:...2016-11-25
- session在php中是一个非常重要的东西,像我们用户登录一般都使用到session这个东西,相对于cookie来说session 要安全很多,同时我们购物车经常使用session来做临时的记录保存哦。使用session保存页面登录信息1、数据库连接...2015-10-21
- cookie 的用途之一是存储用户在特定网站上的密码和 id。另外,也用于存储起始页的首选项。在提供个人化查看的网站上,将要求阁下的网络浏览器利用阁下计算机硬驱上的少量...2016-11-25
- 这篇文章主要介绍了SpringBoot登录拦截配置详解(实测可用),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-22
- phpmyadmin还有高级功能可能大部份站长不知道吧,今天本文章就来给大家介绍phpMyAdmin 高级功能设置的方法图解,希望文章对大家会有所帮助。 phpMyAdmin 安装后,默认...2016-11-25