PHP
- (require / require_once) (include / include_once)について
毎度、お世話になります。 今回は、requireとrequire_once(includeとinclude_once)の使い分けについて 教えて下さい。 取りあえず、改造しているPHPでは、include()だけを使って正常に動作しています。 include()させている箇所がいくつもあります。 ただ、やっぱりわからないのは、 requireとrequire_once(includeとinclude_once)に関して、 PHPマニュアルなどを見ても、処理方法の違いだけで、それならば最初から全部、 require_once() 又は、include_once() だけの方が良いように思えるのですが、 例えば、この処理に関しては、絶対、include()。これならば、require()。 また、これなら、include_once()、あるいは、require_onceと言う風に、 明確なものはあるのでしょうか? かなり迷路に迷い込んでます。(時間が止まってます) どうかよろしくお願いします。
- 締切済み
- waterclock
- PHP
- 回答数1
- MySQLにあるDBテーブルをバックアップ(エクスポート)する方法
MySQLにあるDBテーブルをバックアップ(エクスポート)を PHPで行いたいのですが、PHPのMySQL関数には見当たりません。 PerlではなくPHPで行いたいので、どなたかアドバイス下さい。 宜しくお願いします。
- $_POSTを連想配列で取得したい!!
こんにちは。 HTMLの入力フォームからPHPでデータを取得したいのですが、項目(50項目位)が多い為に配列を使ってデータを取得したいと考えています。 どうやっていいのか迷っているのですが、おそらく連想配列を使えばいいのだとは思うのですが、取得の仕方がわかりません・・・すみませんが、ご教授頂けないでしょうか? 後、必須項目が何点かあるのですが、その必須項目で記入漏れがあるものを全てエラーで出したいと思います。 例えばA,B,C,Dの必須項目があり、Aにだけ記入されていたら【BCDは必須項目です】とBCだけ記入されていたら【ADは必須項目です】と画面に表示される。 これも配列を使えばどうにかなると思うのですが、ぜんぜんプログラムがわかりません・・・。 質問が2つになり申し訳ございませんが、ご教授をよろしくお願いします。
- ベストアンサー
- amountainblast
- PHP
- 回答数6
- 三項演算子について、教えて下さい。
いつもお世話になります。 今回は、三項演算子を教えて下さい。 【その1】 if($a == "$x"){ $d = 0; }else{ $d = $a; } ↑と↓は、同じなのでしょうか? また、( )は必要なのでしょうか? ($a == "$x") ? ($d = 0) : ($d = $a); +----------------------------------------------------- 【その2】 if($s < 1){ if($a == "$x"){ $d = 0; }else{ $d = $a; } }else{ if($a == "$x"){ $d = 0; }else{ $d = $a + 10; } } ↑と↓は、同じなのでしょうか? ($s < 1) ? (($a == "$x") ? ($d = 0) : ($d = $a)) : (($a == "$x") ? ($d = 0) : ($d = ($a + 10))); よろしくお願いします。だんだん迷宮に入ってきました。
- ベストアンサー
- waterclock
- PHP
- 回答数2
- チェックボックス等の扱い。
http://oguchan.s4.xrea.com/language/php/ のサイトにて、 <FORM> <INPUT TYPE="TEXT" NAME="hoge" VALUE="1"> <INPUT TYPE="SUBMIT"> </FORM> は、phpスクリプト内で$hogeで参照でき、しかしそれは危険であるから、 register_globals を無効にしてこれをできなくする。とあります。 PHP4~もそういうように設定されていると聞きました。 しかし、チェックボックスで同じname、で異なるvalueをもつ複数のデータを扱うときに、 <input type="checkbox" name="delno[]" value="no1"> <input type="checkbox" name="delno[]" value="no2"> としたときに、 echo $_POST['delno'][0]; echo $_POST['delno'][1]; と参照できてしまうのですが、これはいいのですか?
- phpとperlの違い
こんにちわ perlでこんな動作↓ srand(time ^ $$); open(DAT, "im.txt"); @dats = <DAT>; close(DAT); $ran = rand(@dats); print "[$ran]"; をphpで書きたいのですが どのように書けばいいでしょうか?
- cookieからのデータ取得に関して
いつもお世話になります。 項目名1,値1,項目名2,値2,項目名3,値3 というcookieをセットして、取り出すときに $項目名1 = 値1; $項目名2 = 値2; $項目名3 = 値3; という取り出し方をしたいのですが、どうやったらいいのでしょうか? $ary = explode(",",$HTTP_COOKIE_VARS["test"]); while(list($key,$val) = each($ary)){ } という形で配列に出してはみたものの、whileの中をどうすればいいのか分かりません。 色々思考錯誤はしてみたのですが・・・。 ご教授いただければ幸いです。
- 文字列の特定の数字だけを取り出したい!
こんにちは。毎度、お世話になります。 $agent の値(ここでは、$_SERVER['HTTP_USER_AGENT'];)が、 Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20040913 Firefox/0.10 の場合、20040913 だけを取り出す方法として、 取りあえず下記のコードしか思いつかないのですが、 +----------------------------------------+ $user_agent= explode("/", $agent); $rv_array= explode(" ", $user_agent[2]); $rv= explode(" ", $rv_array[0]); $rv[0] = 20040913; +----------------------------------------+ もっと一発で取り出せるような、賢い方法をどうか教えて下さい。 よろしく お願いします。
- ベストアンサー
- waterclock
- PHP
- 回答数1
- 選択された値をセッションで保存したい
ラジオボタンで選択された値をセッションで保存し、DBまで持って行きたいのですが、どのようにすればよいでしょうか?なお、ラジオボタンからはPOSTで渡しています。どなたかわかる方ご教授お願いします。流れは【a.php => b.php => c.php => d.php => DB】c.phpにラジオボタンがあります。 [c.php]はこのような感じです。 <form name="form1" method="post" action="d.php"> <input type="radio" name="color" value="なし" >なし <input type="radio" name="color" value="赤">赤 <input type="radio" name="color" value="青">青 <input type="submit" name="Submit" value="送信">
- PostgreSQLで作成したデータについて
RedHatLinux9.0にPHPとPostgresql(RPMインストール) をインストールして、WEBアプリ検証をしていますが PostgresqlのコマンドでDBを作成し、 コマンドライン上では、表示できますが、 Mozilla(ブラウザ)からは表示できません。 DB呼び出し用のスクリプトはApacheの ドキュメントルートの/var/www/htmlにおいています。 DBの保存場所が悪いのかと考えて、作成したDBを findコマンドで検索しますが、表示されません。 Postgresqlのコマンドで作成したDBファイルは どこのディレクトリに保存されているのでしょうか? MYSQLのようにMYDやFRM、MYIというようなファイルの 拡張子をつけないと検索できないのでしょうか? PostgreSQLの場合はどんな拡張子になるのでしょうか? ご存知の方は教えてください タカ
- メモリーが足りないのでしょうか?
先の質問番号857で質問した者です。857の問題とは別問題で関連がないと思いましたので別にしました。 同じシステム上での問題です。 PHPとMySQLを連携させた入力登録画面を作成しています。サーバーはRedHatです。ブラウザは、InterNet Explorerです。システム上のメモリは512MBです。しかしRedHatシステム管理者がモニターしてくれた話ではメモリは最高に使われた場合でも100MBは余っているようです。スワップも余っているそうです。そこで、PHPに詳しい方に聞くように言われました。 メッセージだけ見るとメモリーが足りないように見えますが、全くわかりません。 当方頼れる方がいません。宜しくご指導お願いします。 問題 Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 184320 bytes) in /home/websites/a.php on line 228 問題についての補足 こちら問題は、特にこのline 228だけで出るのではなく、一度このエラーが出始めると、不特定多数のPHPプログラムのあらゆる部分で同様のエラーが出始めます。 本当にあらゆる部分です。SQL文を発行しているような特別な部分ではなく、項目を移動しているような、単純な部分で出ます。そしていつも同じ場所で出るのではなく、文字通りいたるところでエラーが頻発します。
- 「ページを表示できません」
PHPとMySQLを連携させた入力登録画面を作成しています。サーバーはRedHatです。ブラウザは、InterNet Explorerです。離れた拠点にPCが何台かあり、このサーバーをブロードバンド接続でアクセスしています。 通常プログラム全体は全く問題なく動作しているのですが、なんらかな条件が整うと、下記の問題が全PCで同時に発生します。httpやmysqlの再立ち上げをすると、一時的に問題はなくなります(サーバーの再立ち上げは必要ありません)が、またしばらくすると再発します。 お尋ねしたいのは、これらエラーを出さなくする方法です。phpプログラムは、SQLのSELECT文を多用しています。エラーメッセージは、各PC上で瞬く間に出て、サーバーにアクセスしていないのでは?とも思えます。 未熟者ですので、宜しくご指導お願いします。 問題 下記のいわゆる「ページを表示できません」ページが出ます。自動回復することもありますが、まったく回復をしないときもあります。どちらの場合も、一度出ると頻発し(少しずつ悪くなり)、httpやmysqlの再立ち上げをすると、問題はなくなりますが、また数日すると再発します。エラーページの最後に「サーバーが見つからないか、DNS エラーです。」とありますが、実際にはdnsは問題ないと思われます。このエラーメッセージは、メニューからPHPプログラムを呼び出した時に発生していまして、呼び出しは通常の<a >タグからのリンクによってジャンプさせているだけです。 エラーメッセージは下記です。 ページを表示できません 検索中のページは現在、利用できません。Web サイトに技術的な問題が発生しているか、ブラウザの設定を調整する必要があります。 ------- 中略 ------------------------------------------------------------------------- サーバーが見つからないか、DNS エラーです。 Internet Explorer
- Excelに挿入するデータ形式を定義できないでしょうか?
今、PHPなどを使って、データをxlsに保存していますが、 数値の長いデータ 例:209030349054065 などとなると、正規表現になってしまいます。 これを正規表現ではなく、ふつうにテキスト形式で表示したいのですが、どのようにしたらうまくいくのでしょうか? ご教授お願いいたします。
- php.iniファイルの設定変更
レンタルサーバーでphp.iniファイルの設定を変更したいんですが、iniファイルは自分でレンタルサーバーと同じバージョンのphpをダウンロードしてその中のiniファイルをコピーしてサーバーにアップロードすればいいんでしょうか? やりたい事はmb_send_mail関数を使いたくて設定を自分のメールアドレスとSMTPに変更したいんです。 phpは4.3.4です。 初心者の為的外れな質問でしたらすいません。
- selectの要素を、各自submitにしたい!
毎度、お世話になります。 http://www.komonet.ne.jp/script.htm KOMONETさんの「高機能ショッピングカート」を改造しています。 このショッピングカートのページトップに、各カテゴリ別に移動する セレクト要素がありますが、<select>を使わずに、要素を直接 submitさせるボタンにしたいのです。 【カテゴリ1】|【カテゴリ2】|【カテゴリ3】|【カテゴリ4】 現在のコードは下記のようになっています。 (<form....></form>、echo,\,",;等は省いてあります) ($kindは、PHPコード内にカテゴリを選択する処理文があります) //商品のカテゴリ $category[0] = "選択"; $category[1] = "カテゴリ1"; $category[2] = "カテゴリ2"; $category[3] = "カテゴリ3"; $category[4] = "カテゴリ4"; $cat_num = count($category); +---------------------------------------------- <select name='kind'> for($i=0;$i<$cat_num;$i++){ <option value=". $i . (($i == $_POST['kind']) ? ' selected' : '') . "> " . $category[$i] . "</option> } </select>\n"; +----------------- これを submit にすると、 for($i=0;$i<$cat_num;$i++){ <input type='submit' name='kind' value=". $i . (($i == $_POST['kind']) ? ' ' : '') . "> } となりますが、その時【 】ボタンの中身は、【0】【1】【2】【3】【4】 といった、数字になります。(これは当然なんですが)、それでこれを、 なんとか、【カテゴリ1】|【カテゴリ2】|【カテゴリ3】|【カテゴリ4】といった submit ボタンに出来ないものでしょうか? 教えて下さい。 どうか、よろしくお願いします。
- 締切済み
- waterclock
- PHP
- 回答数1
- スーパーグローバル変数・POSTとGETを同時に受け取るページについて
すみません。初歩的な質問かもしれませんが、宜しくお願い致します。 PHP+MySQLを利用して、都道府県名で検索するプログラムを利用しています。 そして、サーバー移行にともない、PHPのバージョンが変わりました。 これまでは、単に「$変数」としていたのですが、 $_POST['変数']または、$_GET[変数']としなければいけないようです。 よって、従来のPHPファイル内で、 $ken_name = $_POST['ken_name']; として、置き換えるようにしました。 これで、うまくいったと思ったのですが、このPHPファイルは、GETでも、利用できるようしたいのです。 実は、その方法がわかりません。 (例) POSTで受け取る場合は、正常に動くのですが、GETでも受け取るようにするには、どうすればいいのでしょうか?1つのファイルで、POSTとGETの両方を受ける方法はありますでしょうか? <?php require_once("./***.php"); $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); $selectdb = mysql_select_db($DBNAME, $con); $ken_name = $_POST['ken_name']; $sql = "select * from YTABLE Where ken = '$ken_name'"; $rst = mysql_query($sql, $con); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title></title> </head> <body> <?php while ($row = mysql_fetch_array($rst)) { print $row["ken"].'-'.$row["name"].'<br>' ; } mysql_free_result($rst); $con = mysql_close($con); ?> </body> </html>
- 改行コードの<BR>への変換がうまくいきません。
はじめまして よろしくお願いします。 仕事でPHPを触れはじめたところです。 textarea タグで入力されたものをMysqlに保管し、 また表示するというようなものを作ろうとしています。 困っているのは Mysqlがどうのではなくその登録前に 改行コードを <br>タグ に変換をかけておこうというところで躓いています。 セッションを開始しておいてFormタグからの値を 次のページで受け取っています。 ここの過去ログ等を参考にしてみたのですが... $_SESSION['e_biko'] = htmlspecialchars($_POST['biko'] , ENT_QUOTES) ; $tmp_biko = ""; $tmp_biko = str_replace("\r\n", "\r", $_SESSION['e_biko']); $tmp_biko = str_replace("\r", "\n", $tmp_biko); $_SESSION['e_biko'] = str_replace("\n", "<br>", $tmp_biko); このあとでechoを使って$_SESSION['e_biko'] を表示させています。 しかし改行しないんです。<BR>タグへの変換ができておらず、表示されたHTMLのソースコードを見ると改行コードがそのまま出力されています。 HTML及びPHPの文字コードはEUCで記述しています。 開発及び確認はWindows・IE6で行っています。 何か考えられる原因、あるいはバグかあるでしょうか? ちなみに下記でも駄目でした。 $_SESSION['e_biko'] = preg_replace("/\r\n|\r|\n/", "<br>", $_SESSION['e_biko']); お分かりになられる方おられましたらよろしくお願いいたします。
- setcookie
掲示板を作成しています。 記事を投稿した際に名前とパスワードをクッキーに保存しようとしているのですが、 何度やってもエラーになります。 $expire = time() + 30*24*3600; setcookie("cname", $_POST['name'], $expire); setcookie("cpass", $_POST['pass'], $expire); 現在はこのように記述しているのですが、setcookieの部分両方でエラーが出ます。 色々書き直したりもしたのですがどうしてもうまくいかず… どこが間違っているのでしょうか? アドバイスをお願いします<(_ _)>