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

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

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

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

Q&A

解決済

3回答

1579閲覧

あるサイトの掲示板がちゃんと機能するかのテスト中です。

1981225

総合スコア67

PHP

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

0グッド

1クリップ

投稿2022/09/08 19:55

編集2022/09/08 19:59

あるサイトの掲示板がちゃんと機能するかのテスト中です。

以下質問の続きです。
https://teratail.com/questions/2opw9i5s49fakz

「PHPとMySQLを使った掲示板の作り方を初心者向けに7ステップ解説」
https://biz.addisteria.com/bbs_creation0/
の掲示板がちゃんと機能するかテスト中です。
7講座あまであります。

しかし ちゃんと機能しません。
以上の講座を私なりにまとめたサイトは以下です。
http://afurieitohannei.la.coocan.jp/sns/phpkouza.htm
前回ご指摘があった一つである
Q? 1: パスワードは6文字以上のチェックをしていますが、6文字未満でも登録できてしまいます。
その理由は、入力値のチェックをしているtest2.phpを通らないからです。
公式サイトの
https://biz.addisteria.com/bbs_creation2/
ですが、以下試しました。

ニックネーム     ドラえもん2
email  ドラえもん2(メール以外でも登録可能)
パスワード      1(1文字でも登録可能)
パスワード再入力*   (未入力で登録可能)

以上「パスワード1文字で登録」ができてしまいます。

Ans:その理由は、入力値のチェックをしているtest2.phpを通らないからです。
test.php の以下の部分ですが、
PHP

<p>パスワード再入力<span class="red">*</span><input type="password" name="password2″ Ans:name="password2 の後ろは全角のダブルクォートになっています。

以下が 実際使用しているプログラムですが
「全角のダブルクォート」 なっている?
私の目からして
「半角のダブルクォート」ではないでしょうか?
よろしくお願いします。


【test2.php】PHPで会員登録フォームにエラーチェック機能を追加する

// ★ポイント3★
if (strlen($_POST['password'] )< 6 ) {
$error['password'] = 'length';
}

以上が機能していませんね!

次に
【test.php】HTML・PHP・MySQLで会員登録フォームを作る

<?php // ★ポイント1★ session_start(); require('dbconnect.php'); if (!empty($_POST) ){ $_SESSION['join'] = $_POST; header('Location: test3.php'); exit(); } ?> <!DOCTYPE html> <html lang="ja"> <head> <title>会員登録をする</title> </head> <body> // ★ポイント2★ <form action="" method="post" enctype="multipart/form-data" class="registrationform"> // ★ポイント3★ // ★ポイント4★ <p>ニックネーム<input type="text" name="name" style="width:150px" value="<?php echo htmlspecialchars($_POST['name']??"", ENT_QUOTES); ?>"></p> <p>email<input type="text" name="email" style="width:150px" value="<?php echo htmlspecialchars($_POST['email']??"", ENT_QUOTES); ?>"></p> <p>パスワード<input type="password" name="password" style="width:150px" value="<?php echo htmlspecialchars($_POST['password']??"", ENT_QUOTES); ?>"></p> <p>パスワード再入力<span class="red">*</span><input type="password" name="password2″ style="width:150px"></p> <input type="submit" value="確認する" class="button"> </form> </body> </html>

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

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

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

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

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

m.ts10806

2022/09/08 21:09 編集

何度も指摘してますが、同一人物による複数アカウント所持は規約違反です。 わざわざ自ら宣言すること自体が異常です。何も悪びれずに規約違反を犯していると、通報しました。
AbeTakashi

2022/09/09 01:16

参考 https://teratail.com/help/question-tips おそらくこのままだと回答出ないと思います。上の参考を上から下まで全部読んで、一度自分の質問を見直してみてください。少なくともその見にくい状態のソースコードを読み解く人はいないと思います。
m.ts10806

2022/09/09 01:52 編集

このユーザはどんなに丁寧に指摘してもまともに対応された試しがないので、 堂々と規約違反を宣言していることも含めて、もう通報だけでも良いと思います。 「続き」とされている前の質問についた回答もせっかく丁寧な内容なのに何も反映されてないまま投げてますし。
guest

