0

0

PHP高手带路:问题汇总解答(2)

php中文网

php中文网

发布时间:2016-06-21 08:59:14

|

1189人浏览过

|

来源于php中文网

原创

  [回顾]:上集介绍了"调试程序","如何使用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代码:

  
  //必须通过超级连接进入才有输出

  Echo $_SERVER['HTTP_REFERER'];

  ?>

18:数据放入数据库和取出来显示在页面需要注意什么
  入库时

  $str=addslashes($str);

  $sql="insert into `tab` (`content`) values('$str')";

  出库时

  $str=stripslashes($str);

  显示时

  $str=htmlspecialchars(nl2br($str)) ;
  
  //$content来自数据库

  $content=nl2br(htmlspecialchars($content));

  $content=str_replace(" "," ",$content);

  $content=str_replace("\n","
\n",$content);

  ?>

19:如何读取当前地址栏信息
  PHP代码:

  
  $s="http://{$_SERVER['HTTP_HOST']}:{$_SERVER["SERVER_PORT"]}{$_SERVER['SCRIPT_NAME']}";

  $se='';
  foreach ($_GET as $key => $value) {
  $se.=$key."=".$value."&";
  }
  $se=Preg_Replace("/(.*)&$/","$1",$se);
  $se?$se="?".$se:"";
  echo $s."?$se";
  ?>

20:我点击后退按钮,为什么之前填写的东西不见
  这是因为你使用了session.

  解决办法:
  PHP代码:

    .....................?>

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");

  }

小K直播姬
小K直播姬

全球首款AI视频动捕虚拟直播产品

下载

  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`)

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代码:

  
  //首先你要有读写文件的权限

  //本程序可以直接运行,第一次报错,以后就可以

   $online_log = "count.dat"; //保存人数的文件,

   $timeout = 30;//30秒内没动作者,认为掉线

   $entries = file($online_log);
   $temp = array();

   for ($i=0;$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代码:

  
  //这里使用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代码:

  



  

  


  
  $str=$_POST['str'];

  eval("\$o=$str;");

  Echo "$o";

  ?>


  到此,php的问题解答就为大家介绍完毕,希望能对各位有所帮助。



PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Golang处理数据库错误教程合集
Golang处理数据库错误教程合集

本专题整合了Golang数据库错误处理方法、技巧、管理策略相关内容,阅读专题下面的文章了解更多详细内容。

2

2026.02.06

java多线程方法汇总
java多线程方法汇总

本专题整合了java多线程面试题、实现函数、执行并发相关内容,阅读专题下面的文章了解更多详细内容。

0

2026.02.06

1688阿里巴巴货源平台入口与批发采购指南
1688阿里巴巴货源平台入口与批发采购指南

本专题整理了1688阿里巴巴批发进货平台的最新入口地址与在线采购指南,帮助用户快速找到官方网站入口,了解如何进行批发采购、货源选择以及厂家直销等功能,提升采购效率与平台使用体验。

90

2026.02.06

快手网页版入口与电脑端使用指南 快手官方短视频观看入口
快手网页版入口与电脑端使用指南 快手官方短视频观看入口

本专题汇总了快手网页版的最新入口地址和电脑版使用方法,详细提供快手官网直接访问链接、网页端操作教程,以及如何无需下载安装直接观看短视频的方式,帮助用户轻松浏览和观看快手短视频内容。

15

2026.02.06

C# 多线程与异步编程
C# 多线程与异步编程

本专题深入讲解 C# 中多线程与异步编程的核心概念与实战技巧,包括线程池管理、Task 类的使用、async/await 异步编程模式、并发控制与线程同步、死锁与竞态条件的解决方案。通过实际项目,帮助开发者掌握 如何在 C# 中构建高并发、低延迟的异步系统,提升应用性能和响应速度。

10

2026.02.06

Python 微服务架构与 FastAPI 框架
Python 微服务架构与 FastAPI 框架

本专题系统讲解 Python 微服务架构设计与 FastAPI 框架应用,涵盖 FastAPI 的快速开发、路由与依赖注入、数据模型验证、API 文档自动生成、OAuth2 与 JWT 身份验证、异步支持、部署与扩展等。通过实际案例,帮助学习者掌握 使用 FastAPI 构建高效、可扩展的微服务应用,提高服务响应速度与系统可维护性。

6

2026.02.06

JavaScript 异步编程与事件驱动架构
JavaScript 异步编程与事件驱动架构

本专题深入讲解 JavaScript 异步编程与事件驱动架构,涵盖 Promise、async/await、事件循环机制、回调函数、任务队列与微任务队列、以及如何设计高效的异步应用架构。通过多个实际示例,帮助开发者掌握 如何处理复杂异步操作,并利用事件驱动设计模式构建高效、响应式应用。

7

2026.02.06

java连接字符串方法汇总
java连接字符串方法汇总

本专题整合了java连接字符串教程合集,阅读专题下面的文章了解更多详细操作。

25

2026.02.05

java中fail含义
java中fail含义

本专题整合了java中fail的含义、作用相关内容,阅读专题下面的文章了解更多详细内容。

28

2026.02.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 2.1万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 823人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号