首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

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

复制代码
  1. Ob_Start();
  2. Session_Start();
  3. Echo "<pre>";
  4. Echo "本页得到的_GET变量有:";
  5. Print_R($_GET);
  6. Echo "本页得到的_POST变量有:";
  7. Print_R($_POST);
  8. Echo "本页得到的_COOKIE变量有:";
  9. Print_R($_COOKIE);
  10. Echo "本页得到的_SESSION变量有:";
  11. Print_R($_SESSION);
  12. Echo "</pre>";


--------------------------------------------------------------------------------

然后在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例子"
[/php]

--------------------------------------------------------------------------------



在php4.2之后,可以为session直接付值:

PHP代码:--------------------------------------------------------------------------------

[php]
Session_Start();
$_SESSION["name"]="value";
[/php]

--------------------------------------------------------------------------------

取消session可以这样:

PHP代码:--------------------------------------------------------------------------------

[php]
session_start();
session_unset();
session_destroy();
[/php]

--------------------------------------------------------------------------------


取消某个session变量在php4.2以上还有BUG.



注意:

1:在调用Session_Start()之前不能有任何输出.例如下面是错误的.
==========================================
1行
2行 [php]
3行 Session_Start();//之前在第一行已经有输出
4行 .....
5行 [/php]
==========================================


提示1:

凡是出现"........headers already sent..........",就是Session_Start()之前向浏览器输出信息.
去掉输出就正常,(COOKIE也会出现这种错误,错误原因一样)

提示2:

如果你的Session_Start()放在循环语句里,并且很难确定之前哪里向浏览器输出信息,可以用下面这种方法:
1行 [php] Ob_Start(); [/php]
........这里是你的程序......



2:这是什么错误

Warning: session_start(): open(/tmpsess_7d190aa36b4c5ec13a5c1649cc2da23f, O_RDWR) failed:....
因为你没有指定session文件的存放路径.

解决方法:
(1)在c盘建立文件夹tmp
(2)打开php.ini,找到session.save_path,修改为session.save_path= "c:/tmp"



4:为什么我向另一网页传送变量时,只得到前半部分,以空格开头的则全部丢失


PHP代码:--------------------------------------------------------------------------------

[php]
$Var="hello php";//修改为$Var="      hello php";试试得到什么结果
$post= "receive.php?Name=".$Var;
header("location:$post");
[/php]

--------------------------------------------------------------------------------

receive.php的内容:

PHP代码:--------------------------------------------------------------------------------

[php]
Echo "<pre>";
Echo    $_GET["Name"];
Echo "</pre>";
[/php]

--------------------------------------------------------------------------------


正确的方法是:

PHP代码:--------------------------------------------------------------------------------

[php]
$Var="hello php";
$post= "receive.php?Name=".urlencode($Var);
header("location:$post");
[/php]

--------------------------------------------------------------------------------


在接收页面你不需要使用Urldecode(),变量会自动编码.


5:如何截取指定长度汉字而不会出现以"[/php]"结尾,超出部分以"..."代替


一般来说,要截取的变量来自Mysql,首先要保证那个字段长度要足够长,一般为char(200),可以保持100个汉字,包括标点.

PHP代码:--------------------------------------------------------------------------------

[php]
$str="这个字符好长呀,^_^";
$Short_Str=showShort($str,4);//截取前面4个汉字,结果为:这个字符...
Echo    "$Short_Str";
Function csubstr($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,$i,2);
$i++;
}
else
{
if ($clen>=$start)
$tmpstr.=substr($str,$i,1);
}
}

return $tmpstr;
}
Function showShort($str,$len)
{
$tempstr = csubstr($str,0,$len);
if ($str<>$tempstr)
$tempstr .= "..."; //要以什么结尾,修改这里就可以.

return $tempstr;
}

--------------------------------------------------------------------------------



6:规范你的SQL语句


在表格,字段前面加上"`",这样就不会因为误用关键字而出现错误,
当然我并不推荐你使用关键字.

例如
$Sql="INSERT INTO `xltxlm` (`author`, `title`, `id`, `content`, `date`) VALUES ('xltxlm', 'use`', 1, 'criterion your sql string ', '2003-07-11 00:00:00')"

"`"怎么输入? 在TAB键上面.


7:如何使Html/PHP格式的字符串不被解释,而是照原样显示


PHP代码:--------------------------------------------------------------------------------

[php]
$str="<h1>PHP</h1>";
Echo "被解释过的: ".$str."<br>经过处理的:";
Echo    htmlentities(nl2br($str));
[/php]

--------------------------------------------------------------------------------



8:怎么在函数里取得函数外的变量值


PHP代码:--------------------------------------------------------------------------------

[php]
$a="PHP";
foo();
Function foo()
{
  global $a;//删除这里看看是什么结果
  Echo "$a";
}
[/php]

--------------------------------------------------------------------------------



9:我怎么知道系统默认支持什么函数


PHP代码:--------------------------------------------------------------------------------

