Что дает? Страница пробела, где должны быть получены результаты

У меня есть код, пытающийся проверить, существует ли значение в кулоне, но он создает только пробелы, даже если сам запрос производит правильный вывод в phpMyAdmin. Мой код вызывается с помощью include_once на другой странице. Что я делаю неправильно? Единственный вывод, который я получаю, — это пустая белая страница (если выполняется напрямую), а в противном случае — другая пустая белая страница (если используется путем включения с помощью include_once на другой странице). Я пытался использовать эхо, возврат и т. Д. Также безрезультатно. ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: я знаю, что я должен использовать mysqli или pdo, но это мод на сайте и в приложении LEGACY; поэтому, пожалуйста, воздержитесь от примечаний об этом, а также от использования устаревших тегов HTML. ТАКЖЕ ПРИМЕЧАНИЕ: $ _Session [AccountSession] был ранее (на другой странице) очищен с использованием превентивных мер для внедрения SQL, поэтому, пожалуйста, воздержитесь от примечаний по этому поводу.

Мой текущий код:

<?php

// Start the session
session_start ();
ob_start();

// Include the necessary classes
include_once("../../includes/dbaccess.class.php");

// Connect to the database
$db = new dbAccess();
if (!$db->connect()) die("Not connected");

$lspresult = mysql_query("SELECT * FROM Accounts WHERE Account='$_SESSION[AccountSession]' AND LSP='1'");
if(mysql_num_rows($lspresult) == 0) {
// row not found
} else {
// row found
<<<EOO

<tr margin-left="40px">
<td width="10%">&nbsp;</td>
<td width="80%">
<input type="checkbox" valign="top" name="do_LSP" id="do_LSP" value="1" onClick="this.form.do_SexOffend.checked=1">
<label for="do_LSP"> <font color="blue"><b>La State Police Background Check</b></font>
</label>
</td>
<td width="10%">&nbsp;</td>
</tr>

EOO;
}

?>

РЕДАКТИРОВАНИЕ: После предложения проверить мои предположения, представленного Биллом Карвином (* спасибо), я сделал несколько подходящих модов, и теперь следующий код работает при прямом вызове, но не когда включен как включенная страница. Рабочий (непосредственно вызываемый) код:

<?php
// Start the session
session_start ();
ob_start();

// Include the necessary classes
include_once("../../includes/dbaccess.class.php");

// Connect to the database
$db = new dbAccess();
if (!$db->connect()) die("Not connected");

$lspresult = mysql_query("SELECT * FROM Accounts WHERE Account='$_SESSION[AccountSession]' AND LSP='1'");
if(mysql_num_rows($lspresult) == 0) {
// row not found
} else { ?>
<tr margin-left="40px">
<td width="10%">&nbsp;</td>
<td width="80%">
<input type="checkbox" valign="top" name="do_LSP" id="do_LSP" value="1" onClick="this.form.do_SexOffend.checked=1">
<label for="do_LSP"> <font color="blue"><b>La State Police Background Check</b></font>
</label>
</td>
<td width="10%">&nbsp;</td>
</tr>
<?php
}
?>

Включение находится внутри класса, затем функции, затем внутри:
<<

<!-- some html code content here -->

<?php include_once("./lspcheck.php");?>

<!-- some more html code content here -->

EOO;

Нужна ли особая обработка include_once, когда он помещен в HTML-код, обернутый так, как указано выше?

-3

Решение

Я рекомендую вам начать проверять свои предположения.

Например, при доступе к ассоциативному массиву вы должны использовать кавычки вокруг ключа, иначе PHP думает, что вы используете константу PHP, а не строку. Если константа с таким именем не определена, по умолчанию будет использоваться строка с таким же написанием, но если константа является определено, его значение используется.

$account = mysql_real_escape_string($_SESSION['AccountSession']);
error_log("AccountSession = '$account'");

Аналогично, выведите некоторую отладку для каждого шага, чтобы убедиться, что это то, что вы думаете. использование error_log() потому что это выведет в журнал ошибок сервера http вместо вашего буфера вывода HTML.

$sql = "SELECT * FROM Accounts WHERE Account='{$account}' AND LSP='1'"error_log("SQL = '$sql'");
$lspresult = mysql_query($sql);
if(mysql_num_rows($lspresult) == 0) {
error_log("Row not found");
// row not found
} else {
error_log("Row was found");
// row found
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector