我有一个成员网站需要登录,其中成员创建具有特定用户定义变量的网页,以输入数据,这些数据将显示为对这些网页的公共访问,每个网页都显示某个产品的信息。
有7种常见的网页模板,所有成员都可以选择显示与其相关的自定义变量,公司和特定产品(七种中的一种)。他们将自定义信息输入到表单中,然后将这些值放在网页模板上的适当位置以供潜在客户稍后查看
<input name='first_name' value='first_name'>
<input name='last_name' value='last_name'>
<input name='company_name' value='company_name'>
<input name='phone_number' value='phone_number'>
<input name='product_id' value='product_id'>
<input name='product_size' value='product_size'>
<input name='product_color' value='product_color'>
<input name='product_price' value='product_price'>
当使用URL中的user_id访问网页时,我需要能够访问与特定用户和用户提供的特定产品相关的这些变量的值,例如http://domain.com/page_template_1/user_id/product_id。
现在,只有用户在登录时才能访问这些值。我需要访问特定网址的任何人都可以访问这些值,用户的自定义值会显示产品信息。
答案 0 :(得分:0)
查询可能如下所示:
<?php
$db_connection = new mysqli('localhost', 'root', 'root', 'test');
if ($db_connection->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
$user_id = $_GET['user_id']; // from url
$product_id = $_GET['product_id']; // from url
// Make sure $db_connection matched your database connect script! Other wise it will come up with "Fatal error: Call to a member function prepare() on a non-object" error.
if($stmt = $db_connection->prepare("SELECT first_name, last_name, company_name, phone_number, product_id, product_size, product_color, product_price FROM table_name WHERE user_id = ? AND product_id = ?")) {
$stmt->bind_param("ii", $user_id, $product_id);
$stmt->execute();
$stmt->bind_result($first_name, $last_name, $company_name, $phone_number, $product_id, $product_size, $product_color, $product_price);
$stmt->fetch();
echo $first_name;
$stmt->close();
}
?>
您可能还想使用.htaccess文件重写您的网址。如果你想让你的网址漂亮。
希望这有帮助。
答案 1 :(得分:0)
出于某种原因,除了以下内容之外,我无法为我工作。这可能是我页面上其余代码构建的方式。我不知道。但这是我所做的工作。有必要使用$ row-&gt; variable_name而不是$ variable_name。但它确实有效。
$db_connection = new mysqli("", "", "");
if ($db_connection->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
$id = $_GET['user_id'];
$query = mysql_query("SELECT * FROM table_name WHERE id = '$id' LIMIT 1") or die(mysql_error());
$row = mysql_fetch_object($query);
echo " // HTML GOES HERE
$row->first_name
$row->last_name
$row->company_name
";