[php]
$arr = get_defined_functions();
Function php() {
}
echo    "<pre>";
Echo    "这里显示系统所支持的所有函数,和自定以函数phpn";
print_r($arr);
echo    "</pre>";
[/php]
--------------------------------------------------------------------------------


10:如何比较两个日期相差几天


PHP代码:--------------------------------------------------------------------------------

[php]
$Date_1="2003-7-15";//也可以是:$Date_1="2003-6-25 23:29:14";
$Date_2="1982-10-1";
$Date_List_1=explode("-",$Date_1);
$Date_List_2=explode("-",$Date_2);
$d1=mktime(0,0,0,$Date_List_1[1],$Date_List_1[2],$Date_List_1[0]);
$d2=mktime(0,0,0,$Date_List_2[1],$Date_List_2[2],$Date_List_2[0]);
$Days=round(($d1-$d2)/3600/24);
Echo    "偶已经奋斗了 $Days 天^_^";
[/php]

--------------------------------------------------------------------------------


11:为什么我升级PHP后,原来的程序出现满屏的 Notice: Undefined variable:


这是警告的意思,由于变量未定义引起的.
打开php.ini,找到最下面的error_reporting,修改为error_reporting = E_ALL & ~E_NOTICE

对于Parse error错误
error_reporting(0)无法关闭.
如果你想关闭任何错误提示,打开php.ini,找到display_errors,设置为display_errors = Off.以后任何错误都不会提示.

那什么是error_reporting?



12:我想在每个文件最前,最后面都加上一文件.但一个一个添加很麻烦

1:打开php.ini文件
设置 include_path= "c:"

2:写两个文件
auto_prepend_file.php 和 auto_append_file.php 保存在c盘,他们将自动依附在每个php文件的头部和尾部.

3:在php.ini中找到:
Automatically add files before or after any PHP document.
auto_prepend_file = auto_prepend_file.php;依附在头部
auto_append_file = auto_append_file.php;依附在尾部

以后你每个php文件就相当于

PHP代码:--------------------------------------------------------------------------------

[php]
Include "auto_prepend_file.php" ;

.......//这里是你的程序


Include "auto_append_file.php";
[/php]

--------------------------------------------------------------------------------




13:如何利用PHP上传文件



PHP代码:--------------------------------------------------------------------------------
[php]
<html><head>
<title>上载文件表单</title></head>
<body>
<form enctype="multipart/form-data" action="" method="post">
请选择文件: <br>
<input name="upload_file" type="file"><br>
<input type="submit" value="上传文件">
</form>
</body>
</html>

$upload_file=$_FILES['upload_file']['tmp_name'];
$upload_file_name=$_FILES['upload_file']['name'];

if($upload_file){
$file_size_max = 1000*1000;// 1M限制文件上传最大容量(bytes)
$store_dir = "d:/";// 上传文件的储存位置
$accept_overwrite = 1;//是否允许覆盖相同文件
// 检查文件大小
if ($upload_file_size > $file_size_max) {
echo "对不起,你的文件容量大于规定";
exit;
}

// 检查读写文件
if (file_exists($store_dir . $upload_file_name) && !$accept_overwrite) {
Echo    "存在相同文件名的文件";
exit;
}

//复制文件到指定目录
if (!move_uploaded_file($upload_file,$store_dir.$upload_file_name)) {
echo "复制文件失败";
exit;
}

}

Echo    "<p>你上传了文件:";
echo  $_FILES['upload_file']['name'];
echo "<br>";
//客户端机器文件的原名称。

Echo    "文件的 MIME 类型为:";
echo $_FILES['upload_file']['type'];
//文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。
echo "<br>";

Echo    "上传文件大小:";
echo $_FILES['upload_file']['size'];
//已上传文件的大小,单位为字节。
echo "<br>";

Echo    "文件上传后被临时储存为:";
echo $_FILES['upload_file']['tmp_name'];
//文件被上传后在服务端储存的临时文件名。
echo "<br>";


$Erroe=$_FILES['upload_file']['error'];
switch($Erroe){
        case 0:
            Echo    "上传成功"; break;
        case 1:
            Echo    "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值."; break;
        case 2:
            Echo    "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。";    break;
        case 3:
            Echo    "文件只有部分被上传";break;
        case 4:
            Echo    "没有文件被上传";break;
}
[/php]

--------------------------------------------------------------------------------



14:如何配置GD库


下面是我的配置过程
1:用dos命令(也可以手动操作,拷贝dlls文件夹里所有dll文件到system32目录下) copy c:phpdlls*.dll c:windowssystem32
2:打开php.ini
设置extension_dir = "c:/php/extensions/";
3:
extension=php_gd2.dll;把extension前面的逗号去掉,如果没有php_gd2.dll,php_gd.dll也一样,保证确实存在这一文件c:/php/extensions/php_gd2.dll
4:运行下面程序进行测试

PHP代码:--------------------------------------------------------------------------------

