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

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

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

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

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

Q&A

0回答

535閲覧

デバッグ $_POST[]をフラグにして画面切り替えができない原因が知りたい。

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

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

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

0グッド

0クリップ

投稿2022/02/11 08:56

編集2022/02/11 10:49

提示コードですが下部のpage 3の画面が表示されませんこれは何が原因なのでしょうか?$_POSTをフラグのようにして表示を切り替えているのですが他は表示されてpage3コメント部のコードだけが表示されな原因がわかりません。
このコードは会員登録の画面でパスワードとID、名前を入力して確認を押して次に確認画面に移行するのですがpage3だけが描画されません。エラーログを確認しましたが何も表示されていません。paga1,page2,page3に移行する画面処理のコードです。

php

1<!DOCTYPE html> 2<html lang=ja> 3 <head> 4 <meta charset="utf-8"> 5 <link rel="stylesheet" href="style.css"> 6 <title> 登録 </title> 7 </head> 8<body> 9 10 11 12<?php 13session_start(); 14ini_set("display_errors",1); 15error_reporting(E_ALL); 16date_default_timezone_set("Asia/Tokyo"); 17$password_hide = ""; 18 19try 20{ 21 22 $urltoken = isset($_GET["urltoken"]) ? $_GET["urltoken"] : NULL; 23 24 $dsn = 'mysql:dbname=Bulletin_Board;host=localhost;charset=utf8'; 25 $dbh = new PDO($dsn,"root",""); 26 27 $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 28 $dbh->setAttribute(PDO::ATTR_AUTOCOMMIT, 0); 29 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 30 $dbh->beginTransaction(); 31 $sql = "SELECT mail FROM preAccount WHERE token=(:urltoken) AND enable = 0 AND date < now()"; 32 $stm = $dbh->prepare($sql); 33 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 34 $stm->bindValue(':urltoken', $urltoken, PDO::PARAM_STR); 35 $stm->execute(); 36 $dbh->Commit(); 37 38 39 if($stm->rowCount() == 1) 40 { 41 $mail_array = $stm->fetch(); 42 $mail = $mail_array["mail"]; 43 $_SESSION['mail'] = $mail; //session 44 } 45 else 46 { 47 print("このURLは使えません。"); 48 49 } 50 51} 52catch (PDOException $e) 53{ 54 print('Error:'.$e->getMessage()); 55 die(); 56} 57 58 59if( (isset($_POST['checkSubmit']) == true) && (isset($_POST['finalSubmit']) == false )) 60{ 61 //POSTされたデータを各変数に入れる 62 $name = isset($_POST['name']) ? $_POST['name'] : NULL; 63 $password1 = isset($_POST['password1']) ? $_POST['password1'] : NULL; 64 $password2 = isset($_POST['password2']) ? $_POST['password2'] : NULL; 65 $id = isset($_POST['id']) ? $_POST['id'] : NULL; 66 //パスワード入力判定 67 if ( ($password1 == '') || ($password2 = '') ) 68 { 69 print("パスワードが入力されていません"); 70 } 71 72 //名前が入力されていない時 73 if ($name == '') 74 { 75 print("氏名が入力されていません。"); 76 77 } 78 79 //セッションに登録 80 $_SESSION['name'] = $name; 81 $_SESSION['password'] = $password1; 82 $_SESSION['id'] = $id; 83} 84?> 85 86 87 88<?php 89if( (isset($_POST['checkSubmit']) == true) && (isset($_POST['finalSubmit']) == true )) 90{ 91 92 $password = password_hash($_SESSION['password'], PASSWORD_DEFAULT); 93 94 try 95 { 96 $dbh->beginTransaction(); 97 $sql = "INSERT INTO Account (`name`,`ID`,`password`,`mail`,`date`,`identificationNumber`) VALUES (?,?,?,?,?,?)"; 98 $stm = $dbh->prepare($sql); 99 100 $data[] = $_SESSION['name']; 101 $data[] = $_SESSION['id']; 102 $data[] = $password; 103 $data[] = $_SESSION['mail']; 104 $data[] = date("Y-m-d H:i:s"); 105 $data[] = NULL; 106 $stm->execute($data); 107 $dbh->Commit(); 108 109 $dbh->beginTransaction(); 110 $sql = "UPDATE preAccount SET enable=1 WHERE mail=:mail"; 111 $stm = $dbh->prepare($sql); 112 $stm->bindValue(':mail', $_SESSION['mail'], PDO::PARAM_STR); 113 $stm->execute(); 114 $dbh->Commit(); 115 116 } 117 catch (PDOException $e) 118 { 119 $dbh->rollBack(); 120 print('Error:'.$e->getMessage()); 121 } 122 123} 124?> 125 126 127<!-- page 1 --> 128<?php if( (isset($_POST['checkSubmit']) == false) && (isset($_POST['finalSubmit']) == false )) 129{ 130?> 131 <form class="center" action="<?php echo $_SERVER['SCRIPT_NAME'] ?>?urltoken=<?php print $urltoken; ?>" method="post"> 132 <p>メールアドレス:<?=htmlspecialchars($_SESSION['mail'], ENT_QUOTES, 'UTF-8')?></p> 133 <p>パスワード:<input type="password" name="password1"></p> 134 <p>パスワード:<input type="password" name="password2"></p> 135 <p>ID:<input type="text" name="id"></p> 136 <p>氏名:<input type="text" name="name" value="<?php if( !empty($_SESSION['name']) ){ echo $_SESSION['name']; } ?>"></p> 137 138 <input type="submit" name="checkSubmit" value="決定"> 139 140 </form> 141<?php 142} 143?> 144 145 146<!-- page 2 --> 147<?php if( (isset($_POST['finalSubmit']) == false) && (isset($_POST['checkSubmit']) == true) ) 148{ 149?> 150 151 <form class="center" action="<?php echo $_SERVER['SCRIPT_NAME'] ?>?urltoken=<?php print $urltoken; ?>" method="post"> 152 <p>メールアドレス:<?=htmlspecialchars($_SESSION['mail'], ENT_QUOTES, 'UTF-8')?></p> 153 <p>パスワード:<?php echo str_repeat('*', strlen($_SESSION["password"]))?></p> 154 <p>氏名: <?php echo $_SESSION['name'];?></p> 155 156 <input type="submit" name="finalSubmit" value="登録決定"> 157 </form> 158<?php 159} 160?> 161 162<!-- page 3 --> 163<?php if( (isset($_POST['finalSubmit']) == true) && (isset($_POST['checkSubmit']) == true) ) 164{ 165 print("aaaa"); 166?> 167 168 <h1> 登録完了<h1/> 169 <a href="index.php">トップページへ移動</a> 170 171 172<?php 173} 174?> 175 </body> 176</html> 177

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

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

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

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

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

m.ts10806

2022/02/11 09:14

>何が原因なのでしょうか? ですから、基礎を身に着けようとしてないからだと何度も
退会済みユーザー

退会済みユーザー

2022/02/11 09:34

よく確認したのですがどうしてもわからないので。質問しました。
m.ts10806

2022/02/11 09:37

コード説明できないなら基礎を確認したとは言えません。数時間程度で基礎ができるわけないじゃないですか。
m.ts10806

2022/02/11 09:58

それに1つ前の未解決質問の原因がそのままのコードで質問するとかあり得ない。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問