私は、ユーザーがさまざまな観光関連ビジネスのオファーを追加できる広告 Web サイト プロジェクトを持っています。オファーごとに動的に生成されたページを作成しました。訪問者が意見を投稿できるコメント ボックスをページに追加したいと考えています。ページは正常に生成され、リンクは ads.php?id=2 で、id はそのオファーの ID です。コメントの送信ボタンをクリックすると、ページ リンクが ads.php?advertisement_comment=&place_comment=Place+comment に変わります。advertisement_comment はコメント ボックスの名前で、place_comment は送信ボタンの名前です。このため、3 行目に Notice: Undefined index: id in C:\xampp\htdocs\Project\advertisement.php が表示されます。もはやそれを取得します。リンクが変更されないようにする方法はありますか? そうでない場合は、ちょっと行き詰まっているので、必要な場所に到達するために使用できる別のデータベース構造と php コードを考えることができます。評価を下げる前に、何らかの方法で質問を編集する必要がある場合はお知らせください。どうもありがとうございました!
生成されたページのコード:
<?php
session_start();
$id = $_GET['id'];
require_once("includes/db_connect.php");
$query_dynamic_advertisement = "SELECT * FROM advertisings WHERE id = '$id'";
$result_dynamic_advertisement = mysql_query($query_dynamic_advertisement) or die (mysql_error());
$fetch_dynamic_advertisement = mysql_fetch_assoc($result_dynamic_advertisement);
// Hit counter
$query_advertising_views="UPDATE advertisings SET advertising_views = advertising_views + 1 WHERE id = '$id'";
$result_advertising_views=mysql_query($query_advertising_views) or die (mysql_error());
// Comments
if (isset($_POST['place_comment']))
{
$comment = mysql_real_escape_string($_POST[advertisement_comment]);
$advertising_id = $_SESSION['id'];
$query_place_comment = "INSERT INTO advertising_comments VALUES ('', '$comment', '$advertising_id')";
mysql_query($query_place_comment) or die (mysql_error());
}
?>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/style.css">
<title>Title</title>
</head>
<body>
<div id="wrapper">
</br>
<a href="index.php"><h3>Home</h3></a>
<a href="index.php"><img src="images/logo.png" alt="SporeDEV logo" id="logo"></a>
</br>
<!-- Meniu -->
<ul>
<li><a href="signup.php">Signup</a></li>
<li><a href="login.php">Login</a></li>
<li><a href="forgot_password.php">Forgot Password</a></li>
<li><a href="includes/logout.php">Logout</a></li>
<li><a href="advertising_panel.php">Advertising Panel</a></li>
<li><a href="user_panel.php">User Panel</a></li>
<li><a href="user_profile.php">User Profile</a></li>
<li><a href="admin_panel.php">Admin Panel</a></li>
</ul>
<!-- Sfarsit de meniu -->
</br>
<?php
echo "<p> General information </p>";
echo "</br>";
echo "Location name: {$fetch_dynamic_advertisement['location_name']}";
echo "</br>";
echo "Location type: {$fetch_dynamic_advertisement['location_type']}";
echo "</br>";
echo "</br>";
echo "</br>";
echo "<p> Address </p>";
echo "</br>";
echo "Region: {$fetch_dynamic_advertisement['region']}";
echo "</br>";
echo "Settlement: {$fetch_dynamic_advertisement['settlement']}";
echo "</br>";
echo "Street: {$fetch_dynamic_advertisement['street']}";
echo "</br>";
echo "Street number: {$fetch_dynamic_advertisement['street_number']}";
echo "</br>";
echo "</br>";
echo "</br>";
echo "<p> Contact information </p>";
echo "</br>";
echo "E-mail: {$fetch_dynamic_advertisement['email']}";
echo "</br>";
echo "Phone: {$fetch_dynamic_advertisement['phone']}";
echo "</br>";
echo "Website: <a href={$fetch_dynamic_advertisement['website']} target=_blank>{$fetch_dynamic_advertisement['website']}</a>";
echo "</br>";
echo "</br>";
echo "</br>";
echo "<p> Statistics </p>";
echo "</br>";
echo "Added: {$fetch_dynamic_advertisement['add_date']}";
echo "</br>";
echo "Modified: {$fetch_dynamic_advertisement['last_modified']}";
echo "</br>";
echo "Advertising views: {$fetch_dynamic_advertisement['advertising_views']}";
echo "</br>";
echo "</br>";
echo "</br>";
echo "<p> Description </p>";
echo "</br>";
echo "Description: {$fetch_dynamic_advertisement['description']}";
echo "</br>";
echo "</br>";
echo "</br>";
echo "<p> Comments </p>";
echo "</br>";
?>
<!-- Comment form -->
<p> Add a comment </p>
</br>
<form action = "advertisement.php?id=<?php echo $id;?>" method = "$_POST">
<textarea name="advertisement_comment"></textarea>
</br>
<input type="submit" name="place_comment" class="button_1" value="Place comment">
</form>
</div>
</body>
</html>
Advertising_comments テーブルの構造は、id(int 11, autoincrement)、comment (varchar 255)、advertising_id (int 11、これは最初のページの id と同じである必要があります) です。
MySQLが減価償却されていることは知っています。時間があれば、次の質問も確認してください:最も単純な MySQL から MySQLi への移行