検索
ホームページバックエンド開発PHPチュートリアル同じ PHP ページに、データの送信と取得を同時に行うアクションを含めることはできますか?

做的一个类似贴吧的效果   在主页可以显示所有的帖子  点击某个帖子跳转到这个话题帖子里面    这个话题是通过$_GET['title'];用户在主页点击哪个标题就从数据库里面查询这个帖子作者发布的内容  代码如下   html布局很乱  大家凑合看吧         
问题出在最后  我弄了一个提交回复的框    通过post提交内容   但是我一写提交插入从表的代码就开始报错啊  报错的位置就是$title=$_GET['title'];这一句话       那个插入从表的代码这么写的

这个是把提交的内容插入到从表数据库的代码     不写这段代码下面那段代码正常运行  一写上这段代码就报错    报错的位置标出来了    报错内容如下 Undefined index: title in D:\wamp\www\contentpage.php on line 26
insert.php页面
 $pdo=new PDO("mysql:host=localhost;dbname=t1","root","");
 $stnt=$pdo->prepare("insert into reply(reid,name,content)values(:reid,:name,:content)");
 $stnt->execute($_POST);
 header("location:http://localhost/contentpage.php");
?>


下面是某个主题页面
contentpage.php
nbsp;html>







include "cookie.php";//显示登录的用户名

?>


  

  $pdo=new PDO("mysql:host=localhost;dbname=t1","root","");//下面开始查询这个主题的内容
  $title=$_GET['title'];//接收从主页点击的链接   点击哪个标题就查询哪个帖子            。。  。。。这里报的错 。。。。。
  $stmt=$pdo->prepare("select id,title,type,name,num,site,content from blog where title=?");
  $stmt->execute(array($title));
  $res3=$stmt->fetchall(PDO::FETCH_ASSOC);
  foreach($res3 as $v){
    echo ''.$v['num'].'';//简单输出内容
   }
?>
  

  

        

  •   

  •   

  

     $id=$v['id'];
   $pdo=new PDO("mysql:host=localhost;dbname=t1","root","");//这里也是一个输出的内容   是回复的内容 
   $stmt=$pdo->prepare("select id,name,content from reply where reid=?");//这个回复的内容建了一个从表  从从表里面查询的回复内容
   $stmt->execute(array($id));
   $res1=$stmt->fetchall(PDO::FETCH_ASSOC);
    foreach($res1 as $v2){
      echo $v2['name'];   //简单输出一下回复内容
     }
   ?>
  

  
//我又在下面弄了一个提交回复框         这个提交的代码是最上面那一段代码      
    

      
      
  

  



ディスカッションへの返信 (解決策) このエラーにより、D:wampwwwcontentpage.php の 26 行目での未定義のインデックスが表示されます。これは $title=$_GET['title']; です。文

やる前に判断することができる


やる前に判断することができる

判断方法

if($_POST ) {

//フォーム送信の処理

}
if(isset($_GET['title'])) { //固定小数点クエリの処理

}


はい、しかしお勧めしません。一般に、バックグラウンド処理を別のファイルで実行することをお勧めします。


if($_POST) {

//フォーム送信の処理

}

if(isset($_GET['title'])) {

//処理固定小数点クエリ

}

返信を送信するアクションに $title=$_GET['title']; によって渡された値が含まれていないため、返信を送信した後に問題が発生したことがわかります。このPOSTのポイントは、このページのタイトルを開くときに渡されます。このページでは、POST値がまったくないため、エラーが報告されます。いつでも可能ですか?

はい。


はい。

お兄さん、どうやってやるの?

正しく理解できているかわかりませんが、聞いてください。

これは明らかに 1 対多の関係です。
返信を送信すると、現在の投稿 ID と返信の内容が取得されます。テーブルに保存するときは、ID によって投稿されたタイトルを取得できます。その後は保存を続けるだけです。
さらに、1 対多のもう 1 つがあるかもしれません。考えてみてください。

チェックするのに ID の代わりにタイトルを使用するのはなぜですか?
まず、$_GET からのデータと $_POST からのデータなどの短いデータ判定を行います。

if (trim($_GET['title']) == '') {

/ /操作禁止

}

if (intval($_POST['reid']) //操作禁止
}
$_POST も['reid'] はフォームのどこに送信されましたか?隠しドメイン?
最後の header("location:http://localhost/contentpage.php") が表示されませんでした。 @header("Location: (space) http://localhost/contentpage.php" と記述することをお勧めします。 ");



正しく理解できているかわかりませんが、聞いてください。
これは明らかに 1 対多の関係です。
返信を送信すると、現在の投稿 ID と返信の内容が取得されます。テーブルに保存するときは、ID によって投稿されたタイトルを取得できます。その後は保存を続けるだけです。

また、1対多のものもあるかも知れませんが、考えてみましょう

返信する前に投稿のIDとタイトルを取得できますが、IDとタイトルは取得できません返信を送信した後、送信する前に ID とタイトルを取得するにはどうすればよいでしょうか?それとも他の方法を使用する必要がありますか?


なぜ ID ではなくタイトルを使用して確認するのでしょうか?

まず、$_GET からのデータと $_POST からのデータなどの短いデータ判定を行います。
if (trim($_GET['title']) == '') {

/ /操作禁止

}

if (intval($_POST['reid']) //操作禁止
}
$_POST も['reid'] はフォームのどこに送信されましたか?隠しドメイン?
最後の header("location:http://localhost/contentpage.php") が表示されませんでした。 @header("Location: (space) http://localhost/contentpage.php" と記述することをお勧めします。 ");


if 判定が行われています。重要なのは、送信アクションが完了した後、ポストによって渡された値がまったく受信されないため、エラーが報告されるということです。投稿の値が受信されない場合はどうすればよいですか?データをクエリするにはどうすればよいですか?

誰かいますか? ? ? ? ? ? ? ? ? ? ? ?


投稿に post を使用する場合、受信するには get をどのように使用しますか? $_POST['title'] に変更します。 。私も初心者なので、私の言っていることが正しいか分かりませんが、もし正しいならポイントを差し上げます
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Laravelでフラッシュセッションデータを使用しますLaravelでフラッシュセッションデータを使用しますMar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPロギング:PHPログ分析のベストプラクティスPHPロギング:PHPログ分析のベストプラクティスMar 10, 2025 pm 02:32 PM

PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

PHPのカール:REST APIでPHPカール拡張機能を使用する方法PHPのカール:REST APIでPHPカール拡張機能を使用する方法Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelテストでの簡略化されたHTTP応答のモッキングLaravelテストでの簡略化されたHTTP応答のモッキングMar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

Codecanyonで12の最高のPHPチャットスクリプトCodecanyonで12の最高のPHPチャットスクリプトMar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

PHPにおける後期静的結合の概念を説明します。PHPにおける後期静的結合の概念を説明します。Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。Mar 28, 2025 pm 05:12 PM

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)