質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

2328閲覧

<button type="submit">でisset($_POST['submit'])が常にfalse になる理由が知りいたい。

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2022/02/14 01:56

提示コードのコメント部内部ですがindex.phpで送信したsubmitをsearch.phpでそれがあるかどうか?を判定しているのですがなぜか常にfalse になってしまいますどう対処したらいいのでしょうか?

参考サイト:http://www.htmq.com/html5/button.shtml

index.php

php

1<!DOCTYPE html> 2<html lang=ja> 3 <head> 4 <meta charset="utf-8"> 5 6 <link rel="stylesheet" href="style.css"> 7 <title>send</title> 8 </head> 9 10 <body> 11 12<?php 13session_start(); 14session_regenerate_id(true); 15ini_set("display_errors",1); 16error_reporting(E_ALL); 17?> 18 19 20<!-- ログアウトアイコン --> 21<?php if(isset($_SESSION['login']) == true) 22{ 23?> 24<!-- ログイン中 --> 25 26 <form action="logout.php" method="post"> 27 <button type="submit"> ログアウト </button> 28 </form> 29 30 <form action="newThread.php" method="post"> 31 <button type="submit"> スレッドを立てる </button> 32 </form> 33 34 35<?php 36} 37?> 38 39 40 41 42 43 44 45<h1 class="center" > 掲示板 </h1> 46//////////////////////////////////////////////////////////////////////////////////////////////// 47<!-- 検索 --> 48<form class="center" action="search.php" method="post"> 49 <input type="text" name="name"><br> 50 <button type="submit"> 検 索 </button> 51 <br> 52</form> 53<br> 54 ////////////////////////////////////////////////////////////////////////////////////////////// 55<?php 56try 57{ 58 $dsn = 'mysql:dbname=Bulletin_Board;host=localhost;charset=utf8'; 59 $dbh = new PDO($dsn,"root",""); 60 $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 61 $sql = 'SELECT * FROM Thread'; 62 $stmt = $dbh->prepare($sql); 63 $stmt->execute(); 64} 65catch(PDOException $e) 66{ 67 die($e->getMessage()); 68} 69 70$count = 0; 71?> 72 73 74 75 76 77<?php foreach($stmt as $item) 78{ 79 $count += 1; 80?> 81<a href="thread.php?title=<?php echo $item['id']?>"> <?php echo $item['name']; ?> </a> &nbsp 82 83 84 85 <?php 86 if(($count % 8) == 0) 87 { 88 ?> 89 <br> 90 91 92 93<?php 94 } 95} 96?> 97 98 99<?php if(isset($_SESSION['login']) == false) 100{ 101?> 102 <form class="center" action="register.php" method="post"> 103 <button type="submit"> 登録 </button> 104 </form> 105 106 <form class="center" action="login.php" method="post"> 107 <button type="submit"> ログイン </button> 108 </form> 109<?php 110}else 111{ 112?> 113 114 115 116<?php 117} 118?> 119 120 121 122</body> 123 124</html> 125
Search.php

php

1<html lang=ja> 2 <head> 3 <meta charset="utf-8"> 4 <link rel="stylesheet" href="style.css"> 5 <title>send</title> 6 </head> 7 <body> 8 9 10<?php 11session_start(); 12ini_set("display_errors",1); 13error_reporting(E_ALL); 14?> 15//////////////////////////////////////////////////////////////// 16<?php 17if(isset($_POST['submit']) == true) 18{ 19//////////////////////////////////////////////////////////////// 20 print("aaa"); 21 try 22 { 23 $dsn = 'mysql:dbname=Bulletin_Board;host=localhost;charset=utf8'; 24 $dbh = new PDO($dsn,"root",""); 25 $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 26 $dbh->setAttribute(PDO::ATTR_AUTOCOMMIT, 0); 27 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 28 29 $dbh->beginTransaction(); 30 31 $sql = "SELECT id,name FROM Thread WHERE name LIKE '%" . $_POST["name"] . "%' "; 32 $stmt = $dbh->prepare($sql); 33 $stmt->execute(); 34 35 // 検索結果を列挙 36 $result = $stmt->fetch(); 37 if($stmt->rowCount() > 0) 38 { 39 for($i = 0; $i < $stmt->rowCount();) 40 { 41 ?> 42 43 <a href="thread.php?title=".$result[$i]> <?php echo $result[$i + 1] ?> </a><br> 44 45 46 <?php 47 print("thread.php?title=".$result[$i]); 48 $i++; 49 } 50 } 51 else 52 { 53 ?> 54 55 <h1> 該当するスレッドが見つかりません。 </h1> 56 57 <?php 58 } 59 } 60 catch(PDOException $e) 61 { 62 die($e->getMessage()); 63 } 64} 65else 66{ 67 print("bbb"); 68} 69 70?> 71 </body> 72</html> 73

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

$_POSTにsubmitというキーがないんでしょう。確認しましたか?

含まれない理由も参考記事に書いてあります。
読んでないのか理解してないのか分からないけど。。

name属性は、<button>に名前を付ける際に使用します。 スクリプトで操作する際などに必要となる<button>のコントロール名です。

つまりname属性なければスクリプトが受け取るリクエストに含まれない。
buttonに限らず。

投稿2022/02/14 02:13

編集2022/02/14 02:15
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

button要素にname属性がないので、isset($_POST['submit'])で探し当てることができずにいるように見えます。
name属性とvalue属性のペアで、$_POSTや$_GETで受け取れますので。
type属性はボタンの役割をブラウザに伝えるだけです。
<button>: ボタン要素 - HTML: HyperText Markup Language | MDN

投稿2022/02/14 02:41

編集2022/02/14 02:43
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

PHP

1<?PHP 2$submit=filter_input(INPUT_POST,"submit"); 3var_dump($submit); 4?> 5<form method="post"> 6<button type="submit">NG</button> 7<button type="submit" name="submit" value="1">OK</button> 8</form>

投稿2022/02/14 02:16

yambejp

総合スコア114833

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問