• 締切済み

PHPで値を出力

初歩的なことだと思うのですが リファレンス読んでもわからないので・・・ a.htmlでとってきた値をb.phpでエラーかどうかをを判断して、エラーならerror.htmlにb.phpで指定した変数の値(例:「~~のためエラーです」みたいなもの)を出力したい場合、どのようにすればいいのでしょうか。

  • PHP
  • 回答数3
  • ありがとう数3

みんなの回答

  • awazak
  • ベストアンサー率36% (61/165)
回答No.3

error.htmlに、「どんなエラーがあったか」を持っていかなければ、具体的なエラー表示できませんよね? そこで header('Location:http://xxxxxxxxx/error.html?error=$error'); で「$error」をひっぱって行くのです。 「?」以降は「変数の名前=要素」となっています。

  • to-zoku
  • ベストアンサー率36% (16/44)
回答No.2

//もし、送られた値にエラーがあったら、エラー関数を実行。 if($atai == "エラーな値"){error("なんかちごーとるよ?");} function error($msg){ head(); echo <<<error_html <div align="center"> Error!<br><br> $msg <br><br> <a href="javascript:history.back();">back</a> </div> error_html; foot(); exit; } ?> ヘッダーと、フッターは自分で作ってねー。

akirakiryu
質問者

お礼

早い回答ありがとうございました。

  • awazak
  • ベストアンサー率36% (61/165)
回答No.1

こんな感じでしょうか? b.php <? //エラー制御 1 if($_REQUEST[値のなまえ]==エラー制御1) $error.=1; //エラー制御 2 if($_REQUEST[値のなまえ]==エラー制御2) $error.=2; //エラーがあったらerror.htmlにとばす。 if($error!=''){ header('Location:http://xxxxxxxxx/error.html?error=$error'); } ?> error.html <? if(preg_match('/1/',$_REQUEST[error])){ echo '1のえらーです'; } if(preg_match('/2/',$_REQUEST[error])){ echo '1のえらーです'; } ?>

akirakiryu
質問者

お礼

ありがとうございます。 header('Location:http://xxxxxxxxx/error.html?error=$error'); の?から後ろ部分はどう意味になるんでしょうか? 重ね重ねすいません。

関連するQ&A

  • javascriptの値をPHPへ渡したい

    javascriptの値をPHPへ渡したい javascriptで計算された値をphpの変数へ代入し、その後の PHPで利用したいと考えています。 どのように代入すればよいでしょうか。。。 そもそもそのような事が可能なのでしょうか。。。 初歩的な事で申し訳ありませんが、教えて下さい。

    • ベストアンサー
    • PHP
  • PHPで送信された値は、すぐ変数に入れるものなの?

    PHPのプログラムについて、3つほど質問です。 問1 送信された値を使うとき、たとえば、$_POST["a"] というような書き方になると思いますが、 こうした送られた値というのは、$a=$_POST["a"];というようにして、すぐに変数に入れたほうが いいのでしょうか? おかしな値が入力されてきた場合のチェックとして、 if (!is_numeric($_POST["a"])){$_POST["a"]=1;} とか、 for ($i=1;$i<=$_POST["b"];$i++){ } というような使い方はしませんか? 問2 テキストエリアに、プログラムで算出した文字列を10件ほど出力させたいとき、 <textarea name="iroiro" rows="20" cols="50"> <?php ?> </textarea><br> として、<?php ~ ?> の間にプログラムを書き込めば、出力されますよね。 ただ、このプログラムが100行くらいになると、全体の流れが分からなくなって くると思います。 こんなときは、 <textarea name="iroiro" rows="20" cols="50"> <?php //データ表示用のサブルーチンへ飛ばす fun_data_hyouji() ?> </textarea><br> とかなんとか、書いて分かりやすくしようとしているのですが、業務にたずさわっている 方は、どんな書き方をするのでしょうか? そのままHTMLのなかの上記の位置へ書いて行く、サブルーチンを作って処理を飛ばす、などのご意見 を聞かせてください。 (というのも、参考にしているテキストが、HTMLとPHPが混ぜこぜになっていて、規模が 大きくなると、読みにくくなると思うからです) 問3 上記の問題で、サブルーチンを作るなら、どのあたりに作りますか? 別ファイルを作って呼び出す、</html>より下に書く、<body>の直後に書くなど、教えてくだ さい。ただし、このルーチンは、テキストエリアの出力しか使われないものとします。

    • ベストアンサー
    • PHP
  • PHP_INT_MAXを超える値の出力について

    下記の「希望」の値を出力させていのですが、 PHP_INT_MAXを超える値が指数表記となってしまいます。 PHPのコンパイル時に、BMP、BCMATHなどを有効にすれば希望の出力を得る関数が使えるようになるのですが、都合によりリコンパイルができません。 何か他の方法で希望の出力を得ることはできないのでしょうか。 <?php print("値は".(string)353108774858342429); // 希望 =>値は353108774858342429 // 実際 => 値は3.5310877485834E+17 var_dump(PHP_INT_MAX); // int(2147483647)

    • ベストアンサー
    • PHP
  • $GETが取得できない場合に指定の値を使う

    PHPでURLから変数を取得できるGETというのがありますがURLにこの値が指定されていない場合に指定した値を使うことは可能でしょうか? つまりこういうことです。 $aaa = $_GET['bbb']; としている場合にURLを ~/index.php?bbb=0000 とした場合は aaa=0000 となりますが、 ~/index.php としかしなかった場合はaaaの値は取得できずにエラーになってしまうため、このaaaの値を強制的に1111に指定し aaa=1111 としてphpプログラムを続行させたいのです。 そのようなことはできますか?

    • ベストアンサー
    • PHP
  • htaccess設定値を、PHPから動的に読み込み

    「.htaccess設定値」をPHP変数から動的に読み込みたいのですが、どうすればよいでしょうか? 例えば、$ip="123.456.78.90";の値を、「.htaccess」の指定した場所に出力して、「.htaccess設定値」として利用したいのですが……

    • ベストアンサー
    • PHP
  • PHP GETで飛ばす変数の中身

    PHP GETで飛ばす変数の中身 a.php→b.phpへ進むボタンを押したとき、 a.phpのフォーム入力でエラーがあった場合はa.phpへ戻るページを作っています。 各フォームの入力チェックは正規表現で判定し、 誤った入力がされた場合は$input2="2"; 正しい入力の場合(else)は$input2=""; のような形で変数に値を代入しています。 ※$input2には「何も入らない」か「2」が入るようにしているつもりです。 入力エラー時にa.phpへ戻る記述は ------------------------------------------------------------------------------ if($input1=="1"||$input2="2"||$input3="3"){   header("Location:a.php?SID&input1=$input1&input2=$input2&input3=$input3"); } ------------------------------------------------------------------------------ のような形にしています。(長ったらしい部分は省いています。) ところが、エラーがないときにa.phpに戻ってb.phpに進まなくなってしまいました。 アドレスバーをみると【input2=1】となっており、なぜか$input2に「1」が入ってしまっているようです。 $input2には「何も入らない」か「2」が入るように記述しているつもりなのですが、 「1」が入ってしまう理由がよく分かりません。 エラーがない場合はb.phpへ進みたいので、「何も入らない」状態にしたいです。 なぜ「1」が入ってしまうのかお分かりの方がいらっしゃれば教えて頂けると嬉しいです。 ※PHPは勉強し始めたばかりなので、不足している点などあればご指摘下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • php内のformのvalueに変数の値をいれたい

    どうぞよろしくお願いします。 php内のformのvalueに変数の値をいれたいのですが、下記の様に書くと<?=$a?> がそのままソースに出てしまいます。 どの様に書けば変数の値をvalueに格納できるでしょうか? <?php $a='abcd'; print'<form method="post" action="abc.php">'; print'<input type="hidden" name="a" value="<?=$a?>">'; print'</form>'; ?>

  • POSTした値を、別ページにもPOSTする

    分かりにくいタイトルで申し訳ありません。。 今までJavaScriptでエラーチェックの制御を行っていましたが、 要望でJavaScriptを排除しなければならなくなり、途方に暮れています。 会員情報の新規登録のシステムを作成しています。 新規登録画面をA.php、登録内容確認画面をB.phpとします。 行いたいことは、A.phpの登録確認ボタンをクリックすると、そのページのテキストボックス、ラジオボタン等で入力された項目に不備がないかチェックし、問題がなかったらB.phpに遷移するという簡単な流れです。 当初は <form name="myFORM" method="post" action="B.php" onSubmit="Check_input(document.myFORM)"> と記述し、JavaScriptで項目のチェックをし、問題があればポップアップで警告、なかったらB.phpに遷移していました。 JavaScript撤去後は、 <form name="myFORM" method="post" action="A.php"> として、いったん自分にPOSTし、A.phpの中でエラーチェックをして問題があればエラーをラベル出力するという形をとりました。 ここでつまずいているのが、A.php自身にPOSTし、エラーがない場合、POSTした値を保持したままB.phpに遷移したいができない、ということです。 エラーがない場合 header("location:B.php"); で、B.phpに飛んでいるのですが、当然ながらPOSTした値はついてきてくれません。。 項目数が多く、ひとつひとつに変数で値をもたせてあげることも難しいです。 何か良い案がございましたら、ご教授ください。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • プルダウンの値をphpファイルへ渡したい

    いつもお世話になっております。 現在、作成中のHPですが、データ取得をphpで行い表示をしています。 (1)a.phpでプルダウンのデータを取得し、b.phpで表示。 (2)b.phpでプルダウンを選択し、その値をtest.phpへ渡す。 (2)で、プルダウンの値を渡す処理がどうしてもうまくできず、 とても困っています。 どこを修正すればよいのかご教授願いたいのですが・・・。 スクリプトは下記の通りです。 ------------------------------------------------------- 【b.php】 <html> <head> <title>テスト</title> </head> <body> <SCRIPT language="JavaScript"> function testphp(){ try{ with(document.testform){ action="http://test/test.php"; test.value = testform.testselect[testform.testselect.selectedindex].value; method="POST"; submit(); } } catch(e) { alert("エラーは " + e.description + " です。"); } } </SCRIPT> <form name="testform" onchange="testphp()"> <select name="testselect"> <option value="あ">結果1</option> <option value="い">結果2</option> <option value="う">結果3</option> <option value="え">結果4</option> <option value="お">結果5</option> </select> </form> </body> </html> 【test.php】 <?php //変数処理 $a = @$_POST["test"]; print "渡された値:".$a; exit; ?> ------------------------------------------------- どうぞ、宜しくお願い致します。

  • HTMLに埋め込んだPHPがうまく出力できない

    PHP初心者です。 PHPファイルで、HTMLに埋め込んだPHPがうまく出力できません。 このファイルはもう一つのPHPファイルに読み込んで実行しています。 例えば、 <?php echo "<p>こんにちは</p>"; ?> とすると、 こんにちは "; ?> と出力されてしまいます。 とても初歩的なところで詰まっているようでお恥ずかしいのですが、 原因が分からないので回答よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう