PHP на WAMP SERVER - Ошибки в сценарии PHP

У меня есть сервер WAMP на Windows 7.

У меня есть php-код:

<html>
<head>
<script>
 var myvar;
 <?php include "myotherphp.php" ?> <!-- this put single line, like myvar="error"; or myvar="ok"; -->
</script>
<body>
...
<script>
if (myvar === "error") {
... do something ...
}
</script>
<body>

и код для myotherphp.php сделать некоторые вычисления и сделать что-то вроде...

<?php
...
echo 'myvar="error";
?>

myotherphp.php содержит код из тысячи строк, но... когда я это сделал, как и раньше в IIS, проблем не было, и я не получил никаких исключений, но я автоматически вставил раздражающий код в код:

SCREAM: Error suppression ignored for
Notice: Undefined index: ...

Это нежелательный код. 1. Есть ли какая-либо опция не помещать код (Это более раздражает, и это делает другие ошибки в моем скрипте, потому что из-за этого кода, мой HTML не скомпилирован должным образом. 2. Я хочу поместить здесь весь код (тысяча строк, включая другие php), но мне нужна концепция для правильной компиляции кода.

Я нашел phplint http://www.icosaedro.it/phplint/phplint-on-line.html, но я не знаю, хорошо ли это для apache, а не для phplint не в сети. так как строка как:

required_once __DIR__ . "/mythirdphp.php";

никогда не скомпилируется (из-за некоторых проблем безопасности). Это не похоже на jslint.com (что, на мой взгляд, намного лучше и понятнее. Я поместил тысячи строк в javascript и сумел их полукомпилировать без ошибок или предупреждений о jslint...)

Мне нужно разобраться в этом вопросе lint и любого глючного кода, и любая помощь будет оценена. Нужно пересечь платформу скомпилировано.

Если есть другие инструменты - дайте мне знать.

Спасибо:)

1 ответ

Решение

Неопределенные ошибки индекса являются результатом плохого кода PHP, подобного этому (просто пример, а не полный список возможных причин)

$x = $_POST['some_variable']

Но 'some_variable' является необязательным, и в этом случае он не был передан сценарию в массиве POST.

Правильным решением было бы исправить код, проверив, существует ли переменная перед ее использованием.

$x = array_key_exists('some_variable'] ? $_POST['some_variable'] : '';

В качестве альтернативы, если вам нужно исправить тысячи строк кода, вы можете просто отключить создание отчетов об ошибках, добавив

error_reporting(0);

в начало скрипта со всем плохим кодом. Это грязное решение, но может быть единственным вариантом.

Другие вопросы по тегам