検索
ホームページバックエンド開発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 までご連絡ください。
PHPアプリケーションをより速くする方法PHPアプリケーションをより速くする方法May 12, 2025 am 12:12 AM

tomakephpapplicationsfaster、followthesesteps:1)useopcodecachinglikeopcacheTostoredscriptbytecode.2)最小化abasequeriesecachingingindexing.3)leveragephp7機能forbettercodeefficiency.4)

PHP依存性インジェクション:コードのテスト可能性を改善しますPHP依存性インジェクション:コードのテスト可能性を改善しますMay 12, 2025 am 12:03 AM

依存性注入(DI)は、明示的に推移的な依存関係によりPHPコードのテスト可能性を大幅に改善します。 1)DI分離クラスと特定の実装により、テストとメンテナンスが柔軟になります。 2)3つのタイプのうち、コンストラクターは、状態を一貫性に保つために明示的な式依存性を注入します。 3)DIコンテナを使用して複雑な依存関係を管理し、コードの品質と開発効率を向上させます。

PHPパフォーマンスの最適化:データベースクエリの最適化PHPパフォーマンスの最適化:データベースクエリの最適化May 12, 2025 am 12:02 AM

DatabaseQueryoptimizationInpholvesseveralstrategESTOEnhancePerformance.1)selectonlynlynlyndorycolumnStoredatedataTransfer.2)useindexingtospeedupdataretrieval.3)revenmecrycachingtostoreres sultsoffrequent queries.4)

簡単なガイド:PHPスクリプトで電子メールを送信します簡単なガイド:PHPスクリプトで電子メールを送信しますMay 12, 2025 am 12:02 AM

phpisusededemingemailsduetoitsbuilt-inmail()functionandsupportiveLibrarieslikephpmailerandswiftmailer.1)usethemail()functionforbasicemails、butithaslimitations.2)emploadforadvancedfeatureSlikelikelivableabableabuses.3)雇用

PHPでの依存関係:簡単な説明PHPでの依存関係:簡単な説明May 10, 2025 am 12:08 AM

依存関係に関与(DI)inphpenhancesScodeFlexyandtateabilitybydecouplingessessessessessesses.1)useconstructorinjectiontopassopassopassdepenciesviaConstructors.2)

PHP DIコンテナ比較:どちらを選択できますか?PHP DIコンテナ比較:どちらを選択できますか?May 10, 2025 am 12:07 AM

Pimpleは簡単なプロジェクトに推奨されます。Symfonyの依存関係は、複雑なプロジェクトに推奨されます。 1)Pimpleは、そのシンプルさと柔軟性のため、小さなプロジェクトに適しています。 2)Symfonyの依存関係は、その強力な能力のため、大規模なプロジェクトに適しています。選択するときは、プロジェクトのサイズ、パフォーマンス要件、学習曲線を考慮する必要があります。

PHP依存性注入:何、なぜ、どのように?PHP依存性注入:何、なぜ、どのように?May 10, 2025 am 12:06 AM

依存症(di)inphpisadesignpatternwhereclassdependenciesiesedededed -aittrathertratedinternally、concodemodularityandtestability

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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

メモ帳++7.3.1

メモ帳++7.3.1

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

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境