[php]
Ob_end_flush();
//注意,在此之前不能向浏览器输出任何信息,要注意是否设置了 auto_prepend_file.
header ("Content-type: image/png");
$im = @imagecreate (200, 100)
    or die ("无法创建图像");
$background_color = imagecolorallocate ($im, 0,0, 0);
$text_color = imagecolorallocate ($im, 230, 140, 150);
imagestring ($im, 3, 30, 50,  "A Simple Text String", $text_color);
imagepng ($im);
[/php]

--------------------------------------------------------------------------------



点击这里查看结果



15:什么是UBB代码


UBB代码是HTML的一个变种,是Ultimate Bulletin Board (国外一个BBS程序,国内也有不少地方使用这个程序)采用的一种特殊的TAG.
即使禁止使用 HTML,你也可以用 UBBCode? 来实现.也许你更希望使用 UBBCode? 而不是 HTML, 即使论坛允许使用 HTML, 因为使用起来代码较少也更安全.

Q3boy的UBB里面付有例子,可以直接运行测试


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'];
[/php]

--------------------------------------------------------------------------------



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

入库时
$str=addslashes($str);
$sql="insert into `tab` (`content`) values('$str')";
出库时
$str=stripslashes($str);
显示时
$str=htmlspecialchars(nl2br($str)) ;





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_Replace("/(.*)&$/","$1",$se);
$se?$se="?".$se:"";
echo    $s."?$se";
[/php]
--------------------------------------------------------------------------------




20:我点击后退按钮,为什么之前填写的东西不见

这是因为你使用了session.
解决办法:

PHP代码:--------------------------------------------------------------------------------

[php]
session_cache_limiter('private, must-revalidate');
session_start();
...........
..........
[/php]

--------------------------------------------------------------------------------



21:怎么在图片里显示IP地址


PHP代码:--------------------------------------------------------------------------------

[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);
[/php]

--------------------------------------------------------------------------------



22:如何取得用户的真实IP


PHP代码:--------------------------------------------------------------------------------

[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();
[/php]
--------------------------------------------------------------------------------



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
========================================================
tip:
大家贴代码时GB2312会被解释成??????

改成这样就不会
GB2312

10:如何比较两个日期相差几天,(更简单的算法)


PHP代码:--------------------------------------------------------------------------------

[php]
$Date_1="2003-7-15";//也可以是:$Date_1="2003-7-15 23:29:14";
$Date_2="1982-10-1";
$d1=strtotime($Date_1);
$d2=strtotime($Date_2);
$Days=round(($d1-$d2)/3600/24);
Echo    "偶已经奋斗了 $Days 天^_^";
[/php]

--------------------------------------------------------------------------------




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."人在线";

[/php]
--------------------------------------------------------------------------------

例子二:
用数据库实现在线用户


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");//重定向到生成的网页
}
[/php]
--------------------------------------------------------------------------------



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]

--------------------------------------------------------------------------------


另外,用此函数必须特别小心!!
如果有人输入format: d:会是什么结果?
昵称: haowubai  时间: 2008-07-25 11:12:00
收藏!!!!!!!  
昵称: chd1337  时间: 2008-08-20 23:56:00
非常好!
昵称: twwdns  时间: 2008-09-02 09:38:00
太棒了 ^0^  
昵称: leeyoungyi  时间: 2008-09-02 16:35:00
太棒了 ^0^  
昵称: leeyoungyi  时间: 2008-09-02 16:36:00
先顶顶
昵称: rymnd  时间: 2008-09-03 21:49:00
昵称: yuanweiphp  时间: 2008-09-12 10:47:00
好是好但没有看懂啊 !!不过寿材倒是可以的,等有能力了在用久好了!!
昵称: muyangren  时间: 2008-09-13 00:21:00
真是好东西啊,支持、支持!!!!
昵称: hxybiseng  时间: 2008-09-15 01:06:00
非常好!
昵称: shyflc  时间: 2008-10-11 07:21:00
非常好!
昵称: shyflc  时间: 2008-10-11 07:22:00
好东西.....受益匪浅益匪浅啊..继续....
昵称: 牛腩粉  时间: 2008-10-16 16:56:00
好东西 收藏了。。。
昵称: deepblue  时间: 2008-10-25 18:14:00
好东东 最好吧几个地址不少 一些东西不全哦
昵称: 小白  时间: 2008-10-28 00:25:00
太好了 总结太详细了 在这里学了好多知识 不错 多谢老大
昵称: php100.net  时间: 2008-10-30 13:33:00
老好了,谢谢了全是好东西。版主真总结的真细致。
昵称: shueiyuan  时间: 2008-11-04 17:02:00
强烈建议PHP高手把各种错误编辑成一个CHM的帮助文档,这样查询起来比较方便,在这里先感谢了!呵呵!
昵称: 地平线  时间: 2008-11-13 10:58:00
期待中.....我在编写PHP过程中,也是经常遇到各种错误,有些看起来很糊涂,期待高中整理....
昵称: 地平线  时间: 2008-11-13 11:00:00
lz好久没有更新了吧
昵称: alexchang  时间: 2008-11-13 13:32:00
   不错误!学习了!
