$_POST変数が受け取れない

このQ&Aのポイント
  • $_POST変数が受け取れずエラーメッセージが表示される。
  • フォームのaction属性やinput要素に問題がある可能性がある。
  • 解決策として、フォームのname属性を正しく指定し、<br>フォームデータの送信先を正確に設定する必要がある。
回答を見る
  • ベストアンサー

$_POST変数が受け取れない。

いつも大変お世話になり誠にありがとうございます。 度々申し訳ございません。 標記の件。 $_POST変数が受け取れません。 一昨日はこれで行けたと思ったのですが var_dump()で調べたらNULLでした。 どうして$_POST変数が受け取れないのでしょうか? すみません。どうか教えてください。 エラーメッセージは Warning: Undefined array key "name" in C:\xampp\htdocs\blog_create.php on line 11 Warning: Undefined array key "title" in C:\xampp\htdocs\blog_create.php on line 12 Warning: Undefined array key "category" in C:\xampp\htdocs\blog_create.php on line 13 Warning: Undefined array key "content" in C:\xampp\htdocs\blog_create.php on line 14 ペンネームブログタイトルカテゴリー 本文 です。 コードは form.php <body> <div class="v_line_fix"> <h1>Blog K・T</h1> <h2><a href="index.html">トップページ</a></h2> <?php if( $mode=='input'){} ?> <h2>ブログフォーム</h2> <form action="/blog_create.php/" method=_POST> ペンネーム<br> <input type="text" name="title"><br> ブログタイトル<br> <input type="text" name="title"><br> カテゴリー<br> <input type="text" name="title"><br> ブログ本文<br> <textarea name="content" id="content" cols="50" rows="80"></textarea><br> <input type="submit" value="確認ページへ"> </form> <p><a href="/">戻る</a></p> </body> </html> blog_create.php <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Blog</title> </head> <body> <?php $name = $_POST["name"]; $title = $_POST["title"]; $category = $_POST["category"]; $content = nl2br($_POST["content"]); //$post_at = $_POST["post_at"]; echo "ペンネーム{$name}"; echo "ブログタイトル{$title}"; echo "カテゴリー {$category}"; echo "本文 {$content}"; ?> <hr> <br> <input type="submit" action="/kanryou.php" value="送信する"> </body> 後退してしまいました。 すみません。 ご回答のほど何卒宜しくお願い申し上げます。

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1620/5655)
回答No.1

htmlのformについて調べてみたらどうですか? >後退してしまいました。 以前にも書きましたけど、 できたことで喜んでるだけで、内容の理解は全くされていないでしょ? そもそも進んでないんですよ。

