警告:除以零

时间:2011-04-04 13:15:39

标签: php

我使用以下静态方法发送邮件警报,但是它引发了错误:warning:division by zero ...

Postman::MailAlert($_POST['email'],'Hello '.$_POST['name'].', Thanks for signing up.Your customer id is '.$_POST['city']/'/'.$product_id.'.');

我已经通过@解决了这个问题,但为什么会出现这个问题,我做错了什么?

5 个答案:

答案 0 :(得分:3)

只是问题部分:

$_POST['city']/'/'.$product_id.'.');

需要像这样改变。

$_POST['city'] . '/'.$product_id.'.');

答案 1 :(得分:2)

接近该行代码的末尾:

[...]$_POST['city']/'/'[...]

添加一些空格以使其清晰:

[...] $_POST['city'] / '/' [...]

您试图将$_POST['city']除以'/'。如果PHP将非数字字符串('/')解释为数字值为0,则除以0。

也许你想连接而不是分裂?

答案 2 :(得分:1)

你应该使用

Postman::MailAlert($_POST['email'],'Hello '.$_POST['name'].', Thanks for signing up.Your customer id is '.$_POST['city'].'/'.$product_id);

答案 3 :(得分:1)

$_POST['city']/'/'应该成为$_POST['city'].'/',当您输入快速

时常见错误

答案 4 :(得分:1)

$ _ POST [' city'] /< ---这里的斜线是什么?我认为这是多余的。 ;)

只是旁注 - 您是否清理用户输入?我看到你直接使用$ _POST数组变量 - 不要这样做。用户可能会在这里提交任何内容,甚至是一些讨厌的字符串,并且您有责任确保这些不会影响您的应用程序。

P.S。:添加@是一种不好的做法,因为它只会在不修复原因的情况下抑制错误消息(消除症状)。 http://php.net/manual/en/language.operators.errorcontrol.php