昵称: xw3753  时间: 2008-11-14 13:37:00
太好了。
昵称: 5189lw  时间: 2008-11-16 00:33:00
错误总结:第一点中  方法一:在PHP.ini中找到register_global,并把它设置为on.
怎样实现在两个页面中传递表单变量呢?我一直都在用第三种方法。
昵称: adu86  时间: 2008-11-23 11:26:00
好是好,感觉有点乱,老大要能理一下就好咯!
昵称: wenzhengde  时间: 2008-12-02 19:15:00
写得很详细    谢谢了
昵称: akxylx  时间: 2008-12-07 19:05:00
引用
引用第7楼leeyoungyi于2008-09-02 16:36发表的  :
太棒了 ^0^  
昵称: xw3753  时间: 2008-12-09 20:47:00
哇这么长呀
昵称: 3517234000  时间: 2008-12-12 11:59:00
文件上传的那个例子:
if (file_exists($store_dir . $upload_file_name) && !$accept_overwrite) {
Echo    "存在相同文件名的文件";
exit;
}

这里应该是或者才对,我试过了.
if (file_exists($store_dir . $upload_file_name) || !$accept_overwrite) {
Echo    "存在相同文件名的文件";
exit;
}
因为!$accept_overwrite不可能会存在,
昵称: vance  时间: 2008-12-13 11:18:00
珍藏
昵称: 136903712  时间: 2008-12-19 14:36:00
   很有价值 这里的人真的很好  我开始喜欢上了这个论坛。
昵称: allen  时间: 2008-12-19 20:24:00
很有用哦!!!
昵称: wld369  时间: 2008-12-27 10:59:00
太棒了 力顶
昵称: moaiwu  时间: 2008-12-27 17:58:00
很细心。顶。
昵称: qianxunww  时间: 2008-12-31 09:15:00
谢谢
昵称: lljy  时间: 2008-12-31 16:15:00
此贴很好.
昵称: jinco  时间: 2009-01-01 14:48:00
非常非常有用
昵称: jak  时间: 2009-01-13 16:45:00

老师真有心
昵称: qinxu58  时间: 2009-01-16 09:45:00
有用,有用~~~~~~~~   
昵称: 123961319  时间: 2009-01-22 20:00:00
学习啊.
昵称: jelinchen  时间: 2009-01-31 17:48:00
的确很好
昵称: chr28  时间: 2009-02-27 23:56:00
非常好的内容啊.
昵称: levi6717  时间: 2009-03-02 15:59:00
好东西一定要分享,挺到底
昵称: zypphp  时间: 2009-03-05 17:42:00
好啊,记住!
昵称: clm  时间: 2009-03-05 19:34:00
学习了,谢谢了。。。
昵称: sclzwj  时间: 2009-03-12 13:54:00
好啊   
昵称: ykfox  时间: 2009-03-12 21:06:00
很好
昵称: 一意孤行  时间: 2009-03-13 13:06:00
严重支持
昵称: 戴举龙  时间: 2009-03-13 19:17:00
顶了  
昵称: sclzwj  时间: 2009-03-13 19:57:00
非常好!
昵称: tochenwei  时间: 2009-03-14 20:05:00
看来  俺要常来了!!!!
昵称: bihaibaiy  时间: 2009-03-17 23:05:00
昵称: qianlianhua  时间: 2009-03-18 16:34:00
顶VPN
昵称: 515748242  时间: 2009-03-18 17:47:00
挺好的  !!!顶
昵称: 52haiyan  时间: 2009-03-20 14:07:00
肯定要读的。
昵称: 上课睡觉  时间: 2009-03-22 00:47:00
非常好。。。谢谢。。。。
www.lady0571.com
昵称: lady0571  时间: 2009-03-24 11:42:00
谢谢,正好需要!!!
昵称: xiaoyuexilou  时间: 2009-03-24 14:10:00
Good!
昵称: zhxxandsb  时间: 2009-03-28 11:41:00
太好了,一下子还记不住,等需要了再来~~~
昵称: kingfs  时间: 2009-03-28 18:01:00
真是难得的好文章啊,顶顶顶!!
昵称: awei888  时间: 2009-03-30 15:22:00
学习中。。。。。。
昵称: tengfei6678  时间: 2009-04-02 17:38:00
,顶
昵称: cumn666  时间: 2009-04-02 22:48:00
昵称: king163  时间: 2009-04-04 15:09:00
留个记号
昵称: 120350195  时间: 2009-04-05 15:05:00
学习中。。。
昵称: 默默  时间: 2009-04-08 16:02:00
非常好 !收益匪浅。
昵称: chenglingoon  时间: 2009-04-12 18:35:00
very good !
昵称: luojs  时间: 2009-04-15 10:59:00
哎,只能看懂一半,还得再加油~!
昵称: mingtian  时间: 2009-04-18 15:07:00
这个不错 感谢分享 期待不断更新
昵称: pppkq  时间: 2009-04-18 23:37:00
   zhendehaenhao e
