最令PHP初学者头痛的十四个问题_PHP编程_脚本之家

页面之间无法传递变量get,post,session在最新的php版本中自行全局变量是破产的,所以要从上一页面获得提交过来得变量要利用$_GET[‘foo’],$_POST[‘foo’],$_SESSION[‘foo’]来得到。当然也能够校订自动全局变量为开(php.ini改为register_globals=OnState of Qatar;构思到宽容性,仍然压迫本人深谙新的写法相比好。
Win32下apache2用get方法传递中文参数会出错: test.php?a=你好&b=你也好
传递参数是会招致三个内部错误
消灭办法:”test.php?a=”.urlencode.”&b=”.urlencode ………….
win32下的session无法不荒谬工作 php.ini暗中同意的session.save_path=/tmp
这明摆着是linux下的安插,win32下php无法读写session文件以致session无法使用,把它改成贰个相对路线就足以了,比如session.save_path=c:windowsemp
显示错误音讯当php.ini的display_errors=On并且error_reporting=E_ALL时,将显得全数的荒唐和提示,调节和测量检验的时候最佳张开以便纠错,就算你用以前php写法错误新闻多半是有关未定义变量的。变量在赋值在此之前调用会有提示,解决办法是探测只怕屏蔽。
譬如出示$foo,能够ifecho$foo或许echo@$foo 不可能发送电子邮件
在linux下安顿好的sendmail能够发送,在win32下需求调用smtp服务器来发送电子邮件,修正php.ini的SMTP=ip//ip是不带验证功效的smtp服务器
php发送邮件的最佳消逝措施是用socket直接发送到对方email服务器而不用转账服务器。
初装的mysql若无设置密码,应该使用updatemysql.usersetpassword=”yourpassword”whereuser=”root”改革密码
headeralreadysent
这一个荒唐平时会在您利用HEADE宝马7系的时候现身,他可能是三种原因:1,你在接纳HEADE帕杰罗前PPAJEROING也许ECHO了2.你日前文件后面有空行3.你大概INCLUDE了叁个文本,该公文尾巴部分有空行或许输出也会冷俊不禁这种错误。!
改革php.ini后并未变化
重新起动webserver,比方IIS,Apache等等,然后才会动用新型的设置。
php在二〇〇三方面安装
PHP4的php4isapi.dll好像和二〇〇〇有个别冲突,只可以用CGI方式安装
步骤一,先www.php.net下在一个安装程序,笔者是装的是:php-4.2.3-installer.exe,你也能够去找最新的版本,在安装php-4.2.3-installer.exe在此之前保险你的IIS6.0运行了,并能够访谈。安装好以往,在暗许网址–>应用程序配置。
步骤二:点击web服务增加–>新建web服务扩充。
步骤三:扩大名–>php,然后增多 步骤四:找到php.exe的门路增加上去。
步骤五:显著就能够了! 步骤六:采用php的服务扩充,然后点击允许。
不常候sql语句不起功效,对数据库操作失利,最简便的调弄收拾方法,echo那句sql,看看变量的值能获得不。
include和require的界别
两个未有太大的界别,假如要含有的文件荒诞不经,include提醒notice,然后继续实践上面包车型地铁话语,require提醒致命错误况且脱离。
据小编测量检验,win32阳台下它们都以先包蕴后施行,所以被含有文件里最棒永不再有include或require语句,那样会招致目录混乱。只怕*nux下情状各异,前段时间尚未测量试验。
倘若一个文书不想被含有数十次可以使用include_once或require_once##读取,写入文书档案数据。
functionr{ $filenum=@fopen; @flock;
$file_data=@fread($filenum,filesize; @fclose; return$file_data; }
functionw($file_name,$data,$method=”w”){ $filenum=@fopen; flock;
$file_data=fwrite; fclose; return$file_data; } 的界别
两个都以测量试验变量用的,但是isset是测量检验二个业已被赋值的变量是还是不是为空。
借使叁个变量没被赋值就引述在php里是被允许的,但会有notice提示,若是一个变量被赋空值,$foo=””恐怕$foo=0或许$foo=false,那么empty也回到真,正是说赋空值不会撤消叁个变量。
要废除八个变量,可以用unsetmysql查询语句包括关于键字
php查询mysql的时候,一时候mysql表名或者列名会有关键字,这个时候查询会有不当。举个例子表名是order,查询时候会出错,轻巧的秘籍是sql语句里表名也许列名加上`[tab键上面]来加以区分,比如select*from`order`
通过HTTP合同叁遍上传八个文本的法门有多个思路,是同二个方式的三种达成。具体程序还需协调去规划。
1、在form中安装八个文本输入框,用数组命名他们的名字,如下:
<formaction=””method=post> <inputtype=filename=usefile[]>
<inputtype=filename=usefile[]> <inputtype=filename=usefile[]>
</form> 那样,在服务器端做以下测验: echo”<pre>”; print_r;
echo”</pre>”; 2、在form中安装三个文件输入框,但名字不一致,如下:
<formaction=””method=post> <inputtype=filename=usefile_a>
<inputtype=filename=usefile_b> <inputtype=filename=usefile_c>
</form> 在劳务器端做同样测量检验: echo”<pre>”; print_r;
echo”</pre>”;

发表评论

电子邮件地址不会被公开。 必填项已用*标注