トップページ⇒php
1001コメント326KB

【PHP】下らねぇ質問はここに書き込みやがれ 72

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/08/16(土) 12:01:25ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 71
http://pc11.2ch.net/test/read.cgi/php/1216291372/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0412nobodyさん2008/08/23(土) 20:57:45ID:tD80K7qS
>>411
まじですか?

PHPって、GG佐藤以下ですねw
0413nobodyさん2008/08/23(土) 21:27:58ID:pIRCIy4o
すみません、質問させてください。

例えばURLから example.php?param1=aaa&param2=bbb のように2つのパラメータを読み込む場合、
XML形式のサイトマップなどからのアクセスだと、
example.php?param1=aaa&param2=bbb というURL表示からの読み込みとなるため
"amp;"がパラメータ名の一部として解釈されてしまい、正しいデータのやりとりがなされません。

この問題をphpプログラム内にて解決するにはどうしたらよろしいでしょうか?
ちなみに.htaccessでのRewriteRule機能を利用しての解決はできませんでした。

初歩的な質問かもしれませんが、どなたか教えていただけないでしょうか?
よろしくお願い致します。
(php5.2 サーバーはKagoyaの専用サーバープランを使用しています。)
0414nobodyさん2008/08/23(土) 21:32:39ID:???
>>412
お前が勉強不足なのだよ
そもそも到着したかどうかなんて分かるわけないじゃん
宛先のMXからリレーしてるかもしれんのに
どうしても必要ならエンベロープに届くエラーメールでもチェックするんだな
0415nobodyさん2008/08/23(土) 21:35:36ID:???
>>413
html_entity_decode関数で「&」を「&」に戻せば良かんべ
0416nobodyさん2008/08/23(土) 21:36:41ID:???
>>415
1個目の「&」−>「&」

0417nobodyさん2008/08/23(土) 21:41:06ID:bsrwSGnB
PHP+MySQLでのサイト作成で、いい方法を思いつかないので、アイデアを貸してくださいw

year month day text
2008 8 22 aaaa
2008 8 22 bbbb
2008 8 23 cccc
 ・
 ・
 ・

という感じでデータがあって

ページ上には

2008/8/22
aaaa
bbbb

2008/8/23
cccc

という風に出したいです。
0418nobodyさん2008/08/23(土) 21:43:04ID:???
>>415

>>413です。ありがとうございます!
早速試してみようと思います。
0419nobodyさん2008/08/23(土) 22:05:47ID:???
>>417
配列を使えばいいんじゃね?

$recodes // mysqlからfetchallしたようなやつ(fetchallはPDOだが)
$list = array();
foreach($recode AS $row){
 $date = *****(2008/8/22になるように)
 $data = *****(aaaaになるように)
 if(!isset($list[$date])){ $list[$date][] = $date."<br />"; }
 $list[$date][] = $data."<br />";
}
implode("<br />", $list);

まぁ考え方の1つってことで
0420nobodyさん2008/08/23(土) 22:07:07ID:???
ぎゃ!まちがった

$recodes // mysqlからfetchallしたようなやつ(fetchallはPDOだが)
$list = array();
foreach($recode AS $row){
$date = *****(2008/8/22になるように)
$data = *****(aaaaになるように)
if(!isset($list[$date])){ $list[$date] .= $date."<br />"; }
$list[$date] .= $data."<br />";
}
implode("<br />", $list);
0421nobodyさん2008/08/23(土) 22:14:23ID:???
度々すみません。
>>413,>>418です。

URL文字列を$HTTP_GET_VARSとして、

$HTTP_GET_VARS = html_entity_decode($HTTP_GET_VARS);

と該当ページに挿入したのですが
Warning: html_entity_decode() expects parameter 1 to be string というメッセージが出て
上手くいきませんでした。この関数の正しい使用法を教えていただけないでしょうか?
0422nobodyさん2008/08/23(土) 22:22:42ID:???
>> 421
parse_str(html_entity_decode($_SERVER['QUERY_STRING']), $argv);
print_r($argv);
ってやってみ
0423nobodyさん2008/08/23(土) 22:56:55ID:???
>>421です。

