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

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

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

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

HTML

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

Q&A

解決済

1回答

561閲覧

brタグを入れるとsubmitボタンが効かなくなる

ttpk

総合スコア338

PHP

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

HTML

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

0グッド

0クリップ

投稿2021/07/28 14:15

編集2021/07/28 14:37

ご覧いただきありがとうございます。
PHPで会員登録フォームを作成しています。

PHP

1<!DOCTYPE html> 2<html lang="ja"> 3 4<head> 5 <meta charset="utf-8"> 6 <title>居酒屋従業員サイト</title> 7 <meta name="description" content="ディスクリプションを入力"> 8 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 9 <link rel="stylesheet" href="style.css"> 10 <!-- [if lt IE 9] --> 11 <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 12 <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script> 13 <!-- [endif] --> 14 <script src="app.js"></script> 15</head> 16 17<body> 18 <?php 19 require('function.php'); 20 $err_msg['common'] = ''; 21 22 if($_POST){ 23 debug('POST送信がありました'); 24 25 $email = $_POST['email']; 26 $username = $_POST['username']; 27 $password = $_POST['password']; 28 $password2 = $_POST['password2']; 29 $hash = password_hash($password, PASSWORD_DEFAULT); 30 31 /*try{ 32 $dbh = dbConnect(); 33 $sql = 'INSERT INTO USERS (username,email,password,login_time,delete_flg,create_date,update_date) VALUES (:username,:email,:password,:login_time,0,:create_date,:update_date)'; 34 $data = array(':username' => $userName,':password' => $hash,':login_time'=> date('Y-m-d H:i:s'),':create_date' => date('Y-m-d H:i:s'),'update_date' => date('Y-m-d H:i:s')); 35 $stmt = queryPost($dbh, $sql, $data); 36 debug('クエリ結果の中身:'.print_r($result,true)); 37 38 if($stmt){ 39 $sesLimit = 60*60; 40 $_SESSION['login_date'] = time(); 41 $_SESSION['login_limit'] = $sesLimit; 42 $_SESSION['user_id'] = $dbh->lastInsertId(); 43 $_SESSION['username'] = $username; 44 45 debug('従業員登録クエリ成功'); 46 debug('セッション変数の中身:'.print_r($_SESSION,true)); 47 header("Location:mypage.php"); 48 } 49 50 } catch (Exception $e) { 51 error_log('エラー発生:' . $e->getMessage()); 52 $err_msg['common'] = MSG07; 53 }*/ 54 } 55 56?> 57 <!----- main -----> 58 <h1>居酒屋の従業員サイトです</h1> 59 <section class="main-panel"> 60 <h2>ログイン</h2> 61 <form action="" method="post"> 62 <input type="text" name="email" placeholder="メールアドレス"> 63 <input type="text" id="userName" name="username" placeholder="ユーザ名"> 64 <br> 65 <input type="password" id="password" name="password" placeholder="パスワード"> 66 <br> 67 <input type="password" id="password2" name="password2" placeholder="パスワード(再入力)"> 68 <br> 69 <span class="msg"><?php echo $err_msg['common']; ?></span><br> 70 <input type="submit" value="登録する " id="regist"> 71 </form> 72 </section> 73 <!----- /main -----> 74 75 <!-- footer --> 76 <?php 77 require('footer.php'); 78 ?> 79

このコードはフォームに文字を入力して登録するボタンを押すと内容がPOSTされる
(23行目のPOST送信がありましたのメッセージがログに出力される)のですが
62行目のメールアドレスの入力フォームの後に<br>タグを入れると登録ボタンが効かなくなり
内容がPOSTされなくなります。

原因として考えられることがありましたらご教示ください。

動かないコードは下記になります

PHP