関連するQ&A

  • POSTでwarning!

    いつも大変お世話になり誠にありがとうございます。 また、同じような質問で申し訳ありません。 標記の件。 ブログフォームのソースは下記です。 表示のソースも下記です。 どうすれば表示されるでしょうか? ご回答のほど宜しくお願い申し上げます。        記 <h2>ブログフォーム</h2> <form action="blog_create.php" method=_POST> <label>ペンネーム:</label> <input type="text" name="name" value=""><br> <label>タイトル:</label> <input type="text" name="title" value=""><br> <label>カテゴリー:</label> <input type="text" name="category" value=""><br> <label>ブログ本文:</label><br> <textarea name="content" id="content" cols="50" rows="80"></textarea><br> <input type="submit" value="確認画面へ"> <?php $name = $_POST["name"]; $title = $_POST["title"]; $category = $_POST["category"]; $content = nl2br($_POST["content"]); echo "ペンネーム{$name}"; echo "タイトル{$title}"; echo "カテゴリー {$category}"; echo "本文 {$content}"; ?> <hr> <br> <input type="submit" action="/kanryou.php" value="送信する"> Warning: Undefined array key "name" in C:\xampp\htdocs\blog_create.php on line 13 Warning: Undefined array key "title" in C:\xampp\htdocs\blog_create.php on line 14 Warning: Undefined array key "category" in C:\xampp\htdocs\blog_create.php on line 15 Warning: Undefined array key "content" in C:\xampp\htdocs\blog_create.php on line 16 ペンネームタイトルカテゴリー 本文

    • ベストアンサー
    • PHP
  • $_POSTの内容をMySQLに保存するには?

    いつも大変お世話になり誠にありがとうございます。 度々申し訳ございません。 標記の件。 エラーメッセージは Parse error: syntax error, unexpected identifier "into", expecting ")" in C:\xampp\htdocs\kanryou.php on line 9 です。 コードは先ほども提示したように blog_create.php <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Blog</title> </head> <body> <?php $name = $_POST["name"]; $title = $_POST["title"]; $category = $_POST["category"]; $content = nl2br($_POST["content"]); echo "ペンネーム{$name}"; echo "ブログタイトル{$title}"; echo "カテゴリー {$category}"; echo "本文 {$content}"; ?> <hr> <br> <form action="/kanryou.php" method=""> <input type="submit" value="送信する"> </form> </main> </body> kanryou.php <?php require_once(blog_create.php); try{ $db = new PDO('mysql:dbname=blog_app;host=localhost;charset=utf8','root'); $count = $db->exec(INSERT into blog (id,name,title ,category ,content,post_at) ($_POST["id"],$_POST["name"],$_POST["title"],$_POST["category"],$_POST["content"],$_POST["post_at"]){ echo 'DB接続エラー' . $e->getMessage(); } </main> </body> echo "送信完了です。ありがとうございました。"; ?> 本当に申し訳ありません どうか教えてください。 どこを直せばいいでしょうか? ご回答のほど宜しくお願い申し上げます。

    • ベストアンサー
    • MySQL
  • <?php if( $mode=='input')

    いつもお世話になりありがとうございます。 標記の件。 6行目がエラーになります。 エラーメッセージは Parse error: Unclosed '{' on line 64 in C:\xampp\htdocs\form.html on line 85 です。 <body> <div class="v_line_fix"> <h1>Blog K・T</h1> <h2><a href="index.html">トップページ</a></h2> <?php if( $mode=='input'){ ?> <h1>ブログフォーム</h1> <form action="/blog_create.php/" method=_POST>  ペンネーム<br> <input type="text" name="name"><br>   ブログタイトル<br>   <input type="text" name="title"><br>    カテゴリー<br> <input type="text" name="category"><br> ブログ本文<br> <textarea name="content" id="content" cols="50" rows="80"></textarea><br> <input type="submit" value="送信"> </form> <p><a href="/">戻る</a></p> </body> どう直せばいいでしょうか? 度々申し訳ございません。 ご回答のほど宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • MySQL INSERT into

    いつも大変お世話になり誠にありがとうございます。 標記の件。 $_postで取ってきたデータがMySQLに挿入できません。 どう直せばいいでしょうか? エラーメッセージは Parse error: syntax error, unexpected variable "$stmt" in C:\xampp\htdocs\kanryou.php on line 12 blog_create.php <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Blog</title> </head> <body> <?php $name = $_POST["name"]; $title = $_POST["title"]; $category = $_POST["category"]; $content = nl2br($_POST["content"]); echo "ペンネーム{$name}"; echo "ブログタイトル{$title}"; echo "カテゴリー {$category}"; echo "本文 {$content}"; ?> <hr> <br> <form action="/kanryou.php" method="post"> <input type="hidden" name="id" value="<?php echo $id; ?>"> <input type="hidden" name="name" value="<?php echo $name; ?>"> <input type="hidden" name="title" value="<?php echo $title; ?>"> <input type="hidden" name="category" value="<?php echo $category; ?>"> <input type="hidden" name="content" value="<?php echo $content; ?>"> <input type="hidden" name="post_at" value="<?php echo $post_at; ?>"> <input type="submit" value="送信する"> </form> </main> </body> kanryou.php <?php require_once(blog_create.php); try{ $db = new PDO('mysql:dbname=blog_app;host=localhost;charset=utf8','root'); $sql ="INSERT into blog (id,name,title ,category ,content ,post_at)"; ('$_POST["id"],$_POST["name"],$_POST["title"],$_POST["category"],$_POST["content"],$_POST["post_at"]'){ $stmt =$pdo->prepare($sql) $stmt->execute(); echo 'DB接続エラー' . $e->getMessage(); } echo "送信完了です。ありがとうございました。";?> 以上です。 度々申し訳ございません。 どうか教えてください。 宜しくお願い申し上げます。

    • ベストアンサー
    • MySQL
  • 【送信】ボタンが無反応!?

    いつも大変お世話になり誠にありがとうございます。 標記の件。 色々と試みましたが、何も反応しません。 MySQLに登録して、 「送信完了しました。ありがとうございます。」と出したいのですが、何も反応しません。 form.php <body> <div class="v_line_fix"> <h1>Blog K・T</h1> <h2><a href="index.html">トップページ</a></h2> <h2>ブログフォーム</h2> <form method="POST" action="blog_create.php">  ペンネーム<br> <input type="text" name="name" ><br>   ブログタイトル<br>   <input type="text" name="title" ><br>    カテゴリー<br> <input type="text" name="category" ><br> ブログ本文<br> <textarea name="content" id="content" cols="50" rows="80"></textarea><br> <input type="submit" value="確認画面へ"> </form> <p><a href="index.php">戻る</a></p> </body> </html> blog_create.php <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Blog</title> </head> <body> <?php $name = $_POST["name"]; $title = $_POST["title"]; $category = $_POST["category"]; $content = nl2br($_POST["content"]); //$post_at = $_POST["post_at"]; echo "ペンネーム{$name}"; echo "ブログタイトル{$title}"; echo "カテゴリー {$category}"; echo "本文 {$content}"; ?> <hr> <br> <input type="submit" action="/kanryou.php" value="送信する"> </main> </body> kanryou.php <body> <header> <h1>PHP</h1> </header> <main> <h2>登録結果!</h2> <?php <pre> <?php try{ $db = new PDO('mysql:dbname=blog_app;host=localhost;charset=utf8','root'); $count = $db->exec('INSERT blog (id ,name,title ,category ,content , post_at=timestamp()'); ( $_POST['id'] ,mb_substr(0,$name),mb_substr(0,$title),mb_substr(0,$category),mb_substr(0,$content), post_at=timestamp()'); echo $count . "件のデータを登録しました!"; } catch(PDOException $e){ echo 'DB接続エラー' . $e->getMessage(); } ?> </pre> </main> </body> echo "送信完了です。ありがとうございました。"; ?> すみません。 どうしても、無反応です。 困っています。 教えてください。 どうぞ宜しくお願い申し上げます。

    • ベストアンサー
    • MySQL
  • 投稿する->投稿完了 SQL挿入!!!

    いつも大変お世話になり誠にありがとうございます。 標記の件。 色々と調べましたがコーディングが解りません。 度々申し訳ございません。 どうか教えてください。 添付のボタンを押して、送信完了です。ありがとうございました。と 表示して、それと同時にMySQLに挿入したいです。 本当に申し訳ありません ご回答のほど宜しくお願い申し上げます。      記 blog_create.php <?php session_cache_limiter('public'); session_start(); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Blog</title> </head> <body> <?php $name = $_POST["name"]; $title = $_POST["title"]; $category = $_POST["category"]; $content = nl2br($_POST["content"]); //$post_at = $_POST["post_at"]; echo "ペンネーム{$name}"; echo "ブログタイトル{$title}"; echo "カテゴリー {$category}"; echo "本文 {$content}"; ?> <hr> <br> <input type="submit" action=kanryou.php value="送信する"> kanryou.php <?php require_once(blog_create.php); echo name; echo title; echo category; echo content; INSERT blog (name,title,category,content) VALUES(:name,:title,:category,:content); echo "送信完了です。ありがとうございました。"; ?> 以上です。 ご回答のほど宜しくお願い申し上げます。

    • ベストアンサー
    • MySQL
  • validateがおかしいみたいです。

    いつもお世話になり誠にありがとうございます。 標記の件。 2つコードを提示します。 何故、エラーになるのかを教えてください。 エラー警告は ( ! ) Fatal error: Uncaught Error: Call to undefined function blogValidate() in /srv/www/htdocs/blog_create.php on line 5 ( ! ) Error: Call to undefined function blogValidate() in /srv/www/htdocs/blog_create.php on line 5 です。 度々すみません。 アドバイスの程、宜しくお願い申し上げます。          記 //ブログのバリデーション function blogValidate($blogs) { if (empty($blogs['title'])) { exit('タイトルを入力してください。'); } if (mb_strlen($blogs['title']) > 191) { exit('タイトルは191文字以下にしてください。'); } if (empty($blogs['content'])) { exit('本文を入力してください。'); } if (empty($blogs['category'])) { exit('カテゴリーは必須です。'); } if (empty($blogs['publish_status'])) { exit('公開ステータスは必須です。'); } } } } ?> <?php require_once('blog.php'); $blogs = $_POST; $blog = new blog; $blog->blogValidate($blogs); この行がエラーになります。 $blog->blogCreate($blogs); ?> <p><a herf="/">戻る</a></p>

    • ベストアンサー
    • PHP
  • POSTでUndefined indexのエラー

    ページを表示すると Notice: Undefined index: sub in C:\apache\htdocs\post.php on line 13 といったエラーがでてしまいます。 <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title></title> </head> <body> <form action="#" method="POST"> <input type="submit" name="sub" value="GO"> </form> <?php print $_POST["sub"]; ?> </body> </html> intoで作ったGOボタンを押すとエラーは消えるのですが、 書き方は間違っていないと思うのずですが、 もしかしてphp.iniの設定が必要?とかでしょうか。

    • ベストアンサー
    • PHP
  • validateどう定義すればいいでしょうか???

    いつも大変お世話になり誠にありがとうございます。 標記の件。 blog.php で //ブログのバリデーション function blogValidate($blogs) { if (empty($blogs['title'])) { exit('タイトルを入力してください。'); } if (mb_strlen($blogs['title']) > 191) { exit('タイトルは191文字以下にしてください。'); } if (empty($blogs['content'])) { exit('本文を入力してください。'); } if (empty($blogs['category'])) { exit('カテゴリーは必須です。'); } if (empty($blogs['publish_status'])) { exit('公開ステータスは必須です。'); } } と定義してあるのにどうして blog_update.php の7行目 <?php require_once('blog.php'); $blogs = $_POST; $blog = new Blog(); $blog->blogValidate($blogs);  ★ここでエラー $blog->blogUpdate($blogs); ?> エラーコードは Fatal error: Uncaught Error: Call to undefined method Blog::blogValidate() in C:\xampp\htdocs\blog_update.php:7 Stack trace: #0 {main} thrown in C:\xampp\htdocs\blog_update.php on line 7 となります。 validateはどう定義すればいいでしょうか??? 度々申し訳ございません。 ご回答の程、宜しくお願い申し上げます。

    • ベストアンサー
    • PHP
  • htmlファイルがNot Found???

    いつもお世話になりありがとうございます。 標記の件。 添付の様に、htmlファイルがNot Found? となります。 表示させたいのです。 どうしたらいいのでしょうか??? 度々申し訳ございません。 アドバイスの程、宜しくお願い申し上げます。    記 <body> <div class="v_line_fix"> <h1>Blog K・T</h1> <h2><a href="index.html">トップページ</a></h2> <?php if( $mode=='input'){ ?> <h1>ブログフォーム</h1> <form action=blog_create.php method=POST> ブログタイトル<br> <input type="text" name="title"><br> ブログ本文<br> <textarea name="content" id="content" cols="30" rows="80"></textarea><br> カテゴリー<br> <select name="category"> <option value="1">日常</option> <option value="2">非日常</option> <option value="3">その他</option> </select> <br> <input type="radio" name="publish_status" value="1" checked>公開 <input type="radio" name="publish_status" value="2" checked>非公開 <br> <input type="submit" value="送信"> </form> <p><a href="/">戻る</a></p> </body>

    • ベストアンサー
    • PHP

専門家に質問してみよう