目录:
1:为什么我得不到变量
2:调试你的程序
3:如何使用session
4:为什么我向另一网页传送变量时,只得到前半部分,以空格开头的则全部丢失
5:如何截取指定长度汉字而不会出现以"?>"结尾,超出部分以"..."代替
6:规范你的sql语句
7:如何使Html/PHP格式的字符串不被解释,而是照原样显示
8:怎么在函数里取得函数外的变量值
9:我怎么知道系统默认支持什么函数
10:如何比较两个日期相差几天
11:为什么我升级PHP后,原来的程序出现满屏的Notice:Undefinedvariable:
12:我想在每个文件最前,最后面都加上一文件.但一个一个添加很麻烦
13:如何利用PHP上传文件
14:如何配置GD库
15:什么是UBB代码
16:我想修改MysqL的用户,密码
17:我想知道他是通过哪个网站连接到本页
18:数据放入数据库和取出来显示在页面需要注意什么
19:如何读取当前地址栏信息
20:我点击后退按钮,为什么之前填写的东西不见
21:怎么在图片里显示IP地址
22:如何取得用户的真实IP
23:如何从数据库读取三天内的所有记录
24:如何远程链接MysqL数据库
25:正则到底怎么用
26:用Apache后,主页出现乱码
27:为什么单引号,双引号在接受页面变成(\'\")
28:怎么让程序一直运行下去,而不是超过30秒就停止
29:计算当前在线人数
30:什么是模板,怎么用
31:怎么用PHP解释字符
1:为什么我得不到变量 我在一网页向另一网页POST数据name,为什么输出$name时却得不到任何值? 在PHP4.2以后的版本中register_global默认为off
若想取得从另一页面提交的变量: 方法一:在PHP.ini中找到register_global,并把它设置为on.
方法二:在接收网页最前面放上这个extract($_POST);extract($_GET);(注意extract($_SESSION)前必须要有Session_Start()).
方法三:一个一个读取变量$a=$_GET[\"a\"];$b=$_POST[\"b\"]等,这种方法虽然麻烦,但比较安全. 2:调试你的程序 在运行时必须知道某个变量为何值。我是这样做的,建立一文件debug.PHP,其内容如下: PHP代码:-------------------------------------------------------------------------------- <?PHP
Ob_Start();
Session_Start();
Echo\"
\"; Echo\"本页得到的_GET变量有:\";\";
Print_R($_GET); Echo\"本页得到的_POST变量有:\";
Print_R($_POST); Echo\"本页得到的_COOKIE变量有:\";
Print_R($_COOKIE); Echo\"本页得到的_SESSION变量有:\";
Print_R($_SESSION);
Echo\"
?> -------------------------------------------------------------------------------- 然后在PHP.ini中设置:include_path=\"c:/PHP\",并将debug.PHP放在此文件夹,
以后就可以在每个网页里包含此文件,查看得到的变量名和值. 3:如何使用session 凡是与session有关的,之前必须调用函数session_start(); 为session付值很简单,如:
PHP代码:-------------------------------------------------------------------------------- <?PHP
Session_start();
$Name=\"这是一个Session例子\";
Session_Register(\"Name\");//注意,不要写成:Session_Register(\"$Name\");
Echo$_SESSION[\"Name\"];
//之后$_SESSION[\"Name\"]为\"这是一个Session例子\"
?> -------------------------------------------------------------------------------- 在PHP4.2之后,可以为session直接付值: PHP代码:-------------------------------------------------------------------------------- <?PHP
Session_Start();
$_SESSION[\"name\"]=\"value\";
?> -------------------------------------------------------------------------------- 取消session可以这样: PHP代码:-------------------------------------------------------------------------------- <?PHP
session_start();
session_unset();
session_destroy();
?> --------------------------------------------------------------------------------
取消某个session变量在PHP4.2以上还有BUG. 注意: 1:在调用Session_Start()之前不能有任何输出.例如下面是错误的.
==========================================
1行
2行<?PHP
3行Session_Start();//之前在第一行已经有输出
4行.....
5行?>
==========================================
提示1: 凡是出现\"........headersalreadysent..........\",就是Session_Start()之前向浏览器输出信息.
去掉输出就正常,(COOKIE也会出现这种错误,错误原因一样) 提示2: 如果你的Session_Start()放在循环语句里,并且很难确定之前哪里向浏览器输出信息,可以用下面这种方法:
1行<?PHPOb_Start();?>
........这里是你的程序...... 2:这是什么错误 Warning:session_start():open(/tmp\sess_7d190aa36b4c5ec13a5c1649cc2da23f,O_RDWR)Failed:....
因为你没有指定session文件的存放路径. 解决方法:
(1)在c盘建立文件夹tmp
(2)打开PHP.ini,找到session.save_path,修改为session.save_path=\"c:/tmp\" 4:为什么我向另一网页传送变量时,以空格开头的则全部丢失
PHP代码:-------------------------------------------------------------------------------- <?PHP
$Var=\"helloPHP\";//修改为$Var=\"helloPHP\";试试得到什么结果
$post=\"receive.PHP?Name=\".$Var;
header(\"location:$post\");
?> -------------------------------------------------------------------------------- receive.PHP的内容: PHP代码:-------------------------------------------------------------------------------- <?PHP
Echo\"
\";\";
Echo$_GET[\"Name\"];
Echo\"
?> --------------------------------------------------------------------------------
正确的方法是: PHP代码:-------------------------------------------------------------------------------- <?PHP
$Var=\"helloPHP\";
$post=\"receive.PHP?Name=\".urlencode($Var);
header(\"location:$post\");
?> --------------------------------------------------------------------------------
在接收页面你不需要使用Urldecode(),变量会自动编码.
5:如何截取指定长度汉字而不会出现以\"?>\"结尾,超出部分以\"...\"代替
一般来说,要截取的变量来自MysqL,首先要保证那个字段长度要足够长,一般为char(200),可以保持100个汉字,包括标点. PHP代码:-------------------------------------------------------------------------------- <?PHP
$str=\"这个字符好长呀,^_^\";
$Short_Str=showShort($str,4);//截取前面4个汉字,结果为:这个字符...
Echo\"$Short_Str\";
Functioncsubstr($str,$start,$len)
{
$strlen=strlen($str);
$clen=0;
for($i=0;$i<$strlen;$i++,$clen++)
{
if($clen>=$start+$len)
break;
if(ord(substr($str,$i,1))>0xa0)
{
if($clen>=$start)
$tmpstr.=substr($str,2);
$i++;
}
else
{
if($clen>=$start)
$tmpstr.=substr($str,1);
}
} return$tmpstr;
}
FunctionshowShort($str,$len)
{
$tempstr=csubstr($str,$len);
if($str<>$tempstr)
$tempstr.=\"...\";//要以什么结尾,修改这里就可以. return$tempstr;
} -------------------------------------------------------------------------------- 6:规范你的sql语句[/color]
在表格,字段前面加上\"
\",这样就不会因为误用关键字而出现<a href="/tag/cuowu/" target="_blank" class="keywords">错误</a>, <BR>当然我并不推荐你使用关键字. 例如 <BR>$<a href="/tag/sql/" target="_blank" class="keywords">sql</a>=\"InsertINTO
xltxlm(
author,
title,
id,
content,
date)VALUES(\'xltxlm\',\'use
\',1,\'criterionyoursqlstring\',-07-1100:00:00\')\" \"\"怎么输入?在TAB键上面. <BR>[color=blue]7:如何使Html/<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>格式的字符串不被解释,而是照原样<a href="/tag/xianshi/" target="_blank" class="keywords">显示</a> <BR><a href="/tag/PHP/" target="_blank" class="keywords">PHP</a><a href="/tag/daima/" target="_blank" class="keywords">代码</a>:-------------------------------------------------------------------------------- <?<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a> <BR>$str=\"<h1><a href="/tag/PHP/" target="_blank" class="keywords">PHP</a></h1>\"; <BR>Echo\"被解释过的:\".$str.\"<br>经过处理的:\"; <BR>Echohtmlentities(nl2br($str)); <BR>?> -------------------------------------------------------------------------------- 8:怎么在<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>里取得<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>外的变量值 <BR><a href="/tag/PHP/" target="_blank" class="keywords">PHP</a><a href="/tag/daima/" target="_blank" class="keywords">代码</a>:-------------------------------------------------------------------------------- <?<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a> <BR>$a=\"<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>\"; <BR>foo(); <BR>Functionfoo() <BR>{ <BR>global$a;//<a href="/tag/shanchu/" target="_blank" class="keywords">删除</a>这里看看是什么结果 <BR>Echo\"$a\"; <BR>} <BR>?> -------------------------------------------------------------------------------- 9:我怎么知道系统默认<a href="/tag/zhichi/" target="_blank" class="keywords">支持</a>什么<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a> <BR><a href="/tag/PHP/" target="_blank" class="keywords">PHP</a><a href="/tag/daima/" target="_blank" class="keywords">代码</a>:-------------------------------------------------------------------------------- <?<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a> <BR>$arr=get_defined_functions(); <BR>Function<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>(){ <BR>} <BR>echo\"<pre>\"; <BR>Echo\"这里<a href="/tag/xianshi/" target="_blank" class="keywords">显示</a>系统所<a href="/tag/zhichi/" target="_blank" class="keywords">支持</a>的所有<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>,和自定以<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a><a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>\\n\"; <BR>print_r($arr); <BR>echo\"</pre>\"; <BR>?> <BR>-------------------------------------------------------------------------------- <BR>10:如何比较两个日期相差几天 <BR><a href="/tag/PHP/" target="_blank" class="keywords">PHP</a><a href="/tag/daima/" target="_blank" class="keywords">代码</a>:-------------------------------------------------------------------------------- <?<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a> <BR>$Date_1=\"2003-7-15\";//也可以是:$Date_1=\"2003-6-2523:29:14\"; <BR>$Date_2=\"1982-10-1\"; <BR>$Date_List_1=explode(\"-\",$Date_1); <BR>$Date_List_2=explode(\"-\",$Date_2); <BR>$d1=mktime(0,$Date_List_1[1],$Date_List_1[2],$Date_List_1[0]); <BR>$d2=mktime(0,$Date_List_2[1],$Date_List_2[2],$Date_List_2[0]); <BR>$Days=round(($d1-$d2)/3600/24); <BR>Echo\"偶已经奋斗了$Days天^_^\"; <BR>?> -------------------------------------------------------------------------------- <BR>11:为什么我<a href="/tag/shengji/" target="_blank" class="keywords">升级</a><a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>后,原来的程序出现满屏的Notice:Undefinedvariable: <BR>这是警告的意思,由于变量未定义引起的. <BR>打开<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>.ini,找到最下面的error_reporting,<a href="/tag/xiugai/" target="_blank" class="keywords">修改</a>为error_reporting=E_ALL&~E_NOTICE 对于Parseerror<a href="/tag/cuowu/" target="_blank" class="keywords">错误</a> <BR>error_reporting(0)无法<a href="/tag/guanbi/" target="_blank" class="keywords">关闭</a>. <BR>如果你想<a href="/tag/guanbi/" target="_blank" class="keywords">关闭</a>任何<a href="/tag/cuowu/" target="_blank" class="keywords">错误</a><a href="/tag/tishi/" target="_blank" class="keywords">提示</a>,打开<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>.ini,找到display_errors,设置为display_errors=Off.以后任何<a href="/tag/cuowu/" target="_blank" class="keywords">错误</a>都不会<a href="/tag/tishi/" target="_blank" class="keywords">提示</a>. 那什么是error_reporting? 12:我想在每个<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>最前,最后面都<a href="/tag/jiashang/" target="_blank" class="keywords">加上</a>一<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>.但一个一个<a href="/tag/tianjia/" target="_blank" class="keywords">添加</a>很麻烦 1:打开<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>.ini<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a> <BR>设置include_path=\"c:\" 2:写两个<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a> <BR>auto_prepend_file.<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>和auto_append_file.<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>保存在c盘,他们将<a href="/tag/zidong/" target="_blank" class="keywords">自动</a>依附在每个<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a><a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>的头部和尾部. 3:在<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>.ini中找到: <BR>Automaticallyaddfilesbeforeorafterany<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>document. <BR>auto_prepend_file=auto_prepend_file.<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>;依附在头部 <BR>auto_append_file=auto_append_file.<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>;依附在尾部 以后你每个<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a><a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>就相当于 <a href="/tag/PHP/" target="_blank" class="keywords">PHP</a><a href="/tag/daima/" target="_blank" class="keywords">代码</a>:-------------------------------------------------------------------------------- <?<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a> <BR>Include\"auto_prepend_file.<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>\"; .......//这里是你的程序 <BR>Include\"auto_append_file.<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>\"; <BR>?> -------------------------------------------------------------------------------- <BR>13:如何利用<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a><a href="/tag/shangchuan/" target="_blank" class="keywords">上传</a><a href="/tag/wenjian/" target="_blank" class="keywords">文件</a> <a href="/tag/PHP/" target="_blank" class="keywords">PHP</a><a href="/tag/daima/" target="_blank" class="keywords">代码</a>:-------------------------------------------------------------------------------- <html><head> <BR><title>上载<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>表单</title></head> <BR><body> <BR><formenctype=\"multipart/form-data\"action=\"\"method=\"post\"> <BR>请选择<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>:<br> <BR><inputname=\"upload_file\"type=\"file\"><br> <BR><inputtype=\"submit\"value=\"<a href="/tag/shangchuan/" target="_blank" class="keywords">上传</a><a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>\"> <BR></form> <BR></body> <BR></html> <? <BR>$upload_file=$_FILES[\'upload_file\'][\'tmp_name\']; <BR>$upload_file_name=$_FILES[\'upload_file\'][\'name\']; if($upload_file){ <BR>$file_size_max=1000*1000;//1M限制<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a><a href="/tag/shangchuan/" target="_blank" class="keywords">上传</a>最大容量(bytes) <BR>$store_dir=\"d:/\";//<a href="/tag/shangchuan/" target="_blank" class="keywords">上传</a><a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>的储存位置 <BR>$accept_overwrite=1;//是否允许覆盖相同<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a> <BR>//检查<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>大小 <BR>if($upload_file_size>$file_size_max){ <BR>echo\"对不起,你的<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>容量大于规定\"; <BR>exit; <BR>} //检查读写<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a> <BR>if(file_exists($store_dir.$upload_file_name)&&!$accept_overwrite){ <BR>Echo\"存在相同<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>名的<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>\"; <BR>exit; <BR>} //复制<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>到指定目录 <BR>if(!move_uploaded_file($upload_file,$store_dir.$upload_file_name)){ <BR>echo\"复制<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>失败\"; <BR>exit; <BR>} } Echo\"<p>你<a href="/tag/shangchuan/" target="_blank" class="keywords">上传</a>了<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>:\"; <BR>echo$_FILES[\'upload_file\'][\'name\']; <BR>echo\"<br>\"; <BR>//客户端机器<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>的原<a href="/tag/mingcheng/" target="_blank" class="keywords">名称</a>。 Echo\"<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>的MIME类型为:\"; <BR>echo$_FILES[\'upload_file\'][\'type\']; <BR>//<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>的MIME类型,需要浏览器提供该信息的<a href="/tag/zhichi/" target="_blank" class="keywords">支持</a>,例如“image/gif”。 <BR>echo\"<br>\"; Echo\"<a href="/tag/shangchuan/" target="_blank" class="keywords">上传</a><a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>大小:\"; <BR>echo$_FILES[\'upload_file\'][\'size\']; <BR>//已<a href="/tag/shangchuan/" target="_blank" class="keywords">上传</a><a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>的大小,单位为字节。 <BR>echo\"<br>\"; Echo\"<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a><a href="/tag/shangchuan/" target="_blank" class="keywords">上传</a>后被临时储存为:\"; <BR>echo$_FILES[\'upload_file\'][\'tmp_name\']; <BR>//<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>被<a href="/tag/shangchuan/" target="_blank" class="keywords">上传</a>后在服务端储存的临时<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>名。 <BR>echo\"<br>\"; <BR>$Erroe=$_FILES[\'upload_file\'][\'error\']; <BR>switch($Erroe){ <BR>case0: <BR>Echo\"<a href="/tag/shangchuan/" target="_blank" class="keywords">上传</a>成功\";break; <BR>case1: <BR>Echo\"<a href="/tag/shangchuan/" target="_blank" class="keywords">上传</a>的<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>超过了<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>.ini中upload_max_filesize选项限制的值.\";break; <BR>case2: <BR>Echo\"<a href="/tag/shangchuan/" target="_blank" class="keywords">上传</a><a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值。\";break; <BR>case3: <BR>Echo\"<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>只有部分被<a href="/tag/shangchuan/" target="_blank" class="keywords">上传</a>\";break; <BR>case4: <BR>Echo\"没有<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>被<a href="/tag/shangchuan/" target="_blank" class="keywords">上传</a>\";break; <BR>} <BR>?> -------------------------------------------------------------------------------- 14:如何配置GD库 <BR>下面是我的配置过程 <BR>1:用dos命令(也可以手动操作,拷贝dlls<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>夹里所有dll<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>到system32目录下)copyc:\\<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>\\dlls\\*.dllc:\\windows\\system32\\ <BR>2:打开<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>.ini <BR>设置extension_dir=\"c:/<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>/extensions/\"; <BR>3: <BR>extension=<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>_gd2.dll;把extension前面的逗号去掉,如果没有<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>_gd2.dll,<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>_gd.dll也一样,保证确实存在这一<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>c:/<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>/extensions/<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>_gd2.dll <BR>4:运行下面程序进行测试 <a href="/tag/PHP/" target="_blank" class="keywords">PHP</a><a href="/tag/daima/" target="_blank" class="keywords">代码</a>:-------------------------------------------------------------------------------- <?<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a> <BR>Ob_end_flush(); <BR>//注意,在此之前不能向浏览器<a href="/tag/shuchu/" target="_blank" class="keywords">输出</a>任何信息,要注意是否设置了auto_prepend_file. <BR>header(\"Content-type:image/png\"); <BR>$im=@imagecreate(200,100) <BR>ordie(\"无法创建图像\"); <BR>$background_color=imagecolorallocate($im,0); <BR>$text_color=imagecolorallocate($im,230,140,150); <BR>imagestring($im,3,30,50,\"ASimpleTextString\",$text_color); <BR>imagepng($im); <BR>?> -------------------------------------------------------------------------------- 点击这里查看结果 15:什么是UBB<a href="/tag/daima/" target="_blank" class="keywords">代码</a> <BR>UBB<a href="/tag/daima/" target="_blank" class="keywords">代码</a>是HTML的一个变种,是UltimateBulletinBoard(国外一个BBS程序,国内也有不少地方使用这个程序)采用的一种特殊的TAG. <BR>即使<a href="/tag/jinzhi/" target="_blank" class="keywords">禁止</a>使用HTML,你也可以用UBBCode?来实现.也许你更希望使用UBBCode?而不是HTML,即使论坛允许使用HTML,因为使用起来<a href="/tag/daima/" target="_blank" class="keywords">代码</a>较少也更安全. Q3boy的UBB里面付有例子,可以直接运行测试 <BR>16:我想<a href="/tag/xiugai/" target="_blank" class="keywords">修改</a><a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>的<a href="/tag/yonghu/" target="_blank" class="keywords">用户</a>,密码 首先要声明一点,大部分情况下,<a href="/tag/xiugai/" target="_blank" class="keywords">修改</a><a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>是需要有<a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>里的root权限的, <BR>所以一般<a href="/tag/yonghu/" target="_blank" class="keywords">用户</a>无法更改密码,除非请求<a href="/tag/guanliyuan/" target="_blank" class="keywords">管理员</a>. <a href="/tag/fangfa/" target="_blank" class="keywords">方法</a>一 <BR> 使用<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a>myadmin,这是最简单的了,<a href="/tag/xiugai/" target="_blank" class="keywords">修改</a><a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>库的user表, <BR> 不过别忘了使用PASSWORD<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>。 <a href="/tag/fangfa/" target="_blank" class="keywords">方法</a>二 <BR> 使用<a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>admin,这是前面声明的一个特例。 <BR> <a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>admin-uroot-ppasswordmypasswd <BR> 输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。 <BR> 把命令里的root改为你的<a href="/tag/yonghuming/" target="_blank" class="keywords">用户名</a>,你就可以改你自己的密码了。 <BR> 当然如果你的<a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>admin连接不上<a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>server,或者你没有办法执行<a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>admin, <BR> 那么这种<a href="/tag/fangfa/" target="_blank" class="keywords">方法</a>就是无效的。 <BR> 而且<a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>admin无法把密码清空。 下面的<a href="/tag/fangfa/" target="_blank" class="keywords">方法</a>都在<a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a><a href="/tag/tishi/" target="_blank" class="keywords">提示</a>符下使用,且必须有<a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>的root权限: <BR> <a href="/tag/fangfa/" target="_blank" class="keywords">方法</a>三 <BR> <a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>>InsertINTO<a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>.user(Host,User,Password) <BR> VALUES(\'%\',\'jeffrey\',PASSWORD(\'biscuit\')); <BR> <a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>>FLUSHPRIVILEGES <BR> 确切地说这是在<a href="/tag/zengjia/" target="_blank" class="keywords">增加</a>一个<a href="/tag/yonghu/" target="_blank" class="keywords">用户</a>,<a href="/tag/yonghuming/" target="_blank" class="keywords">用户名</a>为jeffrey,密码为biscuit。 <BR> 在《<a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a><a href="/tag/zhongwen/" target="_blank" class="keywords">中文</a>参考手册》里有这个例子,所以我也就写出来了。 <BR> 注意要使用PASSWORD<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>,然后还要使用FLUSHPRIVILEGES。 <a href="/tag/fangfa/" target="_blank" class="keywords">方法</a>四 <BR> 和<a href="/tag/fangfa/" target="_blank" class="keywords">方法</a>三一样,只是使用了REPLACE语句 <BR> <a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>>REPLACEINTO<a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>.user(Host,PASSWORD(\'biscuit\')); <BR> <a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>>FLUSHPRIVILEGES <a href="/tag/fangfa/" target="_blank" class="keywords">方法</a>五 <BR> 使用SETPASSWORD语句, <BR> <a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>>SETPASSWORDFORjeffrey@\"%\"=PASSWORD(\'biscuit\'); <BR> 你也必须使用PASSWORD()<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>, <BR> 但是不需要使用FLUSHPRIVILEGES。 <a href="/tag/fangfa/" target="_blank" class="keywords">方法</a>六 <BR> 使用GRANT...IDENTIFIEDBY语句 <BR> <a href="/tag/MysqL/" target="_blank" class="keywords">MysqL</a>>GRANTUSAGEON*.*TOjeffrey@\"%\"IDENTIFIEDBY\'biscuit\' <BR> 这里PASSWORD()<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>是不必要的,也不需要使用FLUSHPRIVILEGES。 注意:PASSWORD()[不是]以在Unix口令加密的同样<a href="/tag/fangfa/" target="_blank" class="keywords">方法</a>施行口令加密。 <BR>17:我想知道他是通过哪个网站连接到本页 <a href="/tag/PHP/" target="_blank" class="keywords">PHP</a><a href="/tag/daima/" target="_blank" class="keywords">代码</a>:-------------------------------------------------------------------------------- <?<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a> <BR>//必须通过超级连接进入才有<a href="/tag/shuchu/" target="_blank" class="keywords">输出</a> <BR>Echo$_SERVER[\'HTTP_REFERER\']; <BR>?> -------------------------------------------------------------------------------- 18:数据放入<a href="/tag/shujuku/" target="_blank" class="keywords">数据库</a>和取出来<a href="/tag/xianshi/" target="_blank" class="keywords">显示</a>在<a href="/tag/yemian/" target="_blank" class="keywords">页面</a>需要注意什么 入库时 <BR>$str=addslashes($str); <BR>$<a href="/tag/sql/" target="_blank" class="keywords">sql</a>=\"insertinto
tab(
content)values(\'$str\')\"; <BR>出库时 <BR>$str=stripslashes($str); <BR><a href="/tag/xianshi/" target="_blank" class="keywords">显示</a>时 <BR>$str=htmlspecialchars(nl2br($str)); 19:如何读取当前地址栏信息 <a href="/tag/PHP/" target="_blank" class="keywords">PHP</a><a href="/tag/daima/" target="_blank" class="keywords">代码</a>:-------------------------------------------------------------------------------- <?<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a> <BR>$s=\"http://{$_SERVER[\'HTTP_HOST\']}:{$_SERVER[\"SERVER_PORT\"]}{$_SERVER[\'SCRIPT_NAME\']}\"; <BR>$se=\'\' <BR>foreach($_GETas$key=>$value){ <BR>$se.=$key.\"=\".$value.\"&\"; <BR>} <BR>$se=Preg_Replace(\"/(.*)&$/\",\"$1\",$se); <BR>$se?$se=\"?\".$se:\"\"; <BR>echo$s.\"?$se\"; <BR>?> <BR>-------------------------------------------------------------------------------- <BR>20:我点击后退按钮,为什么之前填写的东西不见 这是因为你使用了session. <BR><a href="/tag/jiejue/" target="_blank" class="keywords">解决</a>办法: <a href="/tag/PHP/" target="_blank" class="keywords">PHP</a><a href="/tag/daima/" target="_blank" class="keywords">代码</a>:-------------------------------------------------------------------------------- <?<a href="/tag/PHP/" target="_blank" class="keywords">PHP</a> <BR>session_cache_limiter(\'禁用词语,must-revalidate\'); <BR>session_start(); <BR>........... <BR>.......... <BR>?> -------------------------------------------------------------------------------- 21:怎么在<a href="/tag/tupian/" target="_blank" class="keywords">图片</a>里<a href="/tag/xianshi/" target="_blank" class="keywords">显示</a>IP地址 <BR><a href="/tag/PHP/" target="_blank" class="keywords">PHP</a><a href="/tag/daima/" target="_blank" class="keywords">代码</a>:-------------------------------------------------------------------------------- <? <BR>Header(\"Content-type:image/png\"); <BR>$img=ImageCreate(180,50); <BR>$ip=$_SERVER[\'REMOTE_ADDR\']; <BR>ImageColorTransparent($img,$bgcolor); <BR>$bgColor=ImageColorAllocate($img,0x2c,0x6D,0xAF);//背景颜色 <BR>$shadow=ImageColorAllocate($img,250,0);//阴影颜色 <BR>$textColor=ImageColorAllocate($img,oxff,oxff);//字体颜色 <BR>ImageTTFText($img,10,78,$shadow,\"d:/windows/fonts/Tahoma.ttf\",$ip);//<a href="/tag/xianshi/" target="_blank" class="keywords">显示</a>背景 <BR>ImageTTFText($img,25,28,$textColor,\"youripis\".$ip);//<a href="/tag/xianshi/" target="_blank" class="keywords">显示</a>IP <BR>ImagePng($img); <BR>imagecreatefrompng($img); <BR>ImageDestroy($img); <BR>?> -------------------------------------------------------------------------------- 22:如何取得<a href="/tag/yonghu/" target="_blank" class="keywords">用户</a>的真实IP <BR><a href="/tag/PHP/" target="_blank" class="keywords">PHP</a><a href="/tag/daima/" target="_blank" class="keywords">代码</a>:-------------------------------------------------------------------------------- <? <BR>functioniptype1(){ <BR>if(getenv(\"HTTP_CLIENT_IP\")){ <BR>returngetenv(\"HTTP_CLIENT_IP\"); <BR>} <BR>else{ <BR>return\"none\"; <BR>} <BR>} <BR>functioniptype2(){ <BR>if(getenv(\"HTTP_X_FORWARDED_FOR\")){ <BR>returngetenv(\"HTTP_X_FORWARDED_FOR\"); <BR>} <BR>else{ <BR>return\"none\"; <BR>} <BR>} <BR>functioniptype3(){ <BR>if(getenv(\"REMOTE_ADDR\")){ <BR>returngetenv(\"REMOTE_ADDR\"); <BR>} <BR>else{ <BR>return\"none\"; <BR>} <BR>} <BR>functionip(){ <BR>$ip1=iptype1(); <BR>$ip2=iptype2(); <BR>$ip3=iptype3(); <BR>if(isset($ip1)&&$ip1!=\"none\"&&$ip1!=\"unknown\"){ <BR>return$ip1; <BR>} <BR>elseif(isset($ip2)&&$ip2!=\"none\"&&$ip2!=\"unknown\"){ <BR>return$ip2; <BR>} <BR>elseif(isset($ip3)&&$ip3!=\"none\"&&$ip3!=\"unknown\"){ <BR>return$ip3; <BR>} <BR>else{ <BR>return\"none\"; <BR>} <BR>} Echoip(); <BR>?> <BR>-------------------------------------------------------------------------------- 23:如何从<a href="/tag/shujuku/" target="_blank" class="keywords">数据库</a>读取三天内的所有记录 首先表格里要有一个DATETIME字段记录时间,<BR>格式为񟭃-7-1516:50:00\' Select*FROM
xltxlmWhereTO_DAYS(NOW())-TO_DAYS(
date`)<=3; 24:如何远程链接MysqL数据库 在增加用户的MysqL表里有一个host字段,修改为\"%\",或者指定允许连接的ip地址,这样,你就可以远程调用了。 $link=MysqL_connect(\"192.168.1.80:3306\",\"root\",\"\");
25:正则到底怎么用 点击这里
正则表达式中的特殊字符
26:用Apache后,主页出现乱码
方法一:
AddDefaultCharsetISO-8859-1改为AddDefaultCharsetoff 方法二:
AddDefaultCharsetGB2312
========================================================
tip:
大家贴代码时GB2312会被解释成?????? 改成这样就不会
GB2312 27:为什么单引号,双引号在接受页面变成(\\'\\")
解决方法:
方法一:在PHP.ini中设置:magic_quotes_gpc=Off
方法二:$str=stripcslashes($str)
28:怎么让程序一直运行下去,而不是超过30秒就停止
set_time_limit(60)//最长运行时间一分钟
set_time_limit(0)//运行到程序自己结束,或手动停止
29:计算当前在线人数 例子一:用文本实现 PHP代码:-------------------------------------------------------------------------------- <?PHP
//首先你要有读写文件的权限
//本程序可以直接运行,第一次报错,以后就可以
$online_log=\"count.dat\";//保存人数的文件,
$timeout=30;//30秒内没动作者,认为掉线
$entries=file($online_log); $temp=array(); for($i=0;$i<count($entries);$i++){
$entry=explode(\",\",trim($entries[$i]));
if(($entry[0]!=getenv(\'REMOTE_ADDR\'))&&($entry[1]>time())){
array_push($temp,$entry[0].\",\".$entry[1].\"\n\");//取出其他浏览者的信息,并去掉超时者,保存进$temp
}
} array_push($temp,getenv(\'REMOTE_ADDR\').\",\".(time()+($timeout)).\"\n\");//更新浏览者的时间
$users_online=count($temp);//计算在线人数 $entries=implode(\"\",$temp);
//写入文件
$fp=fopen($online_log,\"w\");
flock($fp,LOCK_EX);//flock()不能在NFS以及其他的一些网络文件系统中正常工作
fputs($fp,$entries);
flock($fp,LOCK_UN);
fclose($fp); echo\"当前有\".$users_online.\"人在线\"; ?>
-------------------------------------------------------------------------------- 例子二:
用数据库实现在线用户
30:什么是模板,怎么用
这里有几篇关于模板的文章 我用的是PHPlib模板
下面是其中几个函数的使用 $T->Set_File(\"随便定义\",\"模板文件.tpl\"); $T->Set_Block(\"在set_file中定义的\",\"\",\"随便定义\"); $T->Parse(\"在Set_Block中定义的\",true); $T->Parse(\"随便输出结果\",\"在Set_File中定义的\"); 设置循环格式为: 如何将模板生成静态网页 PHP代码:-------------------------------------------------------------------------------- <?PHP
//这里使用PHPlib模板
............
............
$tpl->parse(\"output\",\"html\");
$output=$tpl->get(\"output\");//$output为整个网页内容
functionwfile($file,$content,$mode=\'w\'){
$oldmask=umask(0);
$fp=fopen($file,$mode);
if(!$fp)returnfalse;
fwrite($fp,$content);
fclose($fp);
umask($oldmask);
returntrue;
}
//写到文件里
Wfile($FILE,$output);
header(\"location:$FILE\");//重定向到生成的网页
}
?>
-------------------------------------------------------------------------------- PHPlib下载地址smarty下载地址
31:怎么用PHP解释字符 比如:输入2+2*(1+2),自动输出8
可以用eval函数 PHP代码:-------------------------------------------------------------------------------- <formmethod=postaction=\"\">
<inputtype=\"text\"name=\"str\"><inputtype=\"submit\">
<?PHP
$str=$_POST[\'str\'];
eval(\"\$o=$str;\");
Echo\"$o\";
?> --------------------------------------------------------------------------------
另外,用此函数必须特别小心!!
如果有人输入format:d:会是什么结果?