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

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

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

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

HTML

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

Q&A

解決済

2回答

1212閲覧

phpの変数受け渡しについて

kaji-tera

総合スコア6

PHP

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

HTML

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

0グッド

0クリップ

投稿2019/01/11 12:24

初歩的な質問ですが下記のコードを実行した際、staff_add_check.phpにて
Notice: Undefined index: name in /Applications/MAMP/htdocs/php/ric/staff_add_check.php on line 14

name,pass,pass2が定義されてないと出てしまいます。
文法エラーかと思ったのですが、参考にしている本と比べても違う箇所が見つからず数時間経ちました。
誰か助けてください m(__)m

staff_add.php

<!DOCTYPE html> <html> <head> <title>スタッフ</title> <meta charset="utf-8"> </head> <body> <h1>スタッフ追加</h1> <form method ="post"action="staff_add_check.php"> <p>スタッフ名を入力</p> <input type="text"name="name"value=""><br/> <p>パスワードを入力してください</p> <input type="text"name="pass"value=""><br/> <p>パスワードを確認のためもう一度入力してください</p> <input type="text"name="pass2"value=""><br/> <input type="button"onclick="history.back()"value="戻る"> <input type="submit"value="OK"> </form> <body> </html> > staff_add_check.php <!DOCTYPE html> <html> <head> <title>スタッフ</title> <meta charset="utf-8"> </head> <body> <?php function back(){ echo "<form>". "<input type='button'onclick='history.back()'value='戻る'>". "</form>"; } $staff_name =$_POST["name"]; $staff_pass =$_POST["pass"]; $staff_pass2 =$_POST["pass2"]; // 入力データの安全対策 $staff_name = htmlspecialchars($staff_name, ENT_QUOTES,'UTF-8'); $staff_pass = htmlspecialchars($staff_pass, ENT_QUOTES,'UTF-8'); $staff_pass2 = htmlspecialchars($staff_pass2,ENT_QUOTES,'UTF-8'); //スタッフ名チェック if($staff_name ==""){ echo "<p>名前がないよ</p>"; back(); }else{ echo "<p>スタッフ名 : ".$staff_name."</p>"; } //passチェック if($staff_pass == ""){ echo "<p>パスワードがないよ</p>"; back(); } else if($staff_pass2=""||$staff_pass != $staff_pass2){ echo "<p>パスワードが違うよ</p>"; back(); } // else{ $staff_pass = md5($staff_pass); $d = "<form method='post'action='staff_add_done.php'>". "<input type='hidden'name='name'value=".$staff_name.">". "<input type='hidden'name='pass'value=".$staff_pass.">". "<input type='button'onclick='history.back()'value='やめとく'>". "<input type='submit'value='OK'>". "</form>"; echo $d; } ?> <body> </html>

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

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

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

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

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

seastar3

2019/01/11 12:28

コードは、 ``` ``` で挟むとグレーの枠に収まって見やすくなります。
guest

回答2

0

自己解決

少し前にform をfomr と記載していて、修正しておりました。
修正後上書き保存を忘れていたのが原因っぽいです。

投稿2019/01/11 14:21

kaji-tera

総合スコア6

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

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

0

時の表記で見ても句ごとのスペースが取られていないのが気になります。

php

1$d = "<form method='post'action='staff_add_done.php'>". 2"<input type='hidden'name='name'value=".$staff_name.">". 3"<input type='hidden'name='pass'value=".$staff_pass.">". 4"<input type='button'onclick='history.back()'value='やめとく'>". 5"<input type='submit'value='OK'>". 6"</form>";

は、

php

1$d = "<form method='post' action='staff_add_done.php'>\n". 2"<input type='hidden' name='name' value='".$staff_name."'>\n". 3"<input type='hidden' name='pass' value='".$staff_pass."'>\n". 4"<input type='button' onclick='history.back()' value='やめとく'>\n". 5"<input type='submit' value='OK'>\n". 6"</form>\n";

のような文字列と変数との結合の際の配慮が必要です。

投稿2019/01/11 12:38

seastar3

総合スコア2285

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

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

kaji-tera

2019/01/11 14:19

丁寧にありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問