昵称: php网站  时间: 2009-04-20 13:40:00
真是好东西啊,支持、支持!!!!
昵称: job888  时间: 2009-04-21 15:11:00
收藏了,谢谢
昵称: 默默  时间: 2009-04-23 15:17:00
请问楼主有QQ群吗
昵称: 飞来飞去  时间: 2009-04-23 16:06:00
支持一下!
昵称: jared168  时间: 2009-04-23 20:45:00
哎哟。内容挺丰富的哦。
昵称: qffffai  时间: 2009-04-24 08:31:00
非常好!
昵称: hanlizhu  时间: 2009-04-27 10:53:00
新手学习中...我收藏了!~~谢谢LZ哦
昵称: vision0018  时间: 2009-04-28 22:40:00
昵称: qicto  时间: 2009-04-29 17:28:00
看过了,非常好啊!!!
昵称: loveyou75300  时间: 2009-04-29 18:20:00
多谢分享,收藏了。
昵称: high  时间: 2009-04-29 21:46:00
楼主辛苦啦,总结的很好,对我们新手很有帮助!
昵称: rich30  时间: 2009-04-30 23:11:00
这些帖子实在太好了
昵称: suchme2007  时间: 2009-05-01 13:26:00
昵称: cles_ren  时间: 2009-05-04 13:42:00
好帖,顶起来.
昵称: axingx  时间: 2009-05-05 15:58:00
新手看不懂
昵称: sirfanerbo  时间: 2009-05-07 16:58:00
顶下楼主
昵称: red007  时间: 2009-05-09 00:36:00
很不错!
昵称: ouyangcuixue  时间: 2009-05-09 09:39:00
bg-0002.gif
Warning: Wrong parameter count for move_uploaded_file() in D:\user\wamp\www\bbs2\upload.php on line 14

怎麽回事?
昵称: chenhaipeng  时间: 2009-05-11 20:25:00
support
昵称: sweetren123  时间: 2009-05-12 11:14:00
经典。非常好。
昵称: yaoguoxing  时间: 2009-05-13 06:52:00
太好了 。。。。
昵称: fimos  时间: 2009-05-17 14:06:00
很好,就是看不懂啊,本人是菜鸟中的菜鸟。
昵称: 双子雨人  时间: 2009-05-17 22:17:00
很好。。希望多更新。。。
昵称: lrg125403  时间: 2009-05-20 23:50:00
好,
昵称: zawphp  时间: 2009-05-21 10:26:00
开始学习PHP
昵称: wakin1421  时间: 2009-05-21 23:16:00
有些看得懂,有些我想要往后把视频看完才看得懂吧。先收藏了~非常感谢!
昵称: elileo  时间: 2009-05-22 12:32:00
真是辛苦了!!
昵称: qhp  时间: 2009-05-23 00:57:00
昵称: jian520hong  时间: 2009-05-23 11:17:00
顶一个很强大
昵称: peterkis  时间: 2009-05-24 01:53:00
好东西!
昵称: zhuoxianguo  时间: 2009-05-24 10:07:00
好贴,顶
昵称: pankai123321  时间: 2009-05-25 14:37:00
不错!~~~~
昵称: lengleng99  时间: 2009-05-27 17:21:00
辛苦了
昵称: php007  时间: 2009-05-31 11:12:00
顶下.
昵称: mijian  时间: 2009-05-31 11:23:00
好东西啊
昵称: 無戒寺  时间: 2009-05-31 20:05:00
关注
昵称: ww44567109  时间: 2009-06-01 17:02:00
不错误!学习了!
昵称: kahn178  时间: 2009-06-01 18:28:00
很有用
昵称: boaz2  时间: 2009-06-07 13:06:00
不错不错。。。
昵称: longlong9  时间: 2009-06-10 11:04:00
在视频教程里没有出错,可我做的时候老是出错,请教一下下面的代码哪处有错?

主页面
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<p align="center"> </p>
<form id="form1" name="form1" method="post" action="2.php">
  
  <p align="left">                       姓名:
    <input name="name" type="text" id="name" />
    年龄
  :
    <input name="age" type="text" id="age" />
  </p>
  <p align="left">                       单项选择:
    <input type="radio" name="xingge" value="我很笨" />
 我很笨
<input type="radio" name="xingge" value="我非常笨" />
 我非常笨
<input type="radio" name="xingge" value="我简直就是个大傻" />
 我简直就是个大傻</p>
  <p align="left">                       多项选择:
      
    <input name="aihao" type="checkbox" id="aihao" value="我喜欢爬山" />
    我喜欢爬山
    <input name="aihao" type="checkbox" id="aihao" value="我喜欢游泳" />
    我喜欢游泳
    <input name="aihao" type="checkbox" id="aihao" value="我喜欢看电影" />
  我喜欢看电影</p>
  <p align="left">                          
    <input name="hidden" type="hidden" id="hidden" value="results" />
  </p>
  <p align="left">                                   
    <input type="submit" name="Submit" value="提交" />
  </p>
