tfkxspeed
@tfkxspeed
Сисадмин который пытается учиться и развиваться

PHP не выводится результат программы?

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

На вебсервере крутится сайт. На всякий случай вводные: php 8.1, wp 6.3.2.
Для удобства работаю в PhpStorm 2022.3.3
Пытаюсь учиться php с помощью учебника "Дэвид Скляр Изучаем РНР 7 Руководство"
Простое что то выводится, аля текст переданный формой, но запросы с БД (если поисковые данные верны) просто ничего не выводят (белая страница)
Есть пример:
- Форма на html:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Кнопка</title>
</head>
<body>
<form method="POST" action="/php/reports.php">
    Имя юзера: <input type="text" name="quiz_name"/>
    <br/>
    <br/>
    <button type="submit">Сформировать</button>
</form>
</body>
</html>


- Сама программа:
<?php
$db = new mysqli("localhost", "realbasename", "realpass");
// определяю значения логинов которые можно принять с формы
$quizname = array('mfc_lan','hhuser','lomakinada','svetlakovaos');
// проверяю, содержит ли параметр переданной на обработку формы одно из строковых значений
if (in_array($_POST['quiz_name'], $quizname)) {
// Если данный параметр содержит указанное значение, вывести данные с
    $stmt = $db->prepare('SELECT user_login,user_email FROM wp_users WHERE wp_users.user_nicename LIKE ?');
    $stmt->execute(array($_POST['quiz_name']));
    $rows = $stmt->fetchAll();
// Если искомое не обнаружено, сообщить от этом
    if (count($rows) == 0) {
        print "Данных нет или неверный поисковый запрос";
    } else {
// вывести на экран каждого юзера имя и почту в отдельной строке HTML-таблицы
        print '<table><tr><th>имя</th><th>почту</th></tr>';
        foreach ($rows as $row) {
            print "<tr><td>$row[0]</td><td>$row[1]</td></tr>";
        }
        print "</table>";
    }
} else {
// Это сообщение выводится на экран в том случае, если параметр переданной на обработку формы не содержит ни одно из строковых значений
    print "Данных нет или неверный поисковый запрос (параметр не содержит)";
}


Если на форме передаю значение которого нет в допустимых ($quizname) - то текст ошибки выводится на экран, но если на форме передаю значение которое есть - пусто. Пробовал убрать громоздкую "таблицу", и вместо неё хотя бы сигнал об успешности типа "print "Нашлось, работает";" - та же петрушка.
К БД подключается успешно.

За ранее благодарен.
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
tfkxspeed
@tfkxspeed Автор вопроса
Сисадмин который пытается учиться и развиваться
Вопрос решился так: Сменил режим работы php на cgi, а версию на 7.4.
Во всяком случае, я теперь вижу ошибки и обработка информации выводит результаты)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
IvanU7n
@IvanU7n
если на сервере крутится сайт, то скорее всего там вывод ошибок в браузер выключен и смотреть их нужно в логах на сервере

а проблема скорее всего в запросе
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы