• 締切済み

PHPとHTMLを使って(早急にお願いします)

はじめまして。 課題のデータが消えてしまい早急の提出物になるので 丸投げになるんですがどうかよろしくおねがいします。 ブラウザのフォームを使って携帯電話の形式チェックが行えるようにする。 フォームの内容 1、入力欄 形式:test name値:mobile value値:空(初期値) 2、サブミットボタン value値:確認する 3、フォームメソッド post 携帯番号入力後「確認する」ボタンを押す (1)入力フォーム再表示 (2)入力フォームのmobileの欄に入力した携帯番号表示 (3)入力した値が携帯番号の形式だったら「携帯番号です」と画面表示 (4)入力した値が携帯番号ではない場合「携帯番号じゃありません」と画面に出力 ファイル名 mobile.php ※PHPでpostメソッドを利用して送信したデータはスーパーグローバル変数の$_POSTに格納される よろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数0

みんなの回答

  • luka3
  • ベストアンサー率74% (297/399)
回答No.1

必要最低限で条件を満たすとこんな感じです。 <html> <body> <form method=post> <input type=text name=mobile value=""> <input type=submit value="確認する"> </form> <?php if (isset($_POST["mobile"])) { echo $_POST["mobile"]."<br>"; echo preg_match("/^0[89]0/",$_POST["mobile"])? "携帯番号です":"携帯番号じゃありません"; } ?> </body> </html>

関連するQ&A

  • HTMLとPHP

    こんにちは。いつもお世話になっています。 PHPとHTMLを勉強していてわからないことがあったのでよろしければ教えてください。 POSTでデータを取得するときにデータがあるか無いか判定してから、項目すべてに記入してあれば登録確認ページへ、空欄があればエラーページへいくようなサイトをつくったのですが、確認ページでデータが表示されませんでした。 if(!$_POST['name'] OR !$_POST['passwd'] OR !$_POST['address'] OR !$_POST['tel'] OR !$_POST['email']){ echo ("空欄があります。すべて記入して下さい。"); }else{ header("Location: http://localhost/my/myshop/confirm_user.php"); } エラー表示ページ(error.php)でこのように判定し、空欄がなければエラーページから確認ページ(confirm_user.php)へいくようにしました。 登録フォーム(input.php)で<FORM ACTION="error.php","confirm_user.php" METHOD="post"> としたのですが、2つのPHPにデータを送れないのでしょうか?

    • ベストアンサー
    • PHP
  • PHPとHTMLを混在させる方法

    phpで、MySqlに登録している顧客データを編集するフォームを作っています。 HTMLの中にPHPのif文を埋め込む方法がわからないので、質問します。 select.php で顧客データのID番号を入力して form.php に指定したID番号の顧客データを表示するところをやっているのですが、 チェックボックスを使う項目があります。 「登録データが1だったら、チェックボックスをオンにする」 というところの記述の仕方がわかりません。 スクリプトの構造上、どうしてもフォーム全体を 変数:$body に入れて書かなければなりません。 変数に入れずに、htmlにif文のところだけを埋め込む方法ならわかるのですが。 form.phpに書いているその部分のコードは下記です。これだと、if文のコードがそのままhtmlソースに出てきてしまいます。 form.phpより抜粋-------------------------------------------- $body="<form action='conf.php' method='post' enctype='multipart/form-data'> <table><tr> <td ><input type='checkbox' name='view_flag' value='1'> <?php if($col[view_flag]=='1') { echo 'checked' ;}; ?> />表示する</td> </tr></table> ...以下省略"; ----------------------------------------------------------------- 変数の中に入れてできる方法がわかる方いたら、教えて下さい。

    • ベストアンサー
    • PHP
  • phpのフォームについて

    phpで問合せフォームを作成中なのですが、分からない点が3点あります。 ご教示お願い致します。 (1)問合フォームの入力項目の最後の送信ボタンに下記のコードで「submit」を入れると、入力項目である郵便番号を入れると自動で住所表示(Ajaxzip2を使用)する機能が作動しなくなります。「submit」を入力しないと自動表示されますが、データーは送信されません。 どうしたらよいのでしょうか。 【問合せフォームの入力画面のコード/HTML】 <form method="POST" action="visit Application.php" > <h3 class="taitoru11">問合せ</h3> <label for="name">お名前を入力して下さい</label> <input type="text" name="name" id="name" placeholder="例)山田value=""> <label for="number">電話番号</label> <input type="tel" name="tel" id="tel" placeholder="例)0123" value="">   <label for="mail">メールアドレス</label> <input type="text" name="mail" id="mail" placeholder="例)" value="">    <label for="zip">郵便番号&nbsp;&nbsp;※必須</label> <input type="text" name="zip" id="zip" value="" placeholder="xxx-xxxx"maxength="8" />     <label for="addr">住所</label> <input type="text" name="addr" id="addr" /> <label for="addr2">マンション・部屋番号</label> <input type="text" name="addr2" id="addr2" /> <label for="comment">その他コメント</label> <textarea id="comment" name="comment" placeholder="問合せ内容をご記入ください" value="" wrap="hard" ></textarea> <input type="submit" value="入力内容を確認する" data-inline="true"/> </form> (2)上記のコードにある<input type="submit" value="入力内容を確認する" data-inline="true"/> を入力すると、ボタンを押さなくても、入力項目でエンターを2回押すと、送信先に勝手に送信されてしまいます。 どうしてでしょうか? また、ボタンを押さないと送信されない様にするにはどうすればいいのでしょうか。 (3)(1)のデーターの送信先で、上記の「その他コメント」欄については改行表示をさせたく、下記の様に「nl2br」を使ってみましたが、改行されませんでした。どうしたらよいのでしょうか。 【問合せフォームの送信先のコード/PHP】 <dl> <dt>お名前</dt> <dd><?php print(e($_POST['name'])); ?></dd> <dt>電話番号</dt> <dd><?php print(e($_POST['tel'])); ?></dd> <dt>メールアドレス</dt> <dd><?php print(e($_POST['mail'])); ?></dd> <dt>郵便番号</dt> <dd><?php print(e($_POST['zip'])); ?></dd> <dt>住所</dt> <dd><?php print(e($_POST['addr'])); ?></dd> <dt>マンション・部屋番号</dt> <dd><?php print(e($_POST['addr2'])); ?></dd> <dt>その他コメント</dt> <dd><?php print(nl2br(e($_POST['comment']))); ?></dd> </dl> 何卒よろしくお願い致します。

    • ベストアンサー
    • PHP
  • php post

    phpで質問です。 ページ1でユーザーにフォームから入力されたページをページ2でサニタイズをし確認のため表示しページ3でページ 1に入力された値をそのままdbに入れたいのですが、どうすればページ1で受け取ったデータを2.3に送信できますか?ページ2では確認のため表示したあとに登録か修正か尋ねるフォーム(登録がのname='add')のようにしています。 ページ2の 確認フォーム<form action="3.php" method="post"> <button type="submit" name="remove" class="pre">修正</button> <button type="submit" name="add" value="true" class="button">登録</button> </form>

    • ベストアンサー
    • PHP
  • セッション PHPとHTML

    form1.htmlのaction先にorder.phpを指定し、そのorder.phpで$_POSTを使ってform1.htmlのフォーム情報を取得します。その後、order.phpはheader(Location)でform2.htmlをブラウザ上に表示させます。 form2.htmlはaction先が同じorder.phpになっており、ifで動作を制御しています。form2.htmlのsubmitボタンを押すと、画面上にorder.phpにより、今まで2つのフォームで入力した内容が表示されます(order.phpはsessionですべての変数を保持しています)。 この時「form1の内容を訂正」「form2の内容を訂正」というリンクないしボタンを設けて、該当フォームに飛べるようにしたいのです。 このリンク/ボタンで該当フォームに飛んだ場合、入力内容がフォームに表示されるようにするには、どのようにすればいいのでしょうか? いまいちsessionの詳しい使い方が分からなくて困っています・・・。

    • ベストアンサー
    • PHP
  • HTML→PHP フォームの値の受け渡しができません

    PHPをはじめたばかりの初心者です。 ネットでいろいろ調べましたがわからず困っています。 お助けくださいm(_ _)m <内容> フォームの入力内容をPHP側で参照できません。 具体的には、 <form method="post" action="test.php"> <select name="BirthDay" size="1"> <option value="1">1月生まれ</option> <option value="2">2月生まれ</option> <option value="3">3月生まれ</option> </select> <input type="submit" value="決定"> </form> で飛ばした値を、 print($BirthDay); で表示させようとしています。 しかし、$BirthDayには何も入ってきません。 ただ、できないのはローカル環境だけで、 実際、他のサーバーにアップしてやると正常に 動作します。 ローカル環境は Win2000SP4+PHP4.4.1+Apache1.3.34 です。 httpd.confを見直しましたがわかりませんでした。 ぜひアドバイスをお願いしますm(_ _)m

    • ベストアンサー
    • PHP
  • phpのpostについて

    a.phpの値をb.phpにpostしたいのですがうまく値が渡せません post元にはname属性に変数を用いているのですがpost先でnameをどのように指定したらいいかわかりません <a.php> <form action="foo.php" method="POST"> <div id="button"> <input type="submit" name ="PostGo" value="postTime" style="margin-right:30px;" /> </div> <table> <?php for ($data = 1; $data < 5; $data++) { ?> <tr><td> <select name="test<?php echo $data?>"> <option value=1>1 <option value=2>2 <option value=3>3 <option value=4>4 </select> <?php } ?> </table></form> <b.php> <?php for($i=1;$i<5;$i++){ $test =($_POST['test']);←ここの部分のpostをどう指定したらいいかわかりません echo $test; } ?> ※$_POST['test' + $i] これでも取れませんでした

    • ベストアンサー
    • PHP
  • PHP 入力フォームにあらかじめ文字を入れておく

    PHPプログラミングをしております。 入力フォームを作成しているのですが、前のページで入力し、受け取った内容をもう一度表示させたいのです。 入力フォームにあらかじめ文字を入れておくのは、フォームタグに value="文字" をつけたせば良いのはわかったのですが、 今回文字を$text = $_POST['name']; という形で受け取っています。 入力フォームにあらかじめこの受け取った$text を表示させるにはどうすれば良いのでしょうか。

    • ベストアンサー
    • PHP
  • お問合せフォームのセキュリティについて

    PHP初心者です。 ようやく簡単なお問合せフォームを作る事ができました。 ですがセキュリティの面で不安がありませすので、ご質問させていただきます。 1. contact.html(入力フォームを表示) <form action="kakunin.php" method="post"> method="POST"で kakunin.php に値を渡してます。 2. kakunin.php(入力内容の確認やエラーを表示) $_SERVER["REQUEST_METHOD"] == "POST"でフォームの値を取得して、 input type="hidden"を使用して値を受け渡してます。 入力内容表示のフォームは <form method="POST" action="mail.php"> この時フォームでの表示は <td><?php echo $name ?></td> としているのですが、 これを、 <td><?php echo htmlspecialchars($name) ?></td> にした方がいいのでしょうか? 3 mail.php(入力内容をメールで送信) $_SERVER["REQUEST_METHOD"] == "POST"でフォームの値を取得して、 mb_send_mailで送信しています。 このようにして、フォームを作りましたが、 セキュリティの観点から見て注意しなければならない事は何でしょうか? 作り方に問題ありでしょうか? 駄文で失礼します。宜しくお願い致します。

    • 締切済み
    • PHP
  • PHPで求めた変数をHTMLで使う方法

    HTMLのformタグで与えた引数を元に、ある値をPHPで求めた後、その求めた変数をHTMLに戻って使う方法をご教授下さい。 例えば、 index.html ↓↓↓ <form action="submit.php" method="post"> <input type="text" name="xxxxx"> <input type="text" name="yyyyy"> <input tyoe="submit" value="実行"> </form> <textarea name="answer"> 実行後ここに、下のPHPで求めた$zzzzzを表示したい。 </textarea> 上のHTMLでxxxxxとyyyyyを入力して実行ボタンを押します。 そしてPHP側は、 submit.php  ↓↓↓ $zzzzz = $_POST["xxxxx"] . "は、" . $_POST["yyyyy"] . "です。"; このように求めた$zzzzzを上のHTMLに戻って表示したいのですが、しばらく調べてみても見つかりませんでした。 どなたかご教授下さい、お願いします。

専門家に質問してみよう