</form>
<p align="center"> </p>
</body>
</html>
处理页
<?
if($_POST["xingge"]=='我很笨')
{
$message_x='你很聪明';

}elseif($_POST["xingge"]=='我非常笨' )
{
$message_x='你简直就是聪明绝顶';
}else
{
  $message_x='你太聪明啦';
}
$aihao_h=count($aihao)
if($aihao_h<= 1)
{
$message='你这只懒惰的猫,你得多运动运动!';
}elseif($aihao_h>=1 && $aihao_h<3)
{
   $message='你是只热爱运动的猫';
}else
{
   $message='你运动过度了,该是休息休息啦';
}
echo "这是对猫的一项测试:";
echo "<br>";
echo "Hi! 您的姓名是:".$name;
echo "您今年已经".$age."啦";
echo "<br>";
echo "您的测试结果: $message_x $message ";
?>
昵称: yanchao932  时间: 2009-06-12 11:21:00
新手啊,好多没看懂
昵称: poison  时间: 2009-06-13 14:04:00
有空研究研究
昵称: shihuan1987  时间: 2009-06-16 15:39:00
很好  收藏啦。。。
昵称: angus631  时间: 2009-06-17 08:26:00
经典  太好了
昵称: chyktom  时间: 2009-06-17 17:17:00
不错,收藏了。
昵称: cjfxeh  时间: 2009-06-24 11:11:00
学习
昵称: juanjuan  时间: 2009-06-26 20:57:00
昵称: hyperblue  时间: 2009-06-27 15:03:00
顶起来··········
昵称: shiyangzi  时间: 2009-06-28 09:52:00
初学者,自己一点也没有看懂 层次不够啊
昵称: 昨天的明天  时间: 2009-07-01 23:50:00
正则表达式那里的点击这里,没加链接..其他的特别棒,很实用的
昵称: zb8346  时间: 2009-07-02 17:32:00
总结的非常好!
昵称: ronglizx  时间: 2009-07-04 09:40:00
hao!
昵称: zhishuai_123  时间: 2009-07-08 03:12:00
好东西要顶起来啊
昵称: syk_2008  时间: 2009-07-08 16:26:00
辛苦了顶下`
昵称: qq20297944  时间: 2009-07-10 03:39:00
非常不错d !
昵称: zfx0  时间: 2009-07-14 00:43:00
昵称: soul  时间: 2009-07-16 20:59:00
昵称: soul  时间: 2009-07-16 20:59:00
很好,值得收藏
昵称: coolhot886  时间: 2009-07-17 16:27:00
dingdingding
昵称: luoling_2046  时间: 2009-07-18 15:42:00
迷糊迷糊 支持!
昵称: huishan  时间: 2009-07-18 16:55:00
我路过 看不懂
昵称: xiangys0134  时间: 2009-07-19 15:44:00
好 就是有点看不懂 大概是有点东西还没接触 暂时  看得懵懂
昵称: jie737421  时间: 2009-07-21 16:42:00
要经常更新哦
昵称: jie737421  时间: 2009-07-21 16:43:00
昵称: wts  时间: 2009-07-23 14:03:00
我按视频第十一讲写的的留言板,在浏览器中也能运行,可是数据库里却没有任何变化啊?求救,谢谢
昵称: 檀木屑  时间: 2009-07-27 19:48:00
  确实帮了大忙的啦!
昵称: ouseeker  时间: 2009-07-28 12:10:00
好东西
昵称: ffms_lin  时间: 2009-08-04 09:01:00
好好收藏了
昵称: guhongli2008  时间: 2009-08-04 12:28:00
好好学习中
昵称: 天外废仙  时间: 2009-08-05 08:38:00
非常好希望能再多发一些
昵称: nihl009  时间: 2009-08-05 12:02:00
强啊。太强了。
昵称: sbso  时间: 2009-08-06 15:40:00
很实用

菜鸟找到了要找的东东
昵称: 风入松  时间: 2009-08-08 11:18:00
  这样的总结真是  精髓。 吸收了。
昵称: lxzkenney  时间: 2009-08-09 20:49:00
好东西啊,珍贵啊,收藏咯~~
昵称: body  时间: 2009-08-09 20:59:00
我还看不大懂呀,不要笑我
昵称: mlfur  时间: 2009-08-13 15:26:00
谢谢!
昵称: elite  时间: 2009-08-23 13:46:00
很好,很强大!
昵称: huangcs  时间: 2009-08-26 11:10:00
受益匪浅啊
昵称: livfer  时间: 2009-08-30 00:44:00
  
昵称: 27025011  时间: 2009-09-01 09:58:00
非常不错啊
昵称: liuriqi  时间: 2009-09-01 10:11:00
好东西收藏了。。
昵称: chickenlove  时间: 2009-09-02 10:29:00
$conn=@mysql_connect('localhost','root','')or die('连接失败');
$db=mysql_select_db("test2");
if(isset($db))
      {echo "连接成功";
$sql="INSERT INTO test2(`id`,`name`,`regdate`,`remark`)values('7','llolin',now(),'mygf')";
   mysql_query($sql);
}
else
     {echo"打开数据库失败!";}
昵称: 寒星看雪  时间: 2009-09-02 17:57:00
真不错!!
昵称: zhym1107  时间: 2009-09-04 02:01:00
很好!随时更新啊……
昵称: zhishuai_123  时间: 2009-09-05 10:49:00
很多年没见这么好的啊
昵称: 我忘密码了呀  时间: 2009-09-07 00:14:00
收藏了 谢谢张老师
昵称: hjw_86  时间: 2009-09-10 23:08:00
学习资源
昵称: caodj0423  时间: 2009-09-10 23:20:00
学习ing
昵称: ferss  时间: 2009-09-15 23:01:00
    
昵称: ideas  时间: 2009-09-18 11:11:00
先顶再看,上网好习惯!
昵称: 新声  时间: 2009-09-23 12:13:00
好东西,顶啊!
昵称: kang1212  时间: 2009-09-24 10:17:00
太好了,支持下。。。。。。。。。。
昵称: kahn178  时间: 2009-09-27 09:52:00
学习了,楼主的经验总结,受益匪浅!
昵称: xmliuxw  时间: 2009-09-29 14:59:00
很多不了解,看起来晕晕的~
昵称: 恋恋秋风  时间: 2009-09-29 23:29:00
这是谁这么好啊,太有帮助了
昵称: zilong6994  时间: 2009-09-30 18:21:00
  
昵称: lykun  时间: 2009-10-04 14:52:00
这个真好
昵称: intelligent  时间: 2009-10-04 23:25:00
谢谢,楼主分享!
昵称: tfh120  时间: 2009-10-05 19:59:00
你(您)的标签怎么是<php></php>?  是6加的?
昵称: cosmind  时间: 2009-10-06 08:24:00
呵呵 注意细节哦   文章非常好
昵称: cosmind  时间: 2009-10-06 08:26:00
好东西啊       
昵称: abcde112119  时间: 2009-10-06 20:27:00
精品中的精品
昵称: nethan  时间: 2009-10-06 22:01:00
好东西
昵称: frank_dong  时间: 2009-10-09 16:55:00
太棒了!!
昵称: w80534801  时间: 2009-10-12 08:20:00
小强啊,哈哈
昵称: 小强子  时间: 2009-10-12 14:02:00
俺也来顶一下
昵称: xidon  时间: 2009-10-12 14:02:00
谢谢楼主了
昵称: herolixy  时间: 2009-10-13 11:09:00
不错不错,学习了
昵称: liuhuipin198  时间: 2009-10-14 23:04:00
顶你个肺
昵称: tz66066  时间: 2009-10-15 14:07:00
好东西啊 那当然要顶啊  哈哈
昵称: xujiajay  时间: 2009-10-21 11:57:00
先顶顶
昵称: cnemart  时间: 2009-10-27 17:02:00
学习了。
昵称: 0736site  时间: 2009-10-27 23:03:00
好呀,特别是对我们新人有很大帮助,以后可以少走弯路,强烈支持!!!!!
昵称: waterloopwm  时间: 2009-10-29 00:57:00
学习
昵称: me508  时间: 2009-10-29 16:40:00
值得收藏!
昵称: yesu  时间: 2009-11-01 14:09:00
反对
昵称: ahklnmop  时间: 2009-11-01 22:16:00
非常好,收藏了。。。
昵称: 小游虫  时间: 2009-11-03 09:40:00
很不错的总结
昵称: hrl1245  时间: 2009-11-03 13:32:00
值得学习噢噢噢、、、、、
昵称: kqq1985  时间: 2009-11-03 23:12:00
非常感谢
昵称: mygushi  时间: 2009-11-05 10:00:00
昵称: gyhzsf  时间: 2009-11-07 11:29:00
这些都是容易出错的地方,要慢慢看,慢慢吸取呀,谢谢!
昵称: hebemoon  时间: 2009-11-10 11:26:00
多谢楼主
昵称: waterloo  时间: 2009-11-10 13:37:00
感谢
昵称: 不想做第一  时间: 2009-11-10 18:59:00
学习了,顶了
昵称: lizejia01  时间: 2009-11-12 00:21:00
支持.站位...
昵称: 0797network  时间: 2009-11-12 14:45:00
谢谢楼主的分享
昵称: lgdxx  时间: 2009-11-12 23:12:00
好帖!!!!
昵称: lis6210841  时间: 2009-11-16 09:06:00
顶起来
昵称: userand  时间: 2009-11-18 08:47:00
谢谢了 对我很有用 ,一定关注
昵称: feng54074  时间: 2009-11-18 10:19:00
非常好
昵称: feng54074  时间: 2009-11-20 17:54:00
顶一下
昵称: duanqingxia  时间: 2009-11-22 15:49:00
lkas;dlfkj
昵称: jmwbiao  时间: 2009-11-22 20:29:00
太好了  收了   学习
昵称: gg175234768  时间: 2009-11-24 08:53:00
楼主有心了。我从现在开始也要收集了。以后大家一起分享!
昵称: xbotao  时间: 2009-11-24 09:31:00
看看       
昵称: snail2009  时间: 2009-11-24 11:09:00
好东西,,顶顶
昵称: 星泪无语  时间: 2009-11-25 00:56:00
好帖子啊  
昵称: mutougoup  时间: 2009-11-26 08:03:00
收藏了,新手上路,学习一下,谢谢楼主分享。
昵称: xinyangnonfu  时间: 2009-11-29 06:41:00
觉得有点烦的就是每次遇到很多问题都是要配置环境问题,好麻烦啊。。。。
昵称: mirror  时间: 2009-12-03 11:16:00
挺好了,为了方便以后看,我把这个转载到我博客了。。。
昵称: mirror  时间: 2009-12-03 11:22:00
支持
昵称: qq512430  时间: 2009-12-06 03:09:00
很好很强大
昵称: 遥远的期待  时间: 2009-12-06 20:10:00
看不太懂
昵称: paysent  时间: 2009-12-07 13:57:00
喜欢这里
昵称: lynda1122  时间: 2009-12-08 13:13:00
O(∩_∩)O~
昵称: zlczhou  时间: 2009-12-08 21:51:00
很棒 太有用了
昵称: 不想做第一  时间: 2009-12-09 11:57:00
很好  我也出现过好多上面的错误
昵称: wfchen  时间: 2009-12-14 07:57:00
太经典了,收藏~
昵称: tearrain1987  时间: 2009-12-15 14:35:00
学习咯
昵称: qq512430  时间: 2009-12-15 22:48:00
很好的东西
昵称: stef1123321  时间: 2009-12-16 16:59:00
写的很好 以后要实时更新哈  我要经常上来看
昵称: wfchen  时间: 2009-12-16 18:02:00
这样的帖子对新手来说是最棒的
昵称: handong  时间: 2009-12-18 08:35:00
多总结点这个吧,太有用了
昵称: cookie  时间: 2009-12-18 15:00:00
昵称: qffffai  时间: 2009-12-19 15:22:00
这个不顶是不行的,往死里顶好东西啊
昵称: 枫翼之殇  时间: 2009-12-23 07:49:00
新手。看的不是很懂啊。。郁闷
昵称: 古风  时间: 2009-12-25 00:16:00
很不错的很喜欢的很论坛
昵称: wanysys52013  时间: 2009-12-25 11:13:00
新手案例学习了
昵称: daijia  时间: 2009-12-25 13:06:00
恩,非常有用!
昵称: xinye_1205  时间: 2010-01-02 12:14:00
不多,遇到问题来这里瞧下,很不错!
昵称: jaleon  时间: 2010-01-03 12:01:00
先参考参考
昵称: xiumei  时间: 2010-01-05 20:51:00
很好啊  解决了不少问题呢
昵称: 李先生  时间: 2010-01-06 22:27:00
收藏起来
昵称: 阿笨  时间: 2010-01-09 17:23:00
太谢谢了,十分有用
昵称: fjnpyyj  时间: 2010-01-10 14:47:00
可以整理成手册哦~谢谢楼主分享~!
昵称: phpleo  时间: 2010-01-11 15:18:00
非常实用,收藏了~!
昵称: phpleo  时间: 2010-01-11 15:19:00
good
昵称: vanvista  时间: 2010-01-13 10:22:00
很好,很强大,谢谢谢谢谢谢谢谢
昵称: ice_40  时间: 2010-01-13 10:29:00
昵称: yichungang  时间: 2010-01-14 14:02:00
昵称: webfly  时间: 2010-01-16 15:33:00
非常的好
昵称: shunzi99  时间: 2010-01-20 14:22:00
非常好!
昵称: cnemart  时间: 2010-01-22 23:29:00
谢谢楼主收下了
昵称: lizhanxin  时间: 2010-01-25 09:05:00
很有收获,谢谢!
昵称: 261748803  时间: 2010-01-27 09:22:00
好东东,全收藏了。
昵称: guoxiaoda  时间: 2010-01-27 10:34:00
昵称: winfire28  时间: 2010-01-30 13:22:00
有能力再用
昵称: charlesma  时间: 2010-01-31 12:06:00
收藏
昵称: charlesma  时间: 2010-02-02 10:56:00
是好东西啊,支持、支持!!!!
昵称: zjjxiaoli  时间: 2010-02-02 12:03:00