PHP 4.2.0 以及后续版本中,PHP 指令 register_globals 的默认值为 off。这是 PHP 的一个主要变化。让 register_globals 的值为 off 将影响到预定义变量集在全局范围内的有效性。例如,为了得到 DOCUMENT_ROOT 的值,你将必须使用 $_SERVER['DOCUMENT_ROOT'] 代替 $DOCUMENT_ROOT,又如,使用 $_GET['id'] 来代替 $id 从 URL http://www.example.com/test.php?id=3 中获取 id 值,亦或使用 $_ENV['HOME'] 来代替 $HOME 获取环境变量 HOME 的值。 更多相关信息,请阅读配置项目 register_globals,有关安全性的一章使用 Register Globals,以及 PHP 4.1.0 和 4.2.0 的发行通告. 请优先使用可用的 PHP 预定义变量,如 超级全局数组。

解决方案 »

  1.   

    谢谢提醒!第一段脚本现在已经能够正常运行了。可是第二段脚本还是有问题:sql语句也正常产生了,可是每次运行下来的结果都没什么异常,可是查询数据库发现要加进去的数据都没能进去。我也反复检查了多次总找不到问题(产生的sql语句在cmd条件下都能正常执行):<html>
    <body>
    <?php
    if($submit){
    $db=mysql_connect("localhost","root");
    mysql_select_db("phpwind","$db");$sql="INSERT INTO pw_config(db_name,db_value,decrip) VALUES('$db_name','$db_value','$decrip')";
    echo $sql;$result=mysql_query($sql);echo "Congratulations!";
    }
    else{
    ?>
    <form method="post" action="<?php echo $PATH_INFO?>">
    db_name: <input type="Text" name="db_name"><br>
    db_value: <input type="Text" name="db_value"><br>
    decrip: <input type="Text" name="decrip"><br><input type="Submit" name="submit" value="提交">
    </form>
    <?php
    }
    ?>
    </body>
    </html>
      

  2.   

    <?php echo $PATH_INFO?>应该是:<?php echo $PATH_INFO;?>$PATH_INFO他的值???