仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2020|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网站制作之PHP高手领路:成绩汇总解答(2)

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:57:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-14 13:50

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表