回答3

0

規約違反を堂々と犯している当質問者宛てではなく、この質問を今後参考にするであろう人(主に初心者、入門者)に向けての回答です。

私の目からして

こういうことを声高々にアピールしてはいけません。恥をかくだけです。
「参考書通りに書いた(丸写しした)」「記事の手順通りにした」も次点です。

目じゃなくコンピュータの文字列検索など機械的に確認しましょう。
プログラムなら文法チェックにかけても良いです。
文法チェック機能のある、プログラミングに特化したエディタがいいですね。IDEは必須でしょう。
人間の操作が最も信頼できません。

世の中で起きている事故のほとんどがヒューマンエラーです。

セキュリティに限らず、交通事故も含めて。
プログラムは書いた通りにしか動かないので、なおのこと信頼すべきは「その実行結果を出しているプログラム」です。

ただしそのプログラムを書くのは人間。

つまり自分が書いたコードを自分が一番疑わないといけない。
自分の書いたコードを疑えるようになれば成長します。
逆にいつまでも他責思考な人は成長しません。

初心者、入門者であれば、「その記号はキーボードのどれを打てば出るのか。読み方、意味」など
知らずに「それっぽいの」「自分が知ってそうなものに近いやつ」を打ってしまいがちです。
自分が書いたコードが想定通りに動かない場合は、まず自分自身を疑う癖をつけましょう。
動かないコードを書いたのはあなた自身です。

投稿2022/09/09 04:06

編集2022/09/09 04:11
m.ts10806

総合スコア80850

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

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

0

以下は質問者様のプログラム問題個所のコピペです。

php

1<p>パスワード再入力<span class="red">*</span><input type="password" name="password2″

質問者様の使用しているフォントによって見え方が違うのかもしれませんが、最後のダブルクォーテーションが全角になっています。
というより右二重引用符になっています。

投稿2022/09/09 02:56

編集2022/09/09 02:57
ALOHAMS

総合スコア195

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

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

1981225

2022/09/09 16:42

ありがとうございました。 ” "指摘されるとわかります。 「サクラエディタ」を使っています。 だから、大文字が混ざってもわからないのですね! 私の環境だとオフィス ワードに に張り付けて チェックしたいと思います。
1981225

2022/09/09 19:24

PHP用フレームワークである「Laravel」 などでつくると 間違いないみたいですが 使用方法がいまいち解りません。 PHPコードの構文チェッカーも使い物になりませんね!  https://rakko.tools/tools/31/ ワードでの構文チェックは プログラムコード 事態は貼りつけると BOX化となり、プログラムが生成されてしまい、 困っています。
guest

0

ベストアンサー

Junkoさんの教材だったのですね。私はJunkoさんのLaravelの教材を見て非常によいと思っていたのですが、こちらの教材は全然ダメですね。同じ人が作ったとは信じられません。私が指摘した問題は、元の教材にもあるものでした。コピペしたのでしょうから、当然ともいえますが。
で、password2の二重引用符の問題はALOHAMSさんが書かれているとおりですが、入力値検証を通らない問題は、test.phpを以下のようにすれば差し当たり直るようです。

以下を

// ★ポイント2★ <form action="" method="post" enctype="multipart/form-data" class="registrationform">

以下のように修正。

// ★ポイント2★ <form action="test2.php" method="post" enctype="multipart/form-data" class="registrationform">

投稿2022/09/09 04:20

ockeghem

総合スコア11701

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

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

1981225

2022/09/09 19:35

再度ご回答下さいましてありがとうございました。 大変助かります。 「JunkoさんのLaravelの教材を見て非常によいと思っていた」 そうなんですね  安心しました。 現在「PHPフレームワーク」を探していますが 手ごわいです。 ご紹介いの コードと 「”」を大文字 「"」小文字に修正 したところ パスワードの6文字登録ができました。   この質問以外である、最初に質問したのチェック項目を試します。 しばらくお待ちください。 今後ともよろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問