tany180sx の回答履歴
- PHPの変数で最初から2行分の文字列を取得したい
phpで変数に格納されたデータの最初の2行分の文字列だけを取り出す方法を教えてください。 例)複数行のデータ(\n区切り) aaaa bbbb cccc dddd 上記のデータが変数$valueに格納されています。 $valueに格納されたaaaa~bbbbまでを取得するにはどうしたらいいのでしょうか?
- PHPの変数で最初から2行分の文字列を取得したい
phpで変数に格納されたデータの最初の2行分の文字列だけを取り出す方法を教えてください。 例)複数行のデータ(\n区切り) aaaa bbbb cccc dddd 上記のデータが変数$valueに格納されています。 $valueに格納されたaaaa~bbbbまでを取得するにはどうしたらいいのでしょうか?
- PHPの式について
かなり基本的な事柄なのですが PHPにおいて【式】とは http://php.net/manual/ja/language.expressions.php の冒頭にある >式は、PHP における最も重要な基盤石です。PHPにおいては、ほとんど全てのものは式で記述されます。最も簡単で最も正確な式の定義は、"全ての式には値がある。" です。 とありますが、つまりは式とは評価したとき返り値を持つものと解釈してもよいのでしょうか? 例をあげると $hoge = 5; //これは式 print $hoge;//これも式 echo (print $hoge); //これも式 print (print $hoge); //これも式 echo (echo $hoge); //これは?実行するとパースエラー なぜ一番最後の例のみパースエラーなのでしょうか? 調べてみると【print】関数・・・というよりprintという言語構文ですか これはどうも常に1という値を返すみたですね。 つまり、本質問の冒頭で申した通り、帰り値を持つものが式とするならば この echo (echo $hoge); は式ではない。 ということになりますか? 以上、ちょっと根本的すぎますが ご教授ください。
- MySQLとPHP(HTML)の連携について
送信側では、PHP(HTML)下記のように書きました。 ----------------------------- <form action="input.php" method="post"> ボタン1:<input type="submit" name="input" value="入力"> ボタン2:<input type="submit" name="input2" value="入力"> </form> ----------------------------- 受信側(input.php)は下記のように書きました。 ----------------------------- <?php $url = "***.sakura.ne.jp"; $user = "abc"; $pass = "12345"; $db = "sakura_db"; if (isset($_POST["$input"])){ $sql = "SELECT SQL_CALC_FOUND_ROWS * FROM MAIN"; }elseif (isset($_POST["$input2"])){ $sql = "SELECT SQL_CALC_FOUND_ROWS * FROM MAIN2"; } //Connect MySQL Server $my_Con = mysql_connect($url,$user,$pass); mysql_query("SET NAMES utf8",$my_Con); if ($my_Con == false){ die("MySQL Server接続に失敗しました。"); } //Connect MySQL DataBase if (!mysql_select_db($db,$my_Con)){ die("MySQL DataBase選択に失敗しました。"); } //MySQL Deta Read $my_Row = mysql_query($sql,$my_Con); if (!$my_Row){ die(mysql_error()); } $a = 1; while ($row = mysql_fetch_array($my_Row) or $a <= 50) { echo ' <p>'; echo ' A'.$a.':<input name="date" type="text" size="4" value="'.$row["a"].'">'; echo ' B'.$a.':<input name="date" type="text" size="4" value="'.$row["b"].'">'; echo ' C'.$a.':<input type="checkbox" name="example"'.check($row["c"]).'>'; echo ' D'.$a.':<input type="checkbox" name="example"'.check($row["d"]).'>'; echo ' </p>'; $a++; } //Close MySQL Server $my_Con = mysql_close($my_Con); if (!$my_Con) { exit("MySQL Server閉じられませんでした。"); } ?> ----------------------------- この状態で送信側のボタンをクリックすると、input.php側では”Query was empty”とエラーがでます。 送信側の2つあるボタンによって表示されるテーブルを変えたいのですが、何が原因なのでしょうか? そもそもSQLの内容をif文での条件分岐は出来ないのでしょうか? 最近PHPを勉強し出した初心者です。 出来れば分かりやすく教えていただけないでしょうか。 よろしくお願い致します!
- ベストアンサー
- PHP
- tankarei1987
- 回答数1
- submitボタンの二重送信について
PHPでfacebookアプリの作成に挑戦しています。 ウォールへ投稿すると、何度かに1回の割合で二重送信となり、後から送信された空のコメントが優先されてウォールに投稿されてしまいます。 javascriptによりボタンの二重押しは回避しているのですが、なぜかたまに2回送信されてしまっているようです。 特にスマートフォン(iPhone)からの投稿時に多いです。 かと言って毎回そうなるわけでもない為、なにが原因なのかさっぱりわかりません。 どういった原因が考えられますでしょうか? スマートフォン特有のそういった現象とかあるんでしょうか・・・ よろしくお願いいたします。
- ベストアンサー
- PHP
- yamatonadeshico
- 回答数5
- 変数同士の引き算が出来ない
初歩的な質問で申し訳ありません。 いろいろ調べて、構文チェックなども行ったのですが、行き詰まってます。。。 なんとか自力で調べながらやってきたのですが、いよいよお手上げです。。。 ■処理内容 端末からバーコードの値を読み取り、条件のパラメータを付加してURLで送り カラム内のstock数をupdateする処理です。 ・パラメーターのmodeの値を読み取って「0」の出庫ならば減算、 「1」の入庫ならば加算で合計の値をupdateします。 ■現状と解決したい点 switch($state) case 0:が計算されません switch($state) case 1:は計算結果がカラムに格納されます。 ■端末アプリから吐出されるパラメーター(アプリ名:istocker) http://デモサイト/stock-regist-istocker.php?base_id=2&group_id=1&mode=0&password=&date=2011-02-22%2005:32:00&key=100&barcode=nabe-01 (必要な項目はmodeとkeyとbarcodeの3項目のみです。上記パラメータは 端末アプリ依存の物なので変更はできません) ・mode://登録状態(0=出庫 1=入庫 2=手動出庫 3=手動入庫 9=削除) ・key://入荷数 ・barcode://登録された商品番号 ■環境 CentOS 6.2 MySQL 5.1.67 PHP 5.3.3 ■補足 なんでこのような処理を。。。と思われるかと思いますが、上述のように パラメーターが端末アプリ依存のため「ー(マイナス)」の値を吐出せないので(泣 下記ソースと同じ内容でブラウザ入力用のphpも用意したのですが、そちらでは 「ー(マイナス)」の値で無事に加算・減算ができました。 ■ソース <?php $comp_flg = 1; if($_GET[barcode] && $_GET[key] && $_GET[mode]){ //データが全て入力されている場合 $no = $_GET[barcode]; //登録された商品番号 $quant = $_GET[key]; //入荷数 $state = $_GET[mode]; //登録状態(0=出庫 1=入庫 2=手動出庫 3=手動入庫 9=削除) $mysql_con = mysql_connect("localhost","DBUSER","PASSWORD"); if($mysql_con == false){ print ('MySQL接続に失敗しました<br>'); }else{ print ('接続完了しました<br>'); } if(mysql_select_db("DBNAME",$mysql_con)){ //sample01のデータベースに接続し、接続の確認 print "データベースに接続しました<br>"; }else{ die("接続に失敗しました<br>"); //接続に失敗したときにMySQLの接続を切る } $mytbl = mysql_query("select stock from dtb_products_class where product_code='".$no."'",$mysql_con); //現状の在庫データーを呼び出すクエリー if(!$mytbl){ die(mysql_error()); //エラーの場合はカットする print "エラーカット"; } switch($state){ case 0: $zaiko = mysql_fetch_array($mytbl); $kei=$zaiko[0] - $quant; //現状の在庫に新たな在庫を減算する $mytbl = mysql_query("UPDATE dtb_products_class set stock='".$kei."' where product_code='".$no."'"); //在庫数を商品番号で指定して更新する break; case 1: $zaiko = mysql_fetch_array($mytbl); $kei=$zaiko[0] + $quant; //現状の在庫から在庫を加算する $mytbl = mysql_query("UPDATE dtb_products_class set stock='".$kei."' where product_code='".$no."'"); //在庫数を商品番号で指定して更新する break; } $comp_flg = 0; if(!$mytbl){ die(mysql_error()); //エラーの場合はカットする print "エラーカット"; } } ?> 何卒、お力、ヒントなどよろしくお願いします m(__)m
- ベストアンサー
- PHP
- nabetantantan
- 回答数6
- 変数同士の引き算が出来ない
初歩的な質問で申し訳ありません。 いろいろ調べて、構文チェックなども行ったのですが、行き詰まってます。。。 なんとか自力で調べながらやってきたのですが、いよいよお手上げです。。。 ■処理内容 端末からバーコードの値を読み取り、条件のパラメータを付加してURLで送り カラム内のstock数をupdateする処理です。 ・パラメーターのmodeの値を読み取って「0」の出庫ならば減算、 「1」の入庫ならば加算で合計の値をupdateします。 ■現状と解決したい点 switch($state) case 0:が計算されません switch($state) case 1:は計算結果がカラムに格納されます。 ■端末アプリから吐出されるパラメーター(アプリ名:istocker) http://デモサイト/stock-regist-istocker.php?base_id=2&group_id=1&mode=0&password=&date=2011-02-22%2005:32:00&key=100&barcode=nabe-01 (必要な項目はmodeとkeyとbarcodeの3項目のみです。上記パラメータは 端末アプリ依存の物なので変更はできません) ・mode://登録状態(0=出庫 1=入庫 2=手動出庫 3=手動入庫 9=削除) ・key://入荷数 ・barcode://登録された商品番号 ■環境 CentOS 6.2 MySQL 5.1.67 PHP 5.3.3 ■補足 なんでこのような処理を。。。と思われるかと思いますが、上述のように パラメーターが端末アプリ依存のため「ー(マイナス)」の値を吐出せないので(泣 下記ソースと同じ内容でブラウザ入力用のphpも用意したのですが、そちらでは 「ー(マイナス)」の値で無事に加算・減算ができました。 ■ソース <?php $comp_flg = 1; if($_GET[barcode] && $_GET[key] && $_GET[mode]){ //データが全て入力されている場合 $no = $_GET[barcode]; //登録された商品番号 $quant = $_GET[key]; //入荷数 $state = $_GET[mode]; //登録状態(0=出庫 1=入庫 2=手動出庫 3=手動入庫 9=削除) $mysql_con = mysql_connect("localhost","DBUSER","PASSWORD"); if($mysql_con == false){ print ('MySQL接続に失敗しました<br>'); }else{ print ('接続完了しました<br>'); } if(mysql_select_db("DBNAME",$mysql_con)){ //sample01のデータベースに接続し、接続の確認 print "データベースに接続しました<br>"; }else{ die("接続に失敗しました<br>"); //接続に失敗したときにMySQLの接続を切る } $mytbl = mysql_query("select stock from dtb_products_class where product_code='".$no."'",$mysql_con); //現状の在庫データーを呼び出すクエリー if(!$mytbl){ die(mysql_error()); //エラーの場合はカットする print "エラーカット"; } switch($state){ case 0: $zaiko = mysql_fetch_array($mytbl); $kei=$zaiko[0] - $quant; //現状の在庫に新たな在庫を減算する $mytbl = mysql_query("UPDATE dtb_products_class set stock='".$kei."' where product_code='".$no."'"); //在庫数を商品番号で指定して更新する break; case 1: $zaiko = mysql_fetch_array($mytbl); $kei=$zaiko[0] + $quant; //現状の在庫から在庫を加算する $mytbl = mysql_query("UPDATE dtb_products_class set stock='".$kei."' where product_code='".$no."'"); //在庫数を商品番号で指定して更新する break; } $comp_flg = 0; if(!$mytbl){ die(mysql_error()); //エラーの場合はカットする print "エラーカット"; } } ?> 何卒、お力、ヒントなどよろしくお願いします m(__)m
- ベストアンサー
- PHP
- nabetantantan
- 回答数6
- 規則性がある配列を、格好良く作成したいのですが……
こういう配列なのですが、何か良い案はあるでしょうか? foreachとか、forなどを使って、スマートに配列を作成したいです $hoge = array( "あ" => "aa", "い" => "ii", "う" => "uu", "え" => "ee", "お" => "oo", "か" => "ka", "き" => "ki", "く" => "ku", "け" => "ke", "こ" => "ko", "さ" => "sa", "し" => "si", "す" => "su", "せ" => "se", "そ" => "so", "た" => "ta", "ち" => "ti", "つ" => "tu", "て" => "te", "と" => "to", "な" => "na", "に" => "ni", "ぬ" => "nu", "ね" => "ne", "の" => "no", "は" => "ha", "ひ" => "hi", "ふ" => "hu", "へ" => "he", "ほ" => "ho", "ま" => "ma", "み" => "mi", "む" => "mu", "め" => "me", "も" => "mo", "や" => "ya", "ゆ" => "yi", "よ" => "yu", "ら" => "ra", "り" => "ri", "る" => "ru", "れ" => "re", "ろ" => "ro", "わ" => "wa", "を" => "wo", );
- mod_rewrite設定について
タイトル通りPHPではなく、mod_rewriteについての質問になります。 適切なカテゴリが見当たらなかったので、PHPカテゴリであれば適切な回答を頂けると考えてこちらに書かせていただきます。 一応、.htaccess内にmod_rewriteの記述をして動作させる事はできていますが、理解が浅く応用が効かないレベルです。 ちょっと、今回その応用が必要になって、ハマッてしまいました。 仮に現在、以下のようなユーザディレクトリ形式のレンタルサーバで動作しているサイトがあるとします。 ttp://example.com/hoge/ RewriteEngine On RewriteBase /hoge/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /hoge/blog/index.php [L] この例では、.htaccessを【ttp://example.com/hoge/】に置いて、その下の階層に置かれたblogディレクトリのindex.phpにリダイレクトさせるという事ですが。 今回該当サイトのサーバを移動する事になって、ユーザディレクトリ形式ではなく、サブドメイン式の以下のようなレンタルサーバへ移動する事になりました。 ttp://hoge.example2.com/ もちろん、.htaccessの内容も書き換えて、以下のようにちゃんと変更して動作させる事ができています。 RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /blog/index.php [L] .htaccessを基準として見れば、自分(.htaccess)よりも下のblogディレクトリにアクセスするのは変わりないので、相対記述さえできれば…と試してみたところ、動きませんでしたorz。 どの階層に置かれても100%動く!!.htaccessが置かれたディレクトリをリネームされても大丈夫!! という記述方法があればベストなんですが。 ※特殊な環境では無理だが、一般的環境では8割方動くだろうという事でも可 そんな記述方法がないにしても理解が浅いために、「たぶん無理だろう」という予感を持っているだけで「このような理由で技術的に無理です」と言えないところに問題が。 ※ワードプレスのような広く使われているシステムが、ディレクトリ移動の際には書き換えの必要があるため。方法があるなら、きっとその方法は既に導入されているはずという予感から。 よろしければ、ご教授ください。
- htaccess設定値を、PHPから動的に読み込み
「.htaccess設定値」をPHP変数から動的に読み込みたいのですが、どうすればよいでしょうか? 例えば、$ip="123.456.78.90";の値を、「.htaccess」の指定した場所に出力して、「.htaccess設定値」として利用したいのですが……
- クラスの中でincludeするとき、コンストラクタ
例2 ▽クラス定義内でのinclude - id:anatooのブログ http://d.hatena.ne.jp/anatoo/20080106/1199616528 ・クラスの中でincludeすると、コンストラクタ以外だとエラーになるのですが、なんででしょうか? ・なぜ、syntax errorになるのでしょうか? ・コンストラクタならいい、という決まりなのでしょうか? ・それはどこに書いてあるのでしょうか?
- .htaccessを使いエラーが起きたら飛ばす
Apacheで.htaccessを使いアクセス制限をしようとしています。 そして403エラーが起きたら指定のファイルにリダイレクトするというのを試みているのですがうまくいきせん。 問題点を絞るべくなるべく簡単にしてみました。 a.phpファイル (http://xxx.yyy.co.jp/ に存在します) <?php print("a"); error_log("a"); ?> b.phpファイル (a.phpと同様にhttp://xxx.yyy.co.jp/ に存在します) <?php print("b"); error_log("b"); ?> .htaccessファイル ErrorDocument 403 http://xxx.yyy.co.jp/b.php deny from all <Files ~ "\.(html|php)$"> allow from all </Files> この.htaccessの意図は拡張子がhtmlとphpのファイルだけにアクセスを許可します。 そしてそれ以外でアクセスしてきて403エラー(forbidden)が出た場合b.phpにリダイレクトしようとしています。(話を簡単にするため他のエラーについては省略します) 問題が出る流れ 1:まずブラウザでhttp://xxx.yyy.co.jp/a.phpにアクセスします。 2:なぜか ErrorDocument 403 に引っかかり http://xxx.yyy.co.jp/b.php に飛んでしまいます。 もちろんこのとき http://xxx.yyy.co.jp/ に a.php はちゃんと存在しています。 よって「ErrorDocument 403 http://xxx.yyy.co.jp/b.php」をまるごと.htaccessから削除してもう一度アクセスしても当然403エラーは出ません。 ちなみに本当にエラーだった場合の処理はうまくいっていて、存在しないファイルで例えば下記のようなURLでアクセスをした場合は正しく http://xxx.yyy.co.jp/b.php に飛びます。 http://xxx.yyy.co.jp/a.ccc 問題は何故エラーでもないのにErrorDocument 403で飛んでしまうのかです。 やはり.htaccessの設定の仕方が悪いのでしょうか。
- ベストアンサー
- PHP
- ankodaisuki
- 回答数3
- 一時的な文字化けについて
サイトのリニューアルを行いました。 ・旧サイト → sjis (静的なhtml) ・新サイト → utf-8 (WordPress) 新サイトのmetaでutf-8を指定しファイルもutf-8で保存しているのですが、リニューアル後の最初のアクセス時に文字化けする場合があります。 サーバーのdefault_charsetもutf-8です。 ブラウザ上で右クリックしてエンコードからutf-8を選択するとそれ以降は全く文字化けしないのですが、これは旧サイトのキャッシュの問題なのでしょうか? 今回のリニューアルに限らず、いろんなサイトを見ているとたまに文字化けしているサイトがあり、エンコードから指定すると正しく表示される場合もいくつかあります。 修正する方法を知っている人であればいいのですが、知らない人がサイトに訪れた場合、ただの文字化けしているサイトです。 エンコードから正しい文字コードを指定すればそれ以降は文字化けしないので、キャッシュなのかブラウザの問題なのか明確な答えはわからないのですが、確実に正しいエンコードで表示させることってできるのでしょうか? 可能であれば方法を教えてください。
- php include がどうしてもできません;;
php include がどうしてもできません;;; php、超がつく程初心者です; Windows7、Internet explorer9、Apache2.2、PHP5.4.6、現在はlocalhost上でphp動作確認、 作業しております。 サイトのメニューをPHPで作成したいと思い色々必死に調べ、htdocsフォルダ直下同士?のphpは何とか表示させることができました。(localhostですが) しかしhtdocsより下のフォルダに入っているものですと、例え同階層でも表示がされません; ↓のような感じで完全に詰まってしまいました; htdocs/index.html に htdocs/topmenu.php を表示させる↓ htdocs/index.html内で <?php include(dirname(__FILE__).'/topmenu.php'); ?> → 成功 htdocs/naiyou/naiyou1.html に htdocs/naiyou/menu.php を表示させる↓ htdocs/naiyou1.html 内で <?php include(dirname(__FILE__).'/menu.php'); ?> → 失敗 htdocs/naiyou/naiyou1.html に htdocs/topmenu.php を表示させる↓ htdocs/naiyou1.html 内で <?php include(dirname(__FILE__).'/../topmenu.php'); ?> → やっぱり失敗 htdocsフォルダ直下のみでしかできない設定に私がしてしまっているのでしょうか。 元々直下のみしか表示できないもの…? それとももっと基本的なところでひかかっているのかな… 何かのパスが間違っているのでしょうか。 htdocsフォルダの場所とDocumentRootは共に "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs" となっています; 知識不足もあり言葉が足りないこと、説明がよく分からないことも多いこともあるかと…すみません。 既出の質問等も探しているのですが同条件を中々見つけられず、もうかれこれ1ヶ月近く解決せず悩んでいます。 申し訳ありませんが、どなたかご教授ください...;
- require,includeとAjaxで分岐
お世話になります PHPファイルについて requireやincludeで読み込まれた場合と Ajaxでのアクセスに対する処理を分岐する というのは可能でしょうか? $_SERVER['PHP_SELF']と__FILE__を比較すればいいかな とか思ってますがそれで本当に大丈夫なのか? もしかしてこの二つ、なんか違う形でパス返したりしないか? もうちょっと賢いやり方あるんじゃないか?とちょっと不安です 動機としては『これって一つにまとまってた方が便利じゃね?』 ぐらいのもんなんで、やめといたほうがいいっていうものなら諦めます よろしくお願いします
- ベストアンサー
- PHP
- H240S18B73
- 回答数5
- use と requireの違いは?
use と require(やinclude)の違いは何でしょうか? requireの使い方はほぼ理解できていると思っていますが、useの使い方がわかりません。 useを使っているところでrequireを使えたりするのでしょうか? phpの公式をみてもいまいちピンときません。 useについてわかりやすく教えていただけないでしょうか?
- 締切済み
- PHP
- baaaaaaaaan
- 回答数4
- ページングでの値の引き継ぎ方
1.html <form method="POST" action="l.php"> <input type="text" name="usersearch"/> <input type="submit" name="button" id="button" value="検索" /> </form> ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 2.php $usersearch= $_POST['usersearch']; こんな感じにPHPで受け取ったとして 2.php で <?php $pid = $_GET['pid']; $countRe=$num_rows; pager($_GET["pid"],$countRe); function pager($pid,$countRe){ if($pid=="") $pid=1; $maxPage=ceil($countRe/10); if($maxPage==1 or $maxPage<$pid) return false; if($pid>10){ $startPage=$pid-9; $startMore="<a href=\"$PHP_SELF?pid=".($startPage -1)."\">< PREV</a>"; }else{ $startPage=1; } if($pid+10<$maxPage){ $endPage=$pid+10; $endMore=" <a href=\"$PHP_SELF?pid=".($endPage+1)."\">NEXT ></a>"; }else{ $endPage=$maxPage; } $page_footer=""; for($i=$startPage;$i<=$endPage;$i++){ $page_footer.=" ".(($pid==$i)?"<span style='font-Size:120%'>$i</span>":"<a href=\"$PHP_SELF?pid=$i\">$i</a>"); } $page_footer=$startMore.$page_footer.$endMore; print $page_footer."<br>"; } ?> こうした場合、<a href=\"$PHP_SELF?pid=".($endPage+1)."\">NEXT ></a>"; この部分でリンクをクリックした場合、POSTした値が消えてしまっています。どうしたら引き継げますか??
- empty($_SERVER['REQUEST_U
empty($_SERVER['REQUEST_URI'])とは、何のことでしょうか? 下記スクリプトの意味について教えてください。 // // Fix unavailable $_SERVER['REQUEST_URI'] on IIS // if ( empty($_SERVER['REQUEST_URI']) ) { $_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF']; $_SERVER['REQUEST_URI'] .= ( !empty($_SERVER['QUERY_STRING']) ) ? '?'.$_SERVER['QUERY_STRING'] : ''; } ▼if ( empty($_SERVER['REQUEST_URI']) ) { $_SERVER['REQUEST_URI']が空だったら、の意味が分かりません。 ページにアクセスするためのURIを指定しなかったら? それは、どんな状況なのでしょうか? ▼$_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF']; $_SERVER['REQUEST_URI']に、現在実行しているスクリプトのファイル名を利用。これは、何をしているのでしょうか? ▼$_SERVER['REQUEST_URI'] .= ( !empty($_SERVER['QUERY_STRING']) ) ? '?'.$_SERVER['QUERY_STRING'] : ''; クエリ情報(URLの"?"以降の文字列)が空でなければ、クエリ情報をくっつける。空だったら、くっつけない 結局、このスクリプトでは何をしようとしているのでしょうか? また、このスクリプトがないと、どういう不具合が起きる可能性があると、想定されるでしょうか? 検索してみたら、下記のようなページがあったのですが、 IIS(サーバ?)固有の不具合回避対策なのでしょうか? ▽Dokeos Forum • View topic - IIS $_SERVER['REQUEST_URI'] http://www.dokeos.com/forum/viewtopic.php?t=8335
- phpのtry and catchについて
PHPについて質問ですが try and catchの命令についてPHP5から対応していたはずですが さくらインターネットで0除算の処理を作成し、試してみたのですが 500エラーとなってしまいます。 どなたか、ご存知の方はいらっしゃいませんでしょうか?
- ベストアンサー
- PHP
- hitosi2324
- 回答数4
- PHP実行時のエラーについて
質問よろしくお願いいたします。 PHP初心者なのですが、 サイト更新のし易さなどから ’ウェブランサー’というサイトのテンプレートを使わせて頂き、 試行錯誤しながら現在サイト構築を進めています。 動作確認にはXAMPPというフリーソフトを使っているのですが、 どうやらエラーが出ているようなのですが、 なにが原因なのかよくわかりません。 分かる方いらっしゃいましたら、教えて頂けないでしょうか? Deprecated: Function ereg() is deprecated in C:\xampp\htdocs\public_html\index.php on line 2 これは何のエラーなのでしょうか? 自分なりにネットで調べても、英語サイトばかり引っ掛かり 原因が分からないでいます。 現在 public_html のフォルダーには、2つのファイルがありまして (ウェブランサーさんのテンプレートです。) どちらかが原因なのでしょうか? ■1つめのファイル(temp.php) <?php /***********************************/ // 使いまわす部品の用意 /***********************************/ // ドメイン(ファイルを設置するディレクトリまで定義) $domain = "http://".$_SERVER["HTTP_HOST"]."/"; // XML宣言 $xml_v = "<?xml version=\"1.0\" encoding=\"Shift_JIS\" ?>"; $body_text = "#000000"; $body_bg = "#FFFFFF"; $body_link = "#0000FF"; $body_vlink = "#0000FF"; $body_alink = "#0000AA"; $hr = "<hr style=\"border-color:#999999; border-style:solid;\" />"; $san = "<span style=\"color:#999999;\">…………………………</span>"; /***********************************/ // ヘッダーを定義 /***********************************/ $header = <<< TAGSET {$xml_v} <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-Type" content="application/xhtml+xml; charset=Shift_JIS" /> <title>{$title}</title> <meta name="keywords" content="{$keyword}" /> <meta name="description" content="{$description}" /> <link rel="alternate" media="handheld" href="alternate_page.htm" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <style type="text/css"> <![CDATA[ a:link{color: {$body_link};} a:visited{color: {$body_vlink};} a:focus{color: {$body_alink};} ]]> </style> </head> <body text="{$body_text}" bgcolor="{$body_bg}" link="{$body_link}" vlink="{$body_vlink}" alink="{$body_alink}" style="color:{$body_text}; background-color:{$body_bg};"> TAGSET; /***********************************/ // フッターを定義 /***********************************/ $footer = <<< TAGSET {$hr} <div style="text-align:center; font-size:x-small;">(C)Sample.</div> </body> </html> TAGSET; ?> ■2つめのファイル(index.php) <?php if (ereg("DoCoMo", $_SERVER['HTTP_USER_AGENT'])) { header('Content-Type: application/xhtml+xml'); } $title = "このページのタイトル"; $keyword = "キーワード"; $description = "このページの説明文。"; include("./temp.php"); echo $header; ?> <!--=== CONTENTS ===--> コンテンツ部分を記述 <!--/=== CONTENTS ===--> <?php echo $footer; ?> これらのファイルをXAMPPで開くと、 以下のエラーがページ内に出ています。 Deprecated: Function ereg() is deprecated in C:\xampp\htdocs\public_html\index.php on line 2 コンテンツ部分を記述 -------------------------------------------------------------------------------- (C)Sample. 本来は、コンテンツ部分を記述がページ文頭にこないと おかしいと思うのですが…。 これの原因分かる方いらっしゃいますか?