|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
应该大致熟悉了一些学习过程,也许我的过程和你的有些出路,但是不管怎么样是殊途同归,我写这么多,也只是给大家一个借鉴的机会,至于好与不好,默默不敢打包票^0^ [回忆]:上集引见了"调试法式","若何利用session","标准SQL语句"等15个成绩(Php高手领路--成绩汇总解答[1])。本集持续作出16条罕见成绩的解答。
16:我想修正MySQL的用户,暗码
起首要声明一点,大局部情形下,修正MySQL是需求有mysql里的root权限的,
所以普通用户没法更改暗码,除非恳求办理员.
办法一
利用phpmyadmin,这是最复杂的了,修正mysql库的user表,
不外别忘了利用PASSWORD函数。
办法二
利用mysqladmin,这是后面声明的一个特例。
mysqladmin -u root -p password mypasswd
输出这个号令后,需求输出root的原暗码,然后root的暗码将改成mypasswd。
把号令里的root改成你的用户名,你就能够改你本人的暗码了。
固然假如你的mysqladmin毗连不上mysql server,或你没有举措履行mysqladmin,
那末这类办法就是有效的。
并且mysqladmin没法把暗码清空。
上面的办法都在mysql提醒符下利用,且必需有mysql的root权限:
办法三
mysql> INSERT INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
切实地说这是在增添一个用户,用户名为jeffrey,暗码为biscuit。
在《mysql中文参考手册》里有这个例子,所以我也就写出来了。
注重要利用PASSWORD函数,然后还要利用FLUSH PRIVILEGES。
办法四
和办法三一样,只是利用了REPLACE语句
mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
办法五
利用SET PASSWORD语句,
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');
你也必需利用PASSWORD()函数,
然而不需求利用FLUSH PRIVILEGES。
办法六
利用GRANT ... IDENTIFIED BY语句
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
这里PASSWORD()函数是不用要的,也不需求利用FLUSH PRIVILEGES。
注重: PASSWORD() [不是]以在Unix口令加密的一样办法实施口令加密。
17:我想晓得他是经由过程哪一个网站毗连到本页
PHP代码:
<?php
//必需经由过程超等毗连进入才有输入
Echo $_SERVER['HTTP_REFERER'];
?>
18:数据放入数据库和掏出来显示在页面需求注重甚么
入库时
$str=addslashes($str);
$sql="insert into `tab` (`content`) values('$str')";
出库时
$str=stripslashes($str);
显示时
$str=htmlspecialchars(nl2br($str)) ;
<?php
//$content来自数据库
$content=nl2br(htmlspecialchars($content));
$content=str_replace(" "," ",$content);
$content=str_replace("\n","<br>\n",$content);
?>
19:若何读取以后地址栏信息
PHP代码:
<?php
$s="http://{$_SERVER['HTTP_HOST']}:{$_SERVER["SERVER_PORT"]}{$_SERVER['SCRIPT_NAME']}";
$se='';
foreach ($_GET as $key => $value) {
$se.=$key."=".$value."&";
}
$se=Preg_WordStr("/(.*)&$/","$1",$se);
$se?$se="?".$se:"";
echo $s."?$se";
?>
20:我点击前进按钮,为何之前填写的器材不见
这是由于你利用了session.
处理举措:
PHP代码:
<?php session_cache_limiter('private, must-revalidate');session_start();
.....................?>
21:怎样在图片里显示IP地址
PHP代码:
<? Header("Content-type: image/png");
$img = ImageCreate(180,50);
$ip = $_SERVER['REMOTE_ADDR'];
ImageColorTransparent($img,$bgcolor);
$bgColor = ImageColorAllocate($img, 0x2c,0x6D,0xAF); // 后台色彩
$shadow = ImageColorAllocate($img, 250,0,0); // 暗影色彩
$textColor = ImageColorAllocate($img, oxff,oxff,oxff); // 字体色彩
ImageTTFText($img,10,0,78,30,$shadow,"d:/windows/fonts/Tahoma.ttf",$ip);
//显示后台
ImageTTFText($img,10,0,25,28,$textColor,"d:/windows/fonts/Tahoma.ttf","your ip is".$ip);
// 显示IP
ImagePng($img);
imagecreatefrompng($img);
ImageDestroy($img);
?>
22:若何获得用户的真实IP
PHP代码:
<? function iptype1 () {
if (getenv("HTTP_CLIENT_IP"))
{
return getenv("HTTP_CLIENT_IP");
}
else
{
return "none";
}
}
function iptype2 () {
if (getenv("HTTP_X_FORWARDED_FOR"))
{
return
getenv("HTTP_X_FORWARDED_FOR");
}
else {
return "none";
}
}
function iptype3 () {
if (getenv("REMOTE_ADDR"))
{
return getenv("REMOTE_ADDR");
}
else {
return "none";
}
}
function ip() {
$ip1 = iptype1();
$ip2 = iptype2();
$ip3 = iptype3();
if (isset($ip1) && $ip1 != "none" && $ip1 != "unknown")
{
return $ip1;
}
elseif (isset($ip2) && $ip2 != "none" && $ip2 != "unknown")
{
return $ip2;
}
elseif (isset($ip3) && $ip3 != "none" && $ip3 != "unknown")
{
return $ip3;
}
else
{ return "none"; }
}
Echo ip();
?>
23:若何从数据库读取三天内的一切纪录
起首表格里要有一个DATETIME字段纪录工夫,
格局为'2003-7-15 16:50:00'
SELECT * FROM `xltxlm` WHERE TO_DAYS(NOW()) - TO_DAYS(`date`) <= 3;
24:若何近程链接Mysql数据库
在增添用户的mysql内外有一个host字段,修正为"%",或指定答应毗连的ip地址,如许,你就能够近程挪用了。
$link=mysql_connect("192.168.1.80:3306","root","");
25:正则究竟怎样用
点击这里
正则表达式中的特别字符
26:用Apache后,主页呈现乱码
办法一:
AddDefaultCharset ISO-8859-1 改成 AddDefaultCharset off
办法二:
AddDefaultCharset 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中界说的");
设置轮回格局为:
<!--(多于一个空格) BEGIN $handle(多于一个空格)-->
若何将模板生成静态网页
PHP代码:
<?php
//这里利用phplib模板
............
............
$tpl->parse("output","html");
$output = $tpl->get("output");// $output 为全部网页内容
function wfile($file,$content,$mode='w') {
$oldmask = umask(0);
$fp = fopen($file, $mode);
if (!$fp) return false;
fwrite($fp,$content);
fclose($fp);
umask($oldmask);
return true;
}
// 写到文件里
Wfile($FILE,$output);
header("location:$FILE");//重定向到生成的网页
}
?>
phplib下载地址 smarty下载地址
31:怎样用php注释字符
好比:输出2+2*(1+2),主动输入8 可以用eval函数
PHP代码:
<form method=post action="">
<input type="text" name="str"><input type="submit">
</form>
<?php
$str=$_POST['str'];
eval("\$o=$str;");
Echo "$o";
?>
到此,php的成绩解答就为人人引见终了,但愿能对列位有所匡助。
熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度 |
|