Apache web submit 403 error, access forbbiden, Undefined variable

第一次搭建网页

在本机 win8.1 上用 easyPHP dev 14.1 搭建服务器环境:PHP, Apache, MySQL

对照《PHP + MySQL 八大动态 Web 应用实战》书上的实例写一个博客类网站。

然而书成于08年,很多内容都已经跟不上时代了,导致一些莫名其妙的错误:

第一个就是:

PHP mysql_connect() 函数

Note:

本扩展自 PHP 5.5.0 起已废弃,并在将来会被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。参见 MySQL:选择 API 指南以及相关 FAQ 以获取更多信息。用以替代本函数的有:

?mysqli_connect()

?PDO::__construct()

    // $db = mysql_connect($dbhost, $dbuser, $dbpassword);
    // mysql_select_db($dbdatabase, $db);
    $link = mysqli_connect($dbhost, $dbuser, $dbpassword, $dbdatabase);

类似的还有不少 mysql_ 开头函数导致 warning: depricated.

解决方法:http://www.ttlsa.com/php/deprecated-mysql-connect/

第二个就是:

提交表单时会提示 403:Access forbidden 的错误。一般在这个错误提示下我们就会检查文件权限问题,网上也给出了一堆解决方法,什么修改 Apache 配置文件设置权限啥的

但实际上提交表单后会通过 header("Location: ") 函数重定位到本文件 SCRIPT_NAME,在提交表单前网页能够正确的显示,提交表单重定位到自己文件后却有权限问题,这让人费解。

如果此时在未提交表单页面上查看源文件,看看服务器上经过 PHP 解释器的输出,会发现:

<form action = "<br />
<b>Notice</b>:  Undefined variable: SCRIPT_NAME in <b>C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\bigdataweb\viewentry.php</b> on line <b>85</b><br />
?id=1" method = "post">

Undefined variable SCRIPT_NAME;

查找资料发现:

PHP错误:Notice:Undefined variable: SCRIPT_NAME 写到:

$SCRIPT_NAME这个变量出了问题。网上搜了下,资料较少,没有搜到明确结果,不过看基本的写法都是 $_SERVER[‘SCRIPT_NAME‘],大概是写法变了。

把上面的代码中$HTTP_HOST和$SCRIPT_NAME改为$_SERVER[‘HTTP_HOST‘]和$_SERVER[‘SCRIPT_NAME‘]即可。

修改后果然就能够顺利提交表单了。

对于迭代快速的技术,应该选择新近的书籍或者资料来阅读,以免发生这种尴尬的情形。

初次接触 web 编程,以上备忘。



时间: 2024-10-16 02:30:54

Apache web submit 403 error, access forbbiden, Undefined variable的相关文章

Linux Apache web服务器 配置详细教程

3 Linux Apache web服务器 v2.4.29学习要点: 1.apache用途,工作模式,httpd.conf的配置重要参数2.虚拟主机 工作模式的参数优化 3.1 Apache 概述: 3.1.1 Apache 概述Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.它快速.可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中.同时Apache音译为

PHP-问题处理Fatal error: Uncaught Error: Call to undefined function simplexml_load_file()

1.问题 今天重新安装了ubuntu,PHP,MySQL,Apache,到测试CMS项目时发生一个错误: Fatal error: Uncaught Error: Call to undefined function simplexml_load_file() 2.解决: 2.1 安装php-xml: sudo apt-get install php-xml 2.2重启apache服务: sudo service apache2 restart

Fatal error: Call to undefined function imagettftext()解决办法

Fatal error: Call to undefined function imagettftext()解决办法 我的问题是php编译安装时指定了gd的目录,其实不用指定.就可以了 博客分类: php freestylephpcmsconfigure  问题描述:phpcms 安装后,不能看到验证码图片. 解决:确保php-gd和freestyle.而且确保是先安装了freestyle,然后是php-gd:如果是先安装了php-gd,那么在安装完freestyle后,需要make clean

linux重新编译安装gd,增加freetype支持,解决验证码不显示问题,Fatal error: Call to undefined function imagettftext()

问题: Fatal error: Call to undefined function Think\imagettftext() in /var/www/webreg/ThinkPHP/Library/Think/Verify.class.php on line 143 查看phpinfo()后得知,gd中没有freetype的支持 解决: 首先安装freestyle,php-gd 确保先安装freestyle,然后是php-gd:如果是先安装了php-gd,那么在安装完freestyle后,需

解决Apache的错误日志巨大的问题以及关闭Apache web日志记录

调整错误日志的级别 这几天 apache错误日志巨大 莫名其妙的30G  而且 很多都是那种页面不存在的  网站太多了  死链接相应的也很多于是把错误警告调低了 因为写日志会给系统带来很大的损耗.关闭日志以后,甚至最高可以提高整体性能近40%(粗略估计)那么如何关闭日志呢? 可以通过降低log级别的办法来减少日志读写. 这里要提醒的是,这么做将给"入侵检测"以及其他基于日志分析的工作带来麻烦.所以请谨慎使用.网上相关文章很多,但说的都不详细,擦边而过,下面详细说一下具体操作步骤. 编辑

php提示Fatal error: Call to undefined function imagecreate()

在php中imagecreate函数是一个图形处理函数,主要用于新建一个基于调色板的图像了,然后在这个基础上我们可以创建一些图形数字字符之类的,但这个函数需要GD库支持,如果没有开启GD库使用时会 undefined 在php中imagecreate函数是一个图形处理函数,主要用于新建一个基于调色板的图像了,然后在这个基础上我们可以创建一些图形数字字符之类的,但这个函数需要GD库支持,如果没有开启GD库使用时会提示Call to undefined function imagecreate()错

Apache web服务器的相关知识整理及简要说明

本文将梳理Apache    web网站服务器的相关知识,以及在CentOS6.7环境中简单配置Apache web网站的相关用法! 一. Apache web程序安装 利用光盘,制作本地RPM镜像源,利用yum安装httpd程序包. (1)挂载本地光盘 [[email protected] ~]# mount /dev/sr0 /media/cdrom mount: block device /dev/sr0iswrite-protected, mounting read-only [[ema

Spark SQL: Error in query: undefined function错误的解决方法

本文原文出处: http://blog.csdn.net/bluishglc/article/details/50748937 严禁任何形式的转载,否则将委托CSDN官方维护权益! 问题描述 如果你在Spark SQL上试图调用在HIVE注册的自定义函数(UDF)时,你可能会遇到这样的错误: Spark SQL: Error in query: undefined function xxxxxx 这个问题发生在Spark 1.5.0, 1.5.1和1.5.2版本上,对此Spark官方有一个专门的

[乐意黎原创] php 页面提示 Fatal error: Call to undefined function curl_init()

调用到 curl_init()的php页面提示: Fatal error: Call to undefined function curl_init() in E:\PHPCMS\Cms\www.aerchi.com\kuaiji\weixin.php on line 196 如图: 首先, 在 php.ini 文件中开启 extension=php_curl.dll , 即把把前面的分号(;)注释划掉. 如果是 windows 7 系统(需要openssl),还需要把 extension=ph