2013-03-08 2 views
1

Я получаю уведомления и предупреждения для этого скрипта PHP BMC Calculator, но я не уверен, что их вызывает вообще, поскольку эти сообщения появляются только в Firefox. Heres a screenshotИсправление PHP-уведомлений и предупреждений?

Я добавил php/html прямо в свой файл шаблона и включил php для этого файла, это правильно? Here is the php/html

+0

Это основано на допущении на предоставленном изображении. У вас есть две переменные, которые либо не определены, либо используются до их определения. Деление на ноль происходит, потому что, ну, вы разделили на ноль. Возможно, используя php 'ini_set ('display_errors', false),' решит проблему (просто догадка). – Mic1780

ответ

2

Ваш вопрос с:

$gender = $_REQUEST['gender']; 
$met  = $_REQUEST['metric']; 

Они не определены в строке запроса или посланных данных.

Вы можете решить проблему с помощью проверки isset.

# If gender is not set, set it to male by default. 
$gender = isset($_REQUEST['gender']) ? $_REQUEST['gender'] : 'male'; 
+0

'empty()' лучше проверить, чем 'isset()', потому что если переменная установлена, но пустой ('#_POST ['gender'] = '''), вы по-прежнему хотите, чтобы по умолчанию ' male'. –

+0

Обычно я избегаю пустых проверок REQUEST vars, так как значение 0 возвращает TRUE на пустую() проверку - также, я считаю, что пустая проверка неопределенной переменной даст предупреждение? –

+0

Возможно, вы прямо в пункте № 1 (никогда не испытывали этого конкретно), но ваш второй пункт неверен. 'empty()' является сокращением для '! isset ($ var) || (isset ($ var) && $ var == FALSE) '. Из [PHP docs] (http://php.net/manual/en/function.empty.php): «Переменная считается пустой, если она не существует или ее значение равно FALSE. Empty() не генерирует предупреждение, если переменная не существует. " –

Смежные вопросы