Перестал работать тест на сайте. Помогите найти причину!

Тема в разделе "PHP", создана пользователем astrabis, 8 фев 2015.

  1. astrabis

    astrabis

    Регистрация:
    7 фев 2015
    Сообщения:
    0
    Симпатии:
    0
    Друзья, помогите, пожалуйста, разобраться с проблемой.
    Когда-то написал на php скрипт теста.
    Всё нормально работало, но вчера посетитель сайта написал, что есть проблема: выдаётся нулевой ответ.
    Это страница с тестом: http://astrabis.ru/teoria/test3.php
    Я в php весьма слаб и этот тест писал, глядя в учебник, поэтому для меня сейчас найти причину почти нереально.
    Здесь часть скрипта:
    <form action="http://www.astrabis.ru/teoria/testrez3.php" method="post">
    <table cellspacing="1px">
    <tbody>
    <tr><td rowspan="3">Цвет </td><td><input name="vata[]" type="checkbox" value="2">Чёрный</td></tr>
    <tr><td><input name="pita[]" type="checkbox" value="2">Красный, пурпурный.</td></tr>
    <tr><td><input name="kapha[]" type="checkbox" value="2">Белый.</td>
    </tr>
    ......................
    </tbody>
    </table>
    <div style="text-align: center"><input type="submit" value="Показать результат"></div>
    </form>

    Это скрипт на сервере:

    <?php

    if (isset($_POST['vata']))
    {
    @$x=array_sum($_POST['vata']);

    if (isset($_POST['pita']))

    @$y=array_sum($_POST['pita']);

    if (isset($_POST['kapha']))

    @$z=array_sum($_POST['kapha']); }

    @$allarray=array($x,$y,$z);
    $sum=array_sum($allarray);

    if ($sum>=4)
    {
    $x1=$x*100/$sum;
    $y1=$y*100/$sum;
    $z1=$z*100/$sum;
    }

    else {
    echo "<H3>Мало информации. Может быть вы здоровы?</H3>";
    }

    @$a=(int)$x1;
    @$b=(int)$y1;
    @$c=(int)$z1;
    echo "<table cellSpacing=1px>
    <tr><td>Вата</td><td>Питта</td><td>Капха</td></tr>
    <tr align=center><td>$a</td><td>$b</td><td>$c</td></tr>
    </table>"
    ?>
    На сервере сейчас включен php 5. Может быть, что это работало для php 4, а для 5-й версии не работает?
    Буду очень признателен хоть за какой-то намёк на пути решения этой задачи.
     
  2. dwm

    dwm

    Регистрация:
    31 окт 2012
    Сообщения:
    134
    Симпатии:
    14
    логи смотрел? что пишет сервер?
    скинь файл лога
     
  3. astrabis

    astrabis

    Регистрация:
    7 фев 2015
    Сообщения:
    0
    Симпатии:
    0
    Благодарю, что откликнулись.
    Отвечаю: логи не смотрел, я в этом деле баран.
    Сейчас зашёл на сервер, нашёл папки с логами, но последние файлы почему-то за 2013 год.
    Написал в техподдержку, может найдут эти логи.
    Сервер пишет в логах?
    Когда разберусь с местонахождением логов, надо специально пройти тест, чтобы ошибка зафиксировалась в логах - я правильно понимаю?
     
  4. astrabis

    astrabis

    Регистрация:
    7 фев 2015
    Сообщения:
    0
    Симпатии:
    0
    Вот здесь кусок из файла.
    Так совпало, что сначала я на одном тесте попробовал, а параллельно кто-то проходил другой тест.

    93.185.20.145 - - [10/Feb/2015:12:37:58 +0300] "GET /favicon.ico HTTP/1.0" 200 894 "http://astrabis.ru/dif/raih.php" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2292.0 Safari/537.36"
    91.133.2.203 - - [10/Feb/2015:12:38:07 +0300] "POST /teoria/testrez3.php HTTP/1.0" 301 314 "http://astrabis.ru/teoria/test3.php" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36"
    91.133.2.203 - - [10/Feb/2015:12:38:07 +0300] "GET /teoria/testrez3.php HTTP/1.0" 200 16532 "http://astrabis.ru/teoria/test3.php" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36"
    178.18.110.114 - - [10/Feb/2015:12:38:54 +0300] "POST /teoria/testrez.php HTTP/1.0" 301 313 "http://astrabis.ru/teoria/test.php" "Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10"
    178.18.110.114 - - [10/Feb/2015:12:38:54 +0300] "GET /teoria/testrez.php HTTP/1.0" 200 16892 "http://astrabis.ru/teoria/test.php" "Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10"
     
  5. astrabis

    astrabis

    Регистрация:
    7 фев 2015
    Сообщения:
    0
    Симпатии:
    0
    Столько просмотров и никто, кроме dwm, 9 фев 2015 ничего не может сказать? Или я чего-то не понимаю из того, что от меня требуется?
     
  6. VictorAS

    VictorAS

    Регистрация:
    2 ноя 2014
    Сообщения:
    8
    Симпатии:
    1
    В начале скрипта, сразу после <?php добавьте строчку:
    error_reporting(7);
    Чтобы получилось:
    Код:
    <?
    error_reporting(7);
    
    Далее, уберите на время из скрипта все символы @ - они скрывают вывод ошибок.
    И после этого проверяйте - информация об ошибках должна будет появиться прямо в браузере.
    Если не помогает и инфы нет - попросите у хостера, чтобы включил display_errors.
     
  7. astrabis

    astrabis

    Регистрация:
    7 фев 2015
    Сообщения:
    0
    Симпатии:
    0
    Не появилось никакой информации, кроме той, что была раньше "0".
    Включил на сервере "Все предупреждения и ошибки E_ALL" (так мне посоветовала техподдержка вместо display_errors, у них наверное такого нет.)
    Тоже никакого результата.