ホームページ >バックエンド開発 >PHPチュートリアル >PHPとCGIを使用してニュースWebサイトを開発する方法

PHPとCGIを使用してニュースWebサイトを開発する方法

WBOY
WBOYオリジナル
2023-07-21 17:25:461613ブラウズ

PHP と CGI を使用してニュース Web サイトを開発する方法

インターネットの急速な発展に伴い、ニュース Web サイトは人々がニュース情報を入手する重要な手段となっています。効率的で安定した使いやすいニュース Web サイトを開発することは、Web サイト開発者にとって重要なタスクです。この記事では、PHP と CGI を使用してニュース Web サイトを開発する方法を紹介し、読者の理解を深めるためにいくつかのコード例を示します。

まず、ニュース Web サイトを実行するための Web サーバーを構築する必要があります。ここでは Apache サーバーを使用できます。サーバー上に PHP および CGI 環境をセットアップする具体的な手順については、サーバーの関連ドキュメントを参照してください。

次に、ニュース情報を保存するデータベースを作成する必要があります。ここでは MySQL データベースを使用できます。まず、タイトル、内容、リリース時間などのフィールドを含むニュース テーブルを作成する必要があります。

CREATE TABLE news (
  id INT PRIMARY KEY AUTO_INCREMENT,
  title VARCHAR(255) NOT NULL,
  content TEXT,
  publish_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

次に、PHP を使用してデータベースに接続し、関連する関数を実装します。以下は、ニュースを追加するためのサンプル コードです。

<?php
$dbHost = 'localhost';
$dbName = 'news_site';
$dbUser = 'root';
$dbPass = '';

$conn = new PDO("mysql:host=$dbHost;dbname=$dbName", $dbUser, $dbPass);

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  $title = $_POST['title'];
  $content = $_POST['content'];

  $stmt = $conn->prepare("INSERT INTO news (title, content) VALUES (:title, :content)");
  $stmt->bindParam(':title', $title);
  $stmt->bindParam(':content', $content);
  $stmt->execute();

  // 重定向到新闻列表页面
  header("Location: news_list.php");
  exit;
}
?>

上記のコードを通じて、ユーザーが送信したニュースのタイトルとコンテンツを取得し、データベースに挿入できます。その後、ヘッダー関数を使用してユーザーをニュース一覧ページにリダイレクトします。

次に、ニュース リスト ページへのアクセスというユーザーのリクエストを処理し、データベースからニュース リストを取得してページに表示する CGI スクリプトを作成する必要があります。以下は、ニュース リスト ページのサンプル コードです。

#!/usr/bin/php-cgi
<?php
$dbHost = 'localhost';
$dbName = 'news_site';
$dbUser = 'root';
$dbPass = '';

$conn = new PDO("mysql:host=$dbHost;dbname=$dbName", $dbUser, $dbPass);

$stmt = $conn->query('SELECT * FROM news ORDER BY publish_time DESC');
$newsList = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>

<html>
<head>
  <title>新闻列表</title>
</head>
<body>
  <h1>新闻列表</h1>
  <ul>
    <?php foreach ($newsList as $news) : ?>
      <li><a href="news_detail.php?id=<?php echo $news['id']; ?>"><?php echo $news['title']; ?></a></li>
    <?php endforeach; ?>
  </ul>
</body>
</html>

上記のコードを通じて、データベースからニュース リストを取得し、ページに表示できます。各ニュースのタイトルはリンクになっており、クリックするとニュースの詳細ページにジャンプします。

ニュース一覧ページに加えて、ニュース詳細ページにアクセスするというユーザーのリクエストを処理し、データベースからニュース コンテンツを取得して表示する CGI スクリプトも記述する必要があります。以下は、ニュース詳細ページのサンプル コードです。

#!/usr/bin/php-cgi
<?php
$dbHost = 'localhost';
$dbName = 'news_site';
$dbUser = 'root';
$dbPass = '';

$conn = new PDO("mysql:host=$dbHost;dbname=$dbName", $dbUser, $dbPass);

$id = $_GET['id'];

$stmt = $conn->prepare("SELECT * FROM news WHERE id = :id");
$stmt->bindParam(':id', $id);
$stmt->execute();
$news = $stmt->fetch(PDO::FETCH_ASSOC);
?>

<html>
<head>
  <title><?php echo $news['title']; ?></title>
</head>
<body>
  <h1><?php echo $news['title']; ?></h1>
  <p><?php echo $news['content']; ?></p>
</body>
</html>

上記のコードにより、ユーザーが要求したニュース ID に基づいてデータベースからニュース コンテンツを取得し、ページに表示できます。

要約すると、PHP と CGI を使用してニュース Web サイトを開発するのは複雑ではありません。 Web サーバーを構築し、データベースを作成し、PHP および CGI スクリプトを記述することで、関連する機能を実装できます。この記事が読者のニュース Web サイト開発の一助になれば幸いです。

以上がPHPとCGIを使用してニュースWebサイトを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。