仓酷云
标题:
PHP网站制作之PHP高手领路:成绩汇总解答(2)
[打印本页]
作者:
变相怪杰
时间:
2015-2-3 23:57
标题:
PHP网站制作之PHP高手领路:成绩汇总解答(2)
应该大致熟悉了一些学习过程,也许我的过程和你的有些出路,但是不管怎么样是殊途同归,我写这么多,也只是给大家一个借鉴的机会,至于好与不好,默默不敢打包票^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等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度
作者:
深爱那片海
时间:
2015-2-4 07:19
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者:
乐观
时间:
2015-2-6 19:48
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者:
莫相离
时间:
2015-2-28 05:45
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者:
分手快乐
时间:
2015-3-1 02:18
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者:
冷月葬花魂
时间:
2015-3-7 21:01
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者:
admin
时间:
2015-3-15 13:41
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者:
老尸
时间:
2015-3-19 17:40
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者:
若天明
时间:
2015-3-24 16:29
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者:
透明
时间:
2015-3-29 13:13
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
作者:
再现理想
时间:
2015-3-31 07:59
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者:
活着的死人
时间:
2015-3-31 08:46
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者:
小妖女
时间:
2015-4-5 20:52
本文当是我的笔记啦,遇到的问题随时填充
作者:
柔情似水
时间:
2015-4-11 00:09
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者:
再见西城
时间:
2015-4-12 22:52
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者:
金色的骷髅
时间:
2015-4-14 12:02
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者:
山那边是海
时间:
2015-4-16 13:44
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者:
精灵巫婆
时间:
2015-4-20 22:44
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox 支持的不是很好,所以能少用还是少用的好。
作者:
小魔女
时间:
2015-5-8 07:52
Ps:以上纯属原创,如有雷同,纯属巧合
作者:
爱飞
时间:
2015-6-17 17:30
实践是检验自己会不会的真理。
欢迎光临 仓酷云 (http://www.ckuyun.com/)
Powered by Discuz! X3.2