Я уверен, что есть простой ответ на этот вопрос, но я уже почти неделю возуюсь со всем и сдаюсь. Я пытаюсь создать приложение для корзины покупок, и каждое построенное мной решение для кодирования будет работать, когда я добавляю код на одну и ту же страницу, но когда я пытаюсь использовать внешнюю страницу для запуска функции, похоже, данные не возвращаются. Я попробовал различные методы мониторинга, чтобы определить, что происходит.
Вот код для главной страницы:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Cart Connection</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<p>Will this display?</p>
<p><a href='<?php echo "showCart.php?PHPSESSID=" . session_id() ?>'>View Cart</a></p>
<?php
$Database = "L3TtL2B5DdY";
$Table = "tblProds";
if (isset($_SESSION['curCart']))
$Cart = unserialize($_SESSION['curCart']);
else
{
if (class_exists("shoppingCart"))
{
$Cart = new shoppingCart();
$Cart->setDatabase($Database);
echo ("<p>If statement ran successfully</p>");
}
else
exit("<p>The shoppingCart class is not available!");
}
$Cart->setTable($Table);
$Cart->getProductList();
$_SESSION['curCart'] = serialize($Cart);
?>
<p><a href='<?php echo "showCart.php?PHPSESSID=" . session_id() ?>'>View Cart</a></p>
</body>
</html>
Вот соответствующий код на странице "shoppingCart.php":
<?php
class shoppingCart
{
private $dbConn = "";
private $dbName = "";
private $tableName = "";
private $orders = array();
private $orderTable = array();
function _construct()
{
$this->dbConn = @new mysqli("localhost", "root", "");
if (mysqli_connect_errno())
die("<p>Unable to connect to the database server.</p>" . "<p>Error Code " .
mysqli_connect_errno() . ": " . mysqli_connect_error() . "</p>");
}
public function setDatabase($Database)
{
$this->dbName = $Database;
@$this->dbConn->select_db($this->dbName)
Or die("<p>Unable to select the database.</p>" . "<p>Error code " . mysqli_errno($this->dbConn) .
": " . mysqli_error($this->dbConn) . "</p>");
}
public function setTable($Table)
{
$this->tableName = $Table;
}
public function getProductList()
{
$sqlString = "SELECT prodID, prodName, prodPrice FROM $this->tableName";
@$qryResult = $this->dbConn->query($sqlString)
Or die("<p>Unable to perform the query.</p>" . "<p>Error code " . mysqli_errno($this->dbConn) .
": " . mysqli_error($this->dbConn) . "</p>");
echo "<table width='100%' border='1'>";
echo "<tr><th>Product ID</th><th>Product Name</th><th>Product Price</th><th>Select Item</th></tr>";
$row = $qryResult->fetch_row();
do
{
echo "<tr><td>{$row[0]}</td>";
echo "<td>{$row[1]}</td>";
echo "<td>{$row[2]}</td>";
echo "<td><a href='showCart.php?PHPSESSID=" . session_id() . "&operation=addItem&productID=" . $row[0] .
"'>Add</a></td></tr>";
$row = $qryResult->fetch_row();
} while ($row);
echo "</table>";
}
......
?>
Когда я пытаюсь загрузить главную страницу, она отображает две строки
, и это все. Я отладил все ошибки, когда впервые создал код, и подумал, что он будет работать. Когда я писал оригинальную версию этой страницы, я поместил код «соединения» на ту же страницу, и таблица отображалась нормально, поэтому я не знаю, что еще это могло быть.
Я установил WAMP на свой Windows XP, и он, кажется, работает нормально. Я не коснулся файлов конфигурации ни для одной из программ, и весь мой другой тестовый код, кажется, работает нормально. Это просто когда я пытаюсь связаться с внешним файлом.
Любая помощь будет принята с благодарностью, так как я думаю, что мой мозг превращается в кашу.
Спасибо