1<!DOCTYPE html> 2<html lang="ja"> 3 4<head> 5 <meta charset="utf-8"> 6 <title>居酒屋従業員サイト</title> 7 <meta name="description" content="ディスクリプションを入力"> 8 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 9 <link rel="stylesheet" href="style.css"> 10 <!-- [if lt IE 9] --> 11 <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 12 <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script> 13 <!-- [endif] --> 14 <script src="app.js"></script> 15</head> 16 17<body> 18 <?php 19 require('function.php'); 20 $err_msg['common'] = ''; 21 22 if($_POST){ 23 debug('POST送信がありました'); 24 25 $email = $_POST['email']; 26 $username = $_POST['username']; 27 $password = $_POST['password']; 28 $password2 = $_POST['password2']; 29 $hash = password_hash($password, PASSWORD_DEFAULT); 30 31 /*try{ 32 $dbh = dbConnect(); 33 $sql = 'INSERT INTO USERS (username,email,password,login_time,delete_flg,create_date,update_date) VALUES (:username,:email,:password,:login_time,0,:create_date,:update_date)'; 34 $data = array(':username' => $userName,':password' => $hash,':login_time'=> date('Y-m-d H:i:s'),':create_date' => date('Y-m-d H:i:s'),'update_date' => date('Y-m-d H:i:s')); 35 $stmt = queryPost($dbh, $sql, $data); 36 debug('クエリ結果の中身:'.print_r($result,true)); 37 38 if($stmt){ 39 $sesLimit = 60*60; 40 $_SESSION['login_date'] = time(); 41 $_SESSION['login_limit'] = $sesLimit; 42 $_SESSION['user_id'] = $dbh->lastInsertId(); 43 $_SESSION['username'] = $username; 44 45 debug('従業員登録クエリ成功'); 46 debug('セッション変数の中身:'.print_r($_SESSION,true)); 47 header("Location:mypage.php"); 48 } 49 50 } catch (Exception $e) { 51 error_log('エラー発生:' . $e->getMessage()); 52 $err_msg['common'] = MSG07; 53 }*/ 54 } 55 56?> 57 <!----- main -----> 58 <h1>居酒屋の従業員サイトです</h1> 59 <section class="main-panel"> 60 <h2>ログイン</h2> 61 <form action="" method="post"> 62 <input type="text" name="email" placeholder="メールアドレス"> 63 <br> 64 <input type="text" id="userName" name="username" placeholder="ユーザ名"> 65 <br> 66 <input type="password" id="password" name="password" placeholder="パスワード"> 67 <br> 68 <input type="password" id="password2" name="password2" placeholder="パスワード(再入力)"> 69 <br> 70 <span class="msg"><?php echo $err_msg['common']; ?></span><br> 71 <input type="submit" value="登録する " id="regist"> 72 </form> 73 </section> 74 <!----- /main -----> 75 76 <!-- footer --> 77 <?php 78 require('footer.php'); 79 ?> 80

m.ts10806さんからいただいた指摘をもとに検証を続けていたところ
style.cssを取り込む記述を外すとbrタグを入れてもsubmitされることがわかりました

css

1h1{ 2 font-size: 36px; 3 text-align: center; 4 color: #fa8072; 5} 6 7h2{ 8 color: #ff6347; 9} 10 11body{ 12 display: flex; 13 flex-flow: column; 14 min-height: 100vh; 15} 16 17a{ 18 text-decoration: none; 19 color: #ff4500; 20} 21 22.main-panel{ 23 width: 100%; 24 height: 420px; 25 padding-top: 60px; 26 text-align: center; 27} 28 29input[type="text"],input[type="password"]{ 30 width: 250px; 31 height: 40px; 32 margin-bottom: 45px; 33 border: 2px solid #e9967a; 34 border-radius: 0.8em; 35} 36 37::placeholder { 38 color: #ff4500; 39} 40 41.msg{ 42 color: red; 43} 44 45#login,#regist,.button{ 46 width: 100px; 47 height: 40px; 48 margin: 20px; 49 border: 2px solid #e9967a; 50 border-radius: 0.8em; 51 background-color: #ffeaea; 52 color: #ff4500; 53} 54 55#login:disabled ,#regist:disabled { 56 background: #dfdfdf; 57} 58 59p{ 60 color: #ff4500; 61} 62 63footer{ 64 width: 100%; 65 text-align: center; 66 color: #ff4500; 67 flex: 1; 68}

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

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

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

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

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

m.ts10806

2021/07/28 14:24

再現するにはファイルがだいぶ足りないですが、その「動かないコード」提示してもらえませんか? ここに入れましたが送信できますよ。↓ <input type="text" name="email" placeholder="メールアドレス"><br> 入れ方が悪いか、提示されてないファイル(PHP,js含む)どれかが影響してるのでは。
guest

回答1

0

自己解決

style.cssの

input[type="text"],input[type="password"]
内の
margin-bottomを45pxから15pxに修正したところsubmitボタンが動くようになりました。

投稿2021/07/29 14:24

ttpk

総合スコア338

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問