>>422さん、上手くいきました。
どうもありがとうございました!
04244172008/08/23(土) 23:11:04ID:bsrwSGnB
ありがとうございます!
なんとなく見えました!
0425nobodyさん2008/08/24(日) 02:12:36ID:tkAECmwh
掲示板を製作しています。
テキストエリアから入力された改行コードを<br>に変換するのは以下のコードでできるのですが、

$ensql = preg_replace("/(\r\n|\r|\n)/","<br>",$ensql);

逆に<br>を改行コードに変換するのはどうすればよろしいのでしょうか?
編集機能を持たせようと思い改良を加えているのですが・・・

\r\nでしたらWindows系ですし、\nでしたらUnix系ですし・・・・
0426nobodyさん2008/08/24(日) 02:32:34ID:???
>>425
べつに\nで出力したっていいじゃん
どうせ正規表現で<br>に直すんだから
0427nobodyさん2008/08/24(日) 02:33:21ID:???
winで\nで出力したらなんか問題でもあるか?
ためして不具合でてからいってくれ
0428nobodyさん2008/08/24(日) 02:34:37ID:tkAECmwh
すいません・・・\nでも問題無いのですね。
ありがとうございます(;´Д`)
0429nobodyさん2008/08/24(日) 09:50:04ID:???
どっちでも問題ないが、それとは別にWindowsの環境で
テキストモードでオープンしたファイルに\nで書き込むと
勝手に\r\nに変換される。
テキストモードというのがあるのは、そういうこと。
0430nobodyさん2008/08/24(日) 09:53:19ID:wBtpqVh7
質問です
ttp://fs-server.net/reference.htmlにある
他サイトの表示内容を取得 ⇒ ##GET_SITE##
はどの様になってるのでしょうか?
readfile()で全体を取り込むのはできたのですが開始テキストと終了テキストを指定するところが分かりません。

よろしくお願いします。
0431nobodyさん2008/08/24(日) 11:17:31ID:???
いえいえこちらこそ
0432nobodyさん2008/08/24(日) 14:19:31ID:???
>>430
strstrだけで何とかなる
終了テキストは補完する必要ありだが
0433nobodyさん2008/08/24(日) 18:12:19ID:???
PDOとmysqlの文字化け対策に「set names utf8」を使ってるんですけど
これはあまりよろしくないらしいんですが
他に何か解決方法はあるんですか?
レンタルサーバなのであまり細かい設定はできないのですが
0434nobodyさん2008/08/24(日) 18:26:23ID:???
>>432
ありがとうございます。調べてみます!
0435nobodyさん2008/08/24(日) 19:02:06ID:???
>>433
文字化けは主にサーバ側で自動変換させるから生じる
この際nemeでbinaryを指定することをオススメ
無変換で通信するから化けることはまずない

0436nobodyさん2008/08/24(日) 19:38:55ID:???
>>433
あ、それ俺も聞きたい。スレチだけど。
何かのSQL投げる度に、そのSQL実行するから、SQLの実行数が倍になってしまう。
0437nobodyさん2008/08/24(日) 19:47:07ID:???
接続したときに1回実行すればいいだろ
0438nobodyさん2008/08/24(日) 19:54:08ID:???
接続直後に、接続に使ったライブラリの機能で漢字コードの設定をすればいい
SET NAMES だとライブラリ側は文字コードを認識しないので、文字コードの違いを利用した
悪意のあるコードを入れられる可能性がある。
0439nobodyさん2008/08/24(日) 20:08:35ID:???
>接続直後に、接続に使ったライブラリの機能で漢字コードの設定をすればいい
mysql関数だとmysql_set_charsetってのがあるみたいですけど
PDOだとどうしたらいいんですか?
0440nobodyさん2008/08/24(日) 21:12:28ID:???
set namesでいいべ
インジェクションを心配するってことはリクエストの文字コード変換やクォートを怠ってるってことでしょ
pdoならprepareとドライバで十分とは言えなくてもやらないより全然違う
0441nobodyさん2008/08/24(日) 21:19:00ID:???
俺もset namesしかやり様が無いからやってるけど
無駄なクエリが1発っていうだけでなんか気持ち悪いよね
0442nobodyさん2008/08/25(月) 00:06:29ID:???
確かに無駄にSQLを流すことになるが
APIと言ってもmysql_set_charsetも同じことだぜ
サーバとクライアントで文字コードを統一することが第一だな
0443436 2008/08/25(月) 00:26:46ID:???
ググったら、直った。
ver4.1以降なら、mysqlの設定ファイルの問題。
0444436 2008/08/25(月) 00:28:45ID:???
おっと書き忘れた。

skip-character-set-client-handshake

これをsqldセクションに入れればOK!
0445nobodyさん2008/08/25(月) 01:01:07ID:???
<form name="frm" method="post" action="test.php">
<input type="hidden" name="test" value="a">
<a href="#" onclick="document.frm.submit()">フォームをサブミットする</a>
</form>
でtest.phpにhtmlページにおける値をPHP変数に渡して、
<head>
<?php
$txt = $_POST['txt'];
?>
<script type="text/javascript">
<!--
function hoge(){
var txt = "<?= $txt ?>";
alert(txt);
}
//-->
</script>
</head>
<input type="button" value="click" onclick="hoge();"></input>
このようにPHP変数からJavaScript変数に渡したいのですがどのようにすればよいのでしょうか。
上記のプログラムだとできません。どなたかご教授お願いします。
0446nobodyさん2008/08/25(月) 01:29:05ID:???
>>444
my.cnfを書き換えられるならサーバとクライアントの文字コードを統一した方が安全だぜ
そもそもskip-character-set-client-handshakeって
クライアント側の文字コードを省略してサーバの文字コードを強制的に使用するって設定じゃん?
かなり背水な対応方法だな
0447nobodyさん2008/08/25(月) 01:33:18ID:???
>>445
誤 $txt = $_POST['txt'];
正 $txt = $_POST['test'];
0448nobodyさん2008/08/25(月) 01:41:33ID:???
>>447
こんなところでミスしてたとは…orz
きちんと動きましたありがとうございます
0449nobodyさん2008/08/25(月) 01:47:47ID:???
SET NAMES するのを忘れた状態で保存してしまったデータは
どうやって取り出したら良いでしょうか??

テーブルの文字コードは UTF-8
データはPHPからSET NAMESを忘れて突っ込んだUTF-8

mysqldump .(省略) --default-character-set=utf8 > hoge.dump
して取り出してみたけど、見事にデータがぶっ壊れてます。困った。
0450nobodyさん2008/08/25(月) 01:48:32ID:???
そういえば、
var txt = "<?= $txt ?>";
の箇所の<?= 〜 ?>は一体なんなのでしょうか?
0451nobodyさん2008/08/25(月) 02:11:33ID:???
>>446
俺は、サーバーもクライアントも文字コード一緒だよ。
っていうか、俺がやっている奴は趣味でやっている奴だが、
そもそもシステム構築する際は、文字コードは統一しておくのが普通でしょ。
文字コードが混在しているシステムは、テスト工数が増大するし、リスクを増える。
0452nobodyさん2008/08/25(月) 02:14:49ID:???
>>449
ぶっ壊れたデータは戻せないと思うぞ
特に標準がasciiやlatin1だと最悪だ・・・
標準のコードがマルチバイトならbinaryで取り出してから変換すればいい

>>450
<? echo $txt; ?>の省略形な
0453nobodyさん2008/08/25(月) 11:54:54ID:???
>>452
ありがとうございます!
0454nobodyさん2008/08/25(月) 14:07:29ID:H4jIBY1A
WindowsのXAMPPなんでDIRECTORY_SEPARATORが\なわけですが、

$image=getcwd().DIRECTORY_SEPARATOR.'a.gif';
print('<img src="'.$image.'">');

がIEでは表示されるのにFFだと表示されない。
DIRECTORY_SEPARATORではなく'/'と指定すると表示される。
なぜに?
DIRECTORY_SEPARATORなんか使わず常に/にしとけって意味?
0455nobodyさん2008/08/25(月) 14:13:54ID:???
それは内部処理の場合で、アドレスのセ・パれーたはスラッシュって決まってん稔
0456nobodyさん2008/08/25(月) 14:17:00ID:???
でれくとりとうーあーるはちあるもの
0457nobodyさん2008/08/25(月) 14:47:50ID:+ZyX5O5x
PHP初心者です。

リファラーワードによってリダイレクト先を変える場合って
どうやればいいですかね?
リファラーを取るまでは上手くできてるのですが…
0458nobodyさん2008/08/25(月) 14:56:35ID:???
>>457
どんな手法を取るか知らんがリファラを解析して宛先を決めるとこまで出来てるなら
header関数でLocationヘッダーを流せばいい

header('Location: 転送先URL');
0459nobodyさん2008/08/25(月) 15:30:43ID:???
リファラが取得できない設定・ブラウザとかあるからその辺の処理もしっかりなー
0460nobodyさん2008/08/25(月) 15:51:51ID:???
include_pathに複数指定する場合、
Windowsだと;区切り、Linuxだと:区切りだけど、
配列からパス形式を生成する場合に簡単な方法ないかな

$array = array(
'/path/test_dir/',
'/path/PEAR/',
'/path/Smarty'
);

環境に応じて:や;で区切ってパスの文字列を生成

WindowsかLinuxか判別して
それぞれに応じて作成するのが正しいのか、
むしろそういう関数が既にあるのか・・・
0461nobodyさん2008/08/25(月) 16:02:40ID:???
>>160
http://jp2.php.net/set_include_path
>PATH_SEPARATOR 定数を利用することで、 オペレーティングシステムに依存せずに include path を追加することが可能です。
という便利なものがあるようだけど?
0462nobodyさん2008/08/25(月) 16:04:49ID:???
ってすまん、パスセパレータじゃなかったね

int_setでやってるのか知らないけど
普通にその配列ループしてset_include_pathかけりゃいいんじゃないかな
0463nobodyさん2008/08/25(月) 16:05:20ID:???
>>460
ttp://jp2.php.net/manual/ja/function.implode.php
0464nobodyさん2008/08/25(月) 16:06:30ID:???
new_include_path
初めてしった、まじサンクス!!
こんな便利なものがあったのか、もっと早く気づけば良かった
0465nobodyさん2008/08/25(月) 16:56:17ID:wWAEdZe4
連想配列のキーと値が一致するか調べたいと思います。

Array ( [name] => 元旦 [year] => 2008 [month] => 01 [day] => 01 )

こういう連想配列の場合、どのようにして比較すればいいのでしょうか?
forで出力してifで比較する以外で、方法がありましたら教えて下さい。
0466nobodyさん2008/08/25(月) 16:57:58ID:???
>>465
意味が理解できない
どこがどうなら一致したことになるんだ?

エスパー感覚で回答ならforeach
0467nobodyさん2008/08/25(月) 17:06:19ID:ddePEaRi
空メール受け取ったら、その送信者に自動返信、というプログラムを作ってるんですが、
Fromの行からメールアドレスだけ正しく取得する、という処理がうまくいきません。

フォーマットがたくさんありすぎて、対応に困っています。
"name" <[email protected]>
<[email protected]>
mail.com
のほか、””で囲っていないnameがあったり、ググって出てくるスクリプトを使っても判定できませんでした。
(http://memo.majide.com/index.php?%A5%E1%A1%BC%A5%EB%BC%AB%C6%B0%CA%D6%BF%AE%A4%CE%C0%DF%C4%EA%A4%C8PHP%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8)

プログラムの概要としては、vpopmailの.qmail-XXXファイルからパイプでメール内容を渡し、
標準入力からメールを解析して、From部分を取り出す、というものです。

何か良いライブラリなどございましたらご紹介お願いいたします。。
0468nobodyさん2008/08/25(月) 17:07:48ID:???
>>467
PEARのメール関係のライブラリにそういうのがあったはず
0469nobodyさん2008/08/25(月) 17:09:46ID:???
>>465
エスパーしてみる
比較というより、month=01 day=01 というキーを与えて、
name=元旦 という値を取得したいんじゃないのかい?

ならば、配列の持ち方は、$name = array('0101'=>'元旦', '1231'=>'大晦日')
で参照は$nama['0101']でOK
04704652008/08/25(月) 17:10:37ID:???
>>466
今まで下記のようにして出力していたのですが、
カレンダーの日数毎にforeachでチェックするのも
負荷がかかると思い、他の方法を模索しています。

foreach($date_array as $date){
if($date["year"]=="2008" && $date["month"]=="01" && $date["day"]=="01"){
echo $date["name"];
}
}
0471nobodyさん2008/08/25(月) 17:17:37ID:???
>>468
PEAR::Net_POP3だと思う。

>>467
PEAR::Net_POP3のgetParsedHeadersで
ヘッダの内容を連想配列に格納できるから、
それで取得するのが楽だろうな。
0472nobodyさん2008/08/25(月) 17:35:52ID:ddePEaRi
>>468,471
ありがとうございます。
POP3に接続せずに、メール内容を解析する方法はないでしょうか?
0473nobodyさん2008/08/25(月) 17:37:27ID:???
>>471
ごめん、mimeDecodeのことだわ

PEAR::Mail::mimeDecodeで生メールの解析ができる
0474nobodyさん2008/08/25(月) 17:43:09ID:ddePEaRi
>>473
ありがとうございます。

しかし、そのライブラリを使っても、>>467のとおり、間に改行が入っていると、
改行後の文字を無視してしまうので、完全ではないんですよね。。

自分で作るしかないのかなぁ。。
0475nobodyさん2008/08/25(月) 17:53:05ID:???
>>470
$date_arrayの管理方法を見直した方がイイ
それが出来ないならforeachよりarray_mapの方が今回の例では高速
0476nobodyさん2008/08/25(月) 21:34:33ID:Ich0UEjQ
例えば以下のようなデータがあったときに
ID year month day stage
1 2008 8 1 tokyo
2 2008 8 2 tokyo
3 2008 8 6 osaka
4 2008 8 7 osaka
5 2008 8 13 tokyo
6 2008 8 14 tokyo
7 2008 8 15 tokyo
8 2008 8 20 nagoya
9 2008 8 25 fukuoka
10 2008 8 30 sapporo

0477nobodyさん2008/08/25(月) 21:38:21ID:Ich0UEjQ
以下のように表示させたいです
 
----------------------
|2008 8 1 | tokyo  |
------------|    |
|2008 8 2 |    |
----------------------
|2008 8 6 | osaka |
------------|    |
|2008 6 7 |    |
----------------------
|2008 8 13 | tokyo |
------------|    |
|2008 8 14 |    |
------------|    |
|2008 8 15 |    |
----------------------
|2008 8 20 | nagoya |
----------------------
|2008 8 25 | fukuoka |
----------------------
|2008 8 30 | sapporo |
----------------------


0478nobodyさん2008/08/25(月) 21:39:51ID:???
そうか
0479nobodyさん2008/08/25(月) 21:41:09ID:Ich0UEjQ
たとえば

mysql_select_db($database_, $db);
$query = sprintf("SELECT * FROM `table`);
$query_list = mysql_query($query, $scdb) or die(mysql_error());
$query_info = mysql_fetch_assoc($query_list);
$totalRows = mysql_num_rows($query_list);

という風に抜き出して

do{
 //いろいろ表示
}while($query_info = mysql_fetch_assoc($query_list));

とすると連続で同じ場所のところが縦に結合できないですが
どうすればいいでしょうか?

前の上側のセルと同じなら+1とかはできるんですが、rowspanの設定を書き込むには遅いですし・・・


ご教授願います。

※半角スペースがずれました・・

0480nobodyさん2008/08/25(月) 21:46:39ID:???
>>479
一度データをストアしなきゃ連日の計算は出来ん
それかsqlで連日の部分を結果セットに含ませればいい
0481nobodyさん2008/08/25(月) 21:47:02ID:???
>とかは
「などは」だろ。

>できるんですが
「できるのですが」または「できますが」だろ。

>ですし・・・
「です。」だろ。

>ご教授願います。
「ご教示願います。」だろ。

>ずれました・・
「ずれました。」だろ。
0482nobodyさん2008/08/25(月) 21:48:06ID:???
そこ!
0483nobodyさん2008/08/25(月) 22:45:13ID:EsfmR+iC
QRコードを出力するqr_img.phpについて教えてください。

Linux上のApache+PHPですと動くのですが、

Windows系のApache+PHPですと動いてくれません。

errors.txtを見ると
PHP Warning: fopen(./../data/rsc203.dat)
No such file or directory

などとなっており、たしかにrsc203.datというファイルは存在しません。

Windows系のApache+PHPで動かすには何か必要なのでしょうか?

ちなみにWindows系のApache+PHPはいくつか試しているのですが、
Apacheは2.0でPHPは5.2.3、gdは2.0.34とqr_img.phpが要求している
バージョンをクリアしていると考えています。

お願いします。
0484nobodyさん2008/08/25(月) 23:13:01ID:???
qr_img.phpなんて知らんよ。
http://www.swetake.com/qr/qr_cgi.html
これ?
動作確認環境にwindows含まれてないじゃん。
作成者に聞くのが一番確実かと。
0485nobodyさん2008/08/25(月) 23:19:14ID:???
>>484
自分が無知なことを威張っている奴を久しぶりに見たw
もしかしてGG佐藤さんですか?
0486nobodyさん2008/08/25(月) 23:32:37ID:???
いい加減他人のスクリプトは作った人間に訊くということを覚えろ
0487nobodyさん2008/08/25(月) 23:47:49ID:???
>>485 誰にでも噛み付いて楽しいか?キムチ臭いよオマエwww
0488nobodyさん2008/08/26(火) 00:56:56ID:???
>>485
また定期的に現れるおまえかっ!
0489nobodyさん2008/08/26(火) 00:57:51ID:???
とりあえず>>483=>>485は市ね
0490nobodyさん2008/08/26(火) 01:48:27ID:???
市ぬ前にGG佐藤に謝れ、低脳すぎるぞ>>485
この質問は>>484でFA
−−−−−−−−−− 終了 −−−−−−−−−−−
0491nobodyさん2008/08/26(火) 08:49:21ID:x5C4Qb0i
>>484
そんなこと言うとこのスレの存在意義がわからなくなる。
知らないなら黙ってれば良いのに。。。
0492nobodyさん2008/08/26(火) 08:58:31ID:???
>>491
自分が無知なことを威張っている奴を久しぶりに見たw
もしかしてGG佐藤さんですか?
0493nobodyさん2008/08/26(火) 09:24:20ID:???
つttp://d.hatena.ne.jp/rsky/20070427/1177680276
0494nobodyさん2008/08/26(火) 10:28:41ID:???
テキストファイルの中身をechoする簡単な記述を教えてください。
0495nobodyさん2008/08/26(火) 10:43:45ID:x/K+QJ+W
perlのNet::CIDR::cidrlookupに相当する関数というのはありますか?
あるIPアドレスがcidr表記のアドレス範囲に含まれているか否かを
判定したのです。
0496nobodyさん2008/08/26(火) 10:54:33ID:???
>>494
include('file.txt');
0497nobodyさん2008/08/26(火) 11:25:06ID:???
>>495
関数はないなぁ
ビット演算子を使ってマスクからネットワークとブロードキャスト出して
各オクテッド毎にチェックさせればいいんでない?
IPはstringだからドットで分割した後intにキャストしないとビット演算子での計算結果狂うから注意
0498nobodyさん2008/08/26(火) 11:40:43ID:???
>>440
分かっているとは思うが、
クオートのために*_escape_stringを使っても、不正な文字を埋め込められる場合がある。
http://blog.ohgaki.net/set_namesa_mcb_asc
本文よりコメ欄に注意
なので、
>>439
mb_check_encodingしてからPDOで渡すのがいい。
0499nobodyさん2008/08/26(火) 11:42:15ID:MPzk6qs2
>>492
ここは無知を晒して質問する場かと思ってました。
あなたがここの管理人さんだったのですね。
毎日監視お疲れ様です。

>>486
正論ですが、スクリプトを作った方には同じような質問が
何度も届くわけで、すでに同様の質問をした人がこの辺に
居れば情報の共有ができ、さらに以降同様の疑問をもった方が、
ここにたどり着いて問題を解決することもあるわけで。

0500nobodyさん2008/08/26(火) 11:44:28ID:???
>>498
mb_check_encoding?
>>444のやり方じゃダメなの?
>>444で設定しなおしたが、問題なさそう。
0501nobodyさん2008/08/26(火) 11:46:45ID:???
サーバは1つだが、クライアントは何種類もある場合があるのだよ
1対1なら好きなようにサーバ側で設定したらいい。
0502nobodyさん2008/08/26(火) 11:47:58ID:???
>>501
もう少しKWSK頼む。
0503nobodyさん2008/08/26(火) 11:52:45ID:x/K+QJ+W
>>497
回答ありがとうございました。
0504nobodyさん2008/08/26(火) 12:02:05ID:x/K+QJ+W
で、また質問なんですが、

a.html
の中で
<?php
virtual("/cgi-bin/x.php?1234");
?>
と記述して
x.phpで
$_SERVER['QUERY_STRING']
を取得してプログラムが動いていました。
これの処理の前にa.htmlにSSI機能を使って、b.ssiを
読み込み、b.ssiの中で
<?php
virtual("/cgi-bin/y.php");
?>
と記述し、動作確認をしました。

y.phpは正常に動くのですが、
今まで動いていたx.phpが
正常に動きません。

x.phpの中の環境変数をechoしてみると
y.phpの環境変数が出力されました。
環境変数の上書きがなされていないようです。
こういう場合、どうすれば良いのでしょうか?


0505nobodyさん2008/08/26(火) 12:08:24ID:???
>>499
情報の共有とか言うなら、作者に質問して結果を自分でページ作って公開すればいいだろ
0506nobodyさん2008/08/26(火) 12:10:04ID:???
>>504
htmlでPHPが動くようにしてるんだからssiを使わずにphpに統一しちゃマズイの?
と言うかphpの呼び出しにはvirtualよりinclude/requireがイイと思うのは勘違い?
0507nobodyさん2008/08/26(火) 12:18:43ID:x/K+QJ+W
>>506
変更ファイルの数が多くて、PHPに統一できないのです。
x.phpの中の環境変数はその前に実行したy.phpを
引継ぎ、上書きされないのがPHPの当たり前なのでしょうか?
0508nobodyさん2008/08/26(火) 12:27:04ID:???
>>507
virtualは呼び出し元の環境変数を受け継ぐけど呼び出し元へは反映させないはずだから
ssi経由のy.phpの環境変数がx.phpに適用されるのは良くわかんないな

b.ssiの記述方法によってはy.phpの環境変数がa.htmlに上書きされるかもしれん
b.ssiでphpのvirtual使ってるからそんなはずないんだけど・・・
0509nobodyさん2008/08/26(火) 12:43:36ID:???
>>499
おまえ消防だろウセロクズ
0510nobodyさん2008/08/26(火) 12:55:24ID:???
情報の共有(笑)
0511nobodyさん2008/08/26(火) 12:57:17ID:x/K+QJ+W
困った。。。
■ このスレッドは過去ログ倉庫に格納されています