您的位置:

php代码没有错,php常见错误

本文目录一览:

php500错误,下面是eintragen.php文件的代码,感觉代码没错,就是不知道为什么点xiugai.php之后显示500错误

#$expansion = mysql_real_escape_string($_POST["expansion"]);

改成:

//$expansion = mysql_real_escape_string($_POST["expansion"]);

if (!preg_match('/^[^\x00-\x20()@,;:\\".[\]\x7f-\xff]+(?:\.[^\x00-\x20()@,;:\\".[\]\x7f-\xff]+)*\@[^\x00-\x20()@,;:\\".[\]\x7f-\xff]+(?:\.[^\x00-\x20()@,;:\\".[\]\x7f-\xff]+)+$/i', $email))

{

   echo "scriptalert('你的邮箱地址不正确!');location.href='xiugai.php';/script";

   exit();

}

{ //////////////////////////你为什么在这里用花括号????????????啥意思????????

你可以一步步的调试:比如,你可以在你认为有问题的地方加上exit('test1');exit('test2');以此类推,看看到底在哪一行出的问题?

500的错误,也有可能是数据库的问题,你把执行时每个sql语句echo出来,然后复制到phpmyadmin里面执行一下,看看有没有错误?

xiugai.php和eintragen.php是在同一个路径下面吗?

你可以加上绝对路径,比如:/eintragen.php

这段php代码有错没

PHP标记有4种不同的风格可供我们使用,如下所示:

XML风格:

?php … … ?

这是PHP推荐使用的标记风格。服务器管理员不能禁用这种风格的标记,如果将 PHP 嵌入到 XML 或 XHTML 中则需要使用 ?php ? 以保持符合标准。

简短风格:

? … … ?

这种标记风格是最简单的,它遵循SGML(标准通用置标语言)处理说明的风格。但是系统管理员偶尔会禁用它,因为他会干扰XML文档的声明。只有在通过 php.ini 配置文件中的指令 short_open_tag 打开后才可用,或者在 PHP 编译时加入了 --enable-short-tags 选项。

SCRIPT风格:

script language="php" … … /script

这种标记是最长的,如果读者使用过JavaScipt或VBScript,就会熟悉这种风格。如果读者所使用的HTML编辑器无法支持其他的标记风格,可以使用它。

ASP风格:

% …… %

如果在php.ini配置文件设定中启用了asp_tags选项就可以使用它。这是为习惯了ASP或ASP.NET的编程风格而设计的。在默认情况下该标记是被禁用了。

总之其中两种,?php ? 和 script language="php" /script 总是可用的。另两种是短标记和 ASP 风格标记,可以在 php.ini 配置文件中打开或关闭。尽管有些人觉得短标记和 ASP 风格标记很方便,但移植性较差,通常不推荐。

php 程序运行没有提示错误,但是也无法执行,一段很简单的代码,求解

$k=1;$k=$n-$i;

这里会死循环

简单说明下

for (比如这里循环 5次) {

for (比如这里循环10次) {

这种嵌套的循环,内循环会优先于外循环的,也就是说,外循环第一次的时候,这里开始循环,一直到这里10次循环完毕后,外循环开始第二次循环,接着内循环又完成10次,外循环才会进入第3次。。。。。。。。。。。。依此论推

而你的内循环的条件, $k = 1, 这个时候k的值是1, 接着你有 $k = $n - $i, 开始$n 是3, 外循环第一次, $i就是1, 3-1= 2, 所以,最终你的k是2, 而你这代码等于没有给k一个终止数字,那么,就会$k++一直下去,不知道到什么数,所以,是死循环!

}

}

php中赋值是没有任何语法错误但是在浏览器中提示错误

出现上面这些是 PHP 的提示而非报错,PHP 本身不需要事先声明变量即可直接使用,但是对未声明变量会有提示。一般作为正式的网站会把提示关掉的,甚至连错误信息也被关掉。

解决方法:

方法1:服务器配置修改

修改 php.ini 中的 error配置下错误显示方式:将error_reporting = E_ALL 修改为

error_reporting = E_ALL ~E_NOTICE

修改后重启下APCHE服务器,方可生效。

方法2:对变量进行初始化。

方法3:做判断isset($_post['']),empty($_post['']) if --else

方法4:在出现notice代码之前加上@,@表示这行有错误或是警告不要输出,@$username=$_post['username'];

在变量前面 加上一个 @ ,如 if (@$_GET['action']=='save') { ...

方法5:最后一种很实用,是别人写的一个函数,通过这个函数进行传递值。

定义一个函数:

复制代码 代码如下:

function _get($str){

$val = !empty($_GET[$str]) ? $_GET[$str] : null;

return $val;

}

然后在用的时候,直接用 _get('str') 代替 $_GET['str'] 就行啦~