[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 08/02 03:26 / Filesize : 165 KB / Number-of Response : 587
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPHP(超初心者用)3



1 名前:nobodyさん mailto:sage [2007/10/25(木) 16:04:31 ID:???]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。

PHP Home Page
www.php.net/
jp.php.net/

---前スレのテンプレここまで---

前スレ: くだすれPHP(超初心者用)2
pc11.2ch.net/test/read.cgi/php/1164617202/

適当に関連スレ(マルチはだめぽ)
【PHP】下らねぇ質問はここに書き込みやがれ 57
pc11.2ch.net/test/read.cgi/php/1193062236/
△▲ WebProg 初心者の質問 Part16 ▼▽
pc11.2ch.net/test/read.cgi/php/1187729623/

完走したら、雑談スレで待機でどうでしょう
【総合】 Webprog板質問雑談スレッド 1
pc11.2ch.net/test/read.cgi/php/1131016915/

184 名前:nobodyさん [2007/11/28(水) 20:08:39 ID:OEBZIrSP]
我が家の不動産サイトに市販の検索CGIを設置したいのですが、全国版からローカル地域にカスタムしたいのですが、なんらかの助言くださる方おられますか?宜しくお願いします。

185 名前:nobodyさん mailto:sage [2007/11/28(水) 20:40:08 ID:???]
>>184
カスタムの仕方を教えてくれってこと?

186 名前:nobodyさん [2007/11/28(水) 21:03:49 ID:OEBZIrSP]
カスタムの仕方なんですが、販売会社ならデータ項目等変更で20万、25営業日との話です。ソースを簡単に触ってできる事ではないんでしょうか?

187 名前:nobodyさん mailto:sage [2007/11/28(水) 21:07:07 ID:???]
まぁできると思うよ

188 名前:nobodyさん mailto:sage [2007/11/29(木) 12:07:16 ID:???]
ドコモの携帯にはセッション意味ないんですか?

189 名前:nobodyさん mailto:sage [2007/11/29(木) 12:55:54 ID:???]
>>188
なんで?
クッキーは使えないけど、セッションID引き回せば?

190 名前:188 mailto:sage [2007/11/29(木) 14:36:24 ID:???]
>>189
$_SESSION["test"] = 1;としてページをhrefで移動

移動先で
if($_SESSION["test"] == 1) {header("location: test.php");}
として分岐したいのですが、ドコモは思うようになってくれません
auはなりましたけど、sbは未検証です

セッションID引き回すの意味を自分は間違えてますか?><

191 名前:nobodyさん mailto:sage [2007/11/29(木) 16:12:05 ID:???]
ドコモは情報送ってくれないんですよ
セッションもクッキーも「あんだよてめえ」としか思ってません
だから使えません

192 名前:nobodyさん mailto:sage [2007/11/29(木) 19:28:08 ID:???]
>>190
クッキーが使えないんだから、セッションIDをURLに『引数として』くっつけて次のプログラムに送るんだよ。



193 名前:190 mailto:sage [2007/11/29(木) 23:29:42 ID:???]
>>192
移動先でgetで取得する訳ですね、なるほど
隠して送るのは無理なんですね、セッションがあるのに残念です
>>191-192
ありがとうございました

194 名前:nobodyさん [2007/11/29(木) 23:36:22 ID:YlYVK+go]
初心者です。ご教授下さい。

ローカルでテストしている状態ですが、move_uploaded_fileでファイルをアップロードさせようとし、

if (!move_uploaded_file($uploadfile, '$PHOTOTMP$imagefile')) {
$errmsg .= "写真ファイルのアップロードに失敗しました。<BR>";
}

というソースを書いています。
実行するとエラーメッセージは表示されないのですが、指定フォルダに画像ファイルが移動されていません。

上記のスクリプトはC:\Program Files\Apache Group\Apache2\htdocs\testに置いてあり、
画像ファイルの一時フォルダとしてC:\Program Files\Apache Group\Apache2\htdocs\test\phototmp
を作ってます。

変数の中を見ると、
$uploadfileには、C:\WINDOWS\TEMP\php89.tmp
$PHOTOTMP$imagefileには、phototmp/1196345782078128.jpg3
が入っていますが、C:\Program Files\Apache Group\Apache2\htdocs\test\phototmpに画像ファイルが移動
していないのは何故でしょうか?

よろしくお願いします。

195 名前:nobodyさん mailto:sage [2007/11/30(金) 02:31:54 ID:???]
何か変だけど
とりあえず
"$PHOTOTMP$imagefile"

196 名前:nobodyさん mailto:sage [2007/11/30(金) 08:46:34 ID:???]
>>193
何か勘違いしてるぞ
セッションの仕組みをもう一度勉強しよう。

197 名前:193 [2007/11/30(金) 14:57:38 ID:MLIN4mxf]
>>195-196
あらら><そうなんですか…
公式マニュアルのとこ読みなおしてみます

198 名前:nobodyさん [2007/12/01(土) 21:15:29 ID:HxBCRCSR]
こっちあげとくか

199 名前:nobodyさん mailto:sage [2007/12/02(日) 12:20:00 ID:???]
カウンターを作ったのですが、リロードするたびにカウントが2づつ上がります。
アクセスをやり直すとカウントは1しか上がらないのですが
そう言うものなのですか?

200 名前:nobodyさん mailto:sage [2007/12/02(日) 12:23:24 ID:???]
そういう風につくっちまったんだべ

201 名前:197 mailto:sage [2007/12/02(日) 13:19:32 ID:???]
あ゛あ゛あ゛あ゛ー
脳味噌がオパピーです教えて下さい


クッキーが使えないドコモなどで、セッションIDを受け渡す方法として、
URLに定数SIDを入れる方法とhiddenで渡す方法はわかったのですが、
セッションid以外の情報も持って移動したい時はどうすればいいのですか?

202 名前:nobodyさん mailto:sage [2007/12/02(日) 13:23:39 ID:???]
> セッションid以外の情報
具体的には何?



203 名前:197 mailto:sage [2007/12/02(日) 13:29:39 ID:???]
>>202
具体的には
個人の名前や年齢など、個別な情報20点ほどを持ってページを移動したいのです

204 名前:nobodyさん mailto:sage [2007/12/02(日) 13:34:42 ID:???]
セッションIDは何のために受け渡すの?

205 名前:197 mailto:sage [2007/12/02(日) 13:43:11 ID:???]
>>204
セッションidは本人確認の為に受け渡します。
1のページからきたユーザが、2のページへ移動してきたユーザと同一かどうかを確認するためです

206 名前:nobodyさん mailto:sage [2007/12/02(日) 14:01:15 ID:???]
セッションIDを誤解してるのかな。
セッションIDは、サーバが持っているデータを引き出すための鍵のようなもの。
鍵を持ってる事自体を本人確認に使うこともあるし、
その鍵でサーバからデータを取り出す事もできる。

207 名前:nobodyさん mailto:sage [2007/12/02(日) 14:06:55 ID:???]
セッションIDはセッションを受け渡すために使うもんだろ・・・

208 名前:197 mailto:sage [2007/12/02(日) 14:11:23 ID:???]
>>206
意味間違えてるんだと思います…
サーバーにセッションidを使って情報を持たすのは、一度にいくつでも可能ですか?

またオパピーです

209 名前:nobodyさん mailto:sage [2007/12/02(日) 14:27:32 ID:???]
基礎から勉強しろって

210 名前:nobodyさん mailto:SAGE [2007/12/02(日) 15:34:27 ID:???]
>>207
そのやり方がわかってないんじゃね
教えてやれば

211 名前:nobodyさん mailto:sage [2007/12/02(日) 15:46:34 ID:???]
自演乙

212 名前:nobodyさん mailto:sage [2007/12/03(月) 08:37:02 ID:???]
>>201
>>196>>197ってレスしてるのに何も進歩していないとは何事だ!



213 名前:nobodyさん mailto:sage [2007/12/07(金) 23:57:59 ID:???]
> セッションid以外の情報も持って移動したい時はどうすればいいのですか?
この「移動」って具体的に何を示してるの?



なんで、質問者に質問しないといけないような質問するの?

214 名前:nobodyさん mailto:sage [2007/12/08(土) 01:52:51 ID:???]
お前の理解力がないからだろ

215 名前:nobodyさん mailto:sage [2007/12/08(土) 02:19:56 ID:???]
情報小出し厨は死ね。

216 名前:nobodyさん mailto:sage [2007/12/12(水) 07:13:18 ID:???]
>>208
セッションID渡された時点でその個人は特定できるんじゃないの。
セッションIDをキーにしてDB検索とか

217 名前:nobodyさん [2007/12/16(日) 07:29:41 ID:nJrEMZh9]
恥を承知で質問します。
Smartyテンプレートの実際に使われる基本的なパターン(中身)を教えてもらえませんか?
正直、プログラムに関してはスーパー初心者です。一応、PHPやperl・正規表現についての理屈は、昨日、斜め読みでざっと把握しました。しかし、全くSmartyへの理解にはつながりません。
Smartyを理解するヒントとして実際のテンプレートの記述とそのパターンなど提示していただけると助かりるのですが‥。
Smartyというのは、例えば、既に記述されたHTMLを差し替えて表示したり、コンテンツ構成を根本から修整したりできるのでしょうか?


218 名前:nobodyさん mailto:sage [2007/12/16(日) 08:06:15 ID:???]
その前に、Smartyを使う必要があるの?
普通にPHPで「<title><?php echo $title ?></title>」とかでもいいだよ。
デザイナさんで、Smartyのテンプレートファイル弄る必要があるなら別だけど。

219 名前:nobodyさん mailto:sage [2007/12/16(日) 08:58:24 ID:???]
>>218
アドバイスありがとうございます。


> その前に、Smartyを使う必要があるの?
> デザイナさんで、Smartyのテンプレートファイル弄る必要があるなら別だけど。
 私はデザイナーではありませんが、テンプレートを利用し利用者が自由にコンテンツデザインを選択できることは非常に重要なポイントになります。Smartyは、その点に長けていると聞いたのですが、実際、どうなのか?と。

> 普通にPHPで「<title><?php echo $title ?></title>」とかでもいいだよ。

 PHPとSmartyは、ある程度出来ることは似ているのでしょうか? 私としては、body内のタグ構成を丸ごと置換出来るならば、PHPでもSmartyでもかまわないのですが、Smartyがデザイン的に有利ならば、やはりSmartyを活用したいと考えています。

 とりあえず、もう少し自分で探ってみた方が良いみたいですね。ありがとうございました。


220 名前:nobodyさん mailto:sage [2007/12/16(日) 22:43:28 ID:???]
>>219
なんでSmartyのドキュメントは読まないんですか?

221 名前:nobodyさん mailto:sage [2007/12/17(月) 02:33:24 ID:???]
>>219
ヒント:smartyはphp

222 名前:nobodyさん mailto:sage [2007/12/18(火) 06:49:50 ID:???]
>>219
Smartyのメリット(使い方)

 1.PHPスクリプトで動的に表示させるデータを生成(あるいはDBから取得)する。

 2.Smartyテンプレートファイルと呼ばれる、HTMLの中に1.の変数を書き込
  めるタグ(記号)を書いたファイルを用意する。

 3.PHPスクリプトから、そのテンプレートファイルを指定して表示させると、
  あら不思議、HTMLの中にPHPの変数が表示されるじゃないか!

 4.テンプレートファイルの記述では、データ量に応じて表示をループさせたり
  できるので、たとえば実行するまで何行のテーブルを表示させることになるか
  わからない行データも、スッキリとテンプレートファイルに書けるぞ!

 5.おまけに、テンプレートファイルを複数用意すれば、PHPスクリプトを修正する
  ことなく、いろんなデザインの表示に切り替えられるよ!

こんな感じ。ご参考になったかなぁ?



223 名前:nobodyさん mailto:sage [2007/12/18(火) 21:22:45 ID:???]
phpで書けばいいじゃん

224 名前:nobodyさん mailto:sage [2007/12/19(水) 01:53:46 ID:???]
プレビューでもできれば利点はあると思うんだけどなぁ



225 名前:nobodyさん [2007/12/19(水) 16:07:10 ID:DnDjbDYh]
簡単なプログラムでもDBを導入したほうが効率が良いのでしょうか?

アクセスカウンタを例にしますと、
テキストのログファイルを読み込ませるほうがよいのでしょうか?
この程度でもDBと連携させたほうが効率が良いのでしょうか?
簡単なものはテキスト、中規模以上はDBって感じでしょうか?
小さくてもアクセス頻度が高い場合はDBのほうが安全なのでしょうか?

速度、鯖の負荷、その他ありましたら教えてください
よろしくおねがいします

226 名前:nobodyさん [2007/12/19(水) 19:32:38 ID:E60FAw4D]
すみません。超くだらない質問なのでこちらのスレで聞かせてください。
HTMLのタグ内でのダブルクォーテーションの扱いに困っています。

<input type="hidden" name="gid" value="<?php echo "abc_" . $gid; ?>">
value="<?php echo "abc_" . $gid; ?>"←この部分ですが、value=の次はPHPに処理が進むので
その中に再びダブルクォーテーションを使っても大丈夫ですか?というか文法的に間違いじゃないですか?

よろしくお願いします。

227 名前:nobodyさん mailto:sage [2007/12/19(水) 21:34:28 ID:???]
>>226
マニュアルの文字列文法のページを100回読め

228 名前:nobodyさん [2007/12/20(木) 02:40:21 ID:g0oPtWoH]
227へ
    __,,/  _, ----`ヽ  :.
     :.  / _     ___   、\
       / /   i      \   \\ :.
     :. ,'./       i  ヽ:.   ヽ:.:.. ヽ.ヽ
      ,'/    / .ハ ヽ ヽ:.:.:.:. ヽ::.. ヽヽ :.
     :. |i .i i  .i /  ヽ ト 、 \、:.:.:. ',:.',:.:.lヽ}
       |i .i l  :N_, -弋 \弌弋ナ:}:.:}
    :. |i∧ ', :{ ,ィjモト \  イjミトイイV :.  な…
       .|  :メヽ.', `ozZ}      izN。ハ::{     なんでですか?
      :. |  :ヾ_! ゝ "゙゙    '  `゙ ハ.:', :.
      |  :.:_イ .:.ヽ.   (二フ , イ :.:.:!:.ヽ     なんでだれも
   :.  / rィイ | :.:.ヽ: >r/`<ノ .:.::.}ヽ、\:.   答えてくれないんですか?
      / ∧l;l ! :.:.:.://{二 ̄ .} ..:..::リ//ハ.:\
 :.  / .{. ',ヾ、ヽi .:.:.{ /(^`  |.:.:.:.//: : :.}: . ヽ.:.
   / /  ) ヽ ヾ、ヽ:.ハ ヤ{   ∧/.-‐'": : |:.:. i ',
  ./ .,イ .:..} : :\ヾレ'ハ ∧__ノノハヾ、  : : : l:.:.: .ハ ',
  { /| .:.:ハ : : :i Y {ヾ`Yヽニン'ノ}: : } : : : :/:.:.:/ }:.}
  V | .:.:/:.:|_,ィ' ̄  ヽ三{ `ー-ノ : イ : : :/:.:i.:{  リ
    ヽ:.:{、.:.V     : : ヘ     : : {: : :/:.::∧|
     ヽ! )人    : : :人      : : : / \! :.
      "  ヽ : : : : :/イ{     :.ノ: : : :.\ :.
       :.  \__///: :\______/: : : : : : : ヽ
           / //: : :|;|: : : : : : i: : : __: : : : ',
       :.     / 、 {;{   |;|   . : i/. : : : : : :|
          / `Y;{. . . .|;|. : : : /i: : : : : : : : :l


229 名前:nobodyさん mailto:sage [2007/12/20(木) 03:00:52 ID:???]
DWあたりのツールが使えるだけでなんかWebが作れる気になっている初心者が多すぎだろ。

230 名前:nobodyさん mailto:sage [2007/12/20(木) 03:34:10 ID:???]
>>228
読んだのか?

231 名前:nobodyさん mailto:sage [2007/12/22(土) 19:34:41 ID:???]
>>226
このスレにふさわしい質問だ。

「"」で括られた文字列中に「"」を記述するときは、「\"」とするのだよ。


232 名前:nobodyさん mailto:sage [2007/12/31(月) 16:42:06 ID:???]
例えば <a href='./index.php'></a>
というタグがあるとして
''の間の ./index.php を表示させる
というふうにするにははどうすればいいでしょうか?



233 名前:nobodyさん mailto:sage [2007/12/31(月) 17:46:42 ID:???]
>>232
SimpleXMLでおk

234 名前:nobodyさん mailto:sage [2008/01/04(金) 12:59:42 ID:???]
HTMLSQLも便利だよ。
www.jonasjohn.de/lab/htmlsql.htm

235 名前:nobodyさん mailto:sage [2008/01/06(日) 18:15:09 ID:???]
>>232
preg_match 使え。

236 名前:nobodyさん mailto:sage [2008/01/06(日) 23:18:22 ID:???]
$test = array(
"hoge" => 0 ,
"poge" => 0 ,
"moge" => 1 ,
.
.
"hohe" => 3
)

$contents = array(
0 ,
0 ,
1 ,
.
.
3
)
にしたい場合はどんなふうに描けばいいんでしょうか?

237 名前:nobodyさん mailto:sage [2008/01/07(月) 01:21:47 ID:???]
>>236
あれいばりゅーず

238 名前:nobodyさん mailto:sage [2008/01/11(金) 04:17:35 ID:???]
例えば、
hogehoge.jp/~hoge/index.php
上で、
hogehoge.jp/~hoge/
という文字列を取得してくる関数か何かは無いでしょうか?
$_SERVER変数の中にはそれらしいものがなかったので・・・

239 名前:nobodyさん mailto:sage [2008/01/11(金) 04:22:37 ID:???]
あるだろ

240 名前:nobodyさん mailto:sage [2008/01/11(金) 04:59:28 ID:???]
>>239
それがなかったんですよ。
$_SERVER['PHP_SELF']だと "/index.php"
$_SERVER['SERVER_NAME']だと "hogehoge.jp"
$_SERVER['DOCUMENT_ROOT']だと "/public_html/index.php"
ほかは何か違うし・・・
"http://"はともかく、"hogehoge.jp/~hoge"は取ってきたいんです。

241 名前:nobodyさん mailto:sage [2008/01/11(金) 06:12:58 ID:???]
どこをどう探してなかったといっているんだ。このヴァカは?

jp.php.net/manual/ja/function.dirname.php
jp.php.net/manual/ja/function.parse-url.php

242 名前:238 mailto:sage [2008/01/11(金) 11:30:21 ID:???]
>>241
いや、だから、絶対URLを取得したいんですよ。
いまテストしているサーバから別のサーバに移植する予定なので、
動的にとってこさせるようにすればわざわざURL部分を書き直さなくても
済むだろうと思いまして。

何をしたいかと言えば、特定のディレクトリに置かれているファイルを、
階層の違う別々のディレクトリから参照したい、と思いまして。

ttp://hogehoge.jp/~hoge/movie/movie.flv
を、
ttp://hogehoge.jp/~hoge/aaa/pagea.php
ttp://hogehoge.jp/~hoge/aaa/bbb/pageb.php
ttp://hogehoge.jp/~hoge/aaa/bbb/ccc/pagec.php
など、どの階層に置いても同じ記述で/movie下の任意をファイルを参照する、という。
movie.flvをどこに置くかは決まっているので、hogehoge.jp/~hoge/さえ取得できれば
参照させられるんです。
相対パスだと、ひょっと別のディレクトリに置くと、パスを書き直さなきゃならないんで
移植が面倒になるな、と。


あえて言うなら、parse_urlに渡すURL(そのPHPファイルの絶対URL)を動的に取得したい
ということです。URLを解析したいわけではないんです。



243 名前:nobodyさん mailto:sage [2008/01/11(金) 12:08:38 ID:???]
こいつは「応用」という事を知らないみたいだな

244 名前:nobodyさん [2008/01/11(金) 18:17:35 ID:mLMFZoBj]
認証について質問です。
POSTでデータを送って暗号化などしてデータベースパスが一致したらログイン。
このソースで大丈夫なのかどうか不安です。
a.html→(ここ)→b.php
(ここ)でデータを盗むことができたりするのでしょうか?
これでいいならSSLの必要性がイマイチわかりません。

a.html

<html>
<head>
<title>test</title>
</head>
<body>
<form action="hogehoge.php" method="POST">
<input type="text" name="id">
<input type="password" name="pass">
<input type="submit" value="送信">
</form>
</body>
</html>

b.php

<?php
$pass = $_POST['pass'];
$pass = strip_tags($pass);
$pass = htmlspecialchars($pass, ENT_QUOTES);
$pass = md5($pass);
$pass = substr($pass,0,10);
-------データベースからmd5で暗号化されたデータを引き出して認証-------------
?>

245 名前:nobodyさん mailto:sage [2008/01/11(金) 18:21:23 ID:???]
sslじゃないなら平文で流れるよ

246 名前:nobodyさん [2008/01/11(金) 18:21:32 ID:mLMFZoBj]
連投でスマソ
www.soumu.go.jp/joho_tsusin/security/kiso/k01_ssl.htm

> 通信途中でデータを傍受されると、情報が第三者に漏れてしまう可能性があります。

a.html→(ここ)→b.php
(ここ)でデータが取れるとこのサイトでは言ってるわけですよね?
では、パスワード漏洩しないには具体的にどのようにすればいいのでしょうか?

よろしくお願いします。

247 名前:nobodyさん mailto:sage [2008/01/11(金) 18:23:32 ID:???]
sslにする

248 名前:nobodyさん [2008/01/11(金) 18:29:13 ID:mLMFZoBj]
>>247
漏洩したくないなら金をそこで使うのは当然なのはわかります。
しかし、実際sslを使用していない認証はたくさんあると思います。

そのようなサイトは漏洩する可能性が高いと見て良いのでしょうか?

例 (mixi)
mixi.jp/home.pl

249 名前:nobodyさん mailto:sage [2008/01/11(金) 18:30:46 ID:???]
>>248
>SSL(https)はこちら

250 名前:nobodyさん [2008/01/11(金) 18:35:41 ID:mLMFZoBj]
>>248
見落としてた…orz

え、じゃあ今までhttpsでやってなかった俺のパスワード&アドレスは
漏洩してる可能性あるってこと?

なんでデフォルトがhttpsじゃないんだよ(´・ω・`)

251 名前:nobodyさん mailto:sage [2008/01/11(金) 19:01:52 ID:???]
来週から初出勤の俺
PHPは参考書読む程度なんですが
開発現場ってどんな感じで作業進めるのでしょうか?



252 名前:nobodyさん mailto:sage [2008/01/11(金) 19:48:43 ID:???]
殺伐と



253 名前:nobodyさん mailto:sage [2008/01/11(金) 20:24:05 ID:???]
>>250
スレ違いになるが、JavaScriptでmd5に変換とかすれば

254 名前:nobodyさん [2008/01/11(金) 21:04:07 ID:mLMFZoBj]
>>253
なるほど
<input type="text" name="pass1">
<input type="hidden" name="pass2">

document.pass2.value = md5された文字

色々省略してますがこんな感じで飛ばせばOKということですね?
これでセキュリティに問題ないならやってみようと思います。

255 名前:nobodyさん mailto:sage [2008/01/11(金) 22:37:14 ID:???]
相手がJavaScript切っていたら?
ていうか、質問者もそのレベルならセキュリティ意識する必要ないし(しても対処できないのが落ち)
、回答者もひどすぎる。
とにかくSSLにすればいい。証明書を第三者機関に発行してもらうのはウェブページの信頼性を保障してもらうため。
別に俺のことは俺が保障するっていうなら俺俺証明書でOKなわけ。
それじゃ普通は駄目だから金払う。

256 名前:nobodyさん mailto:sage [2008/01/11(金) 23:07:26 ID:???]
>>255
JavaScript切ってたら、mixiでいう「SSL(https)はこちら」を
選択しないのとそう変わらんだろうに
暗号化して送信するかしないかをユーザに任せるという意味ではね
SSLだって人によっては切ってるかも知れんぞw

257 名前:nobodyさん mailto:sage [2008/01/11(金) 23:32:11 ID:???]
>>254
その例、なんとなく勘違いしてそうだが、
入力されたパスワードをsubmit時にJavaScript側で
md5にしてからPOST送信すんの
分からんかったら調べるなりJavaScriptスレへ

258 名前:238 mailto:sage [2008/01/12(土) 00:10:38 ID:???]
移植予定先で$_SERVER['SERVER_NAME']を試してみると、
hogehoge.jp/~hoge/が取得できましたorz
何を見てたんだ俺は・・・
どうもご迷惑おかけしました。

259 名前:238 mailto:sage [2008/01/12(土) 00:17:48 ID:???]
違った。$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']でした。
どうもたびたび申し訳なく・・・

260 名前:nobodyさん mailto:sage [2008/01/12(土) 00:28:49 ID:???]
>>259
REQUEST_URI はやめといた方がいいんじゃね
素直に
substr($_SERVER['REQUEST_URI'], 0, strrpos($_SERVER['REQUEST_URI'], '/'))
とかじゃダメなん?

261 名前:nobodyさん mailto:sage [2008/01/12(土) 00:29:36 ID:???]
あーあ、SCRIPT_URI って書いたとおもったのに。

262 名前:238 mailto:sage [2008/01/12(土) 01:23:53 ID:???]
>>260-261
SCRIPT_URIは確かサーバの環境依存じゃなかったですか?
移植先はレンタルサーバなので、Apacheの設定を弄らせてもらえるか
微妙なんです。未だにどこに移植するか決まってないという。
自鯖にすれば設定し放題ですが、さすがに管理が・・・
/~hoge/句がつくかどうかも微妙ですし。

最悪、DBに絶対URLを格納しておいてそれを使うようにすると言う手を考えつきました。
まあとりあえずREQUEST_URIでやってみます。問題が起きたらDB方式に。
文字列エンコードすればXSSも何とか回避できるでしょうし。
ありがとうございました。



263 名前:nobodyさん mailto:sage [2008/01/12(土) 01:45:55 ID:???]
Windows版phq4.4.2なのですが、
GDが読み込まれません。
php.iniの設定箇所のコメントを外す以外に何か設定が必要でしょうか?

264 名前:nobodyさん mailto:sage [2008/01/12(土) 06:37:20 ID:???]
再起動する

265 名前:263 mailto:sage [2008/01/12(土) 17:40:18 ID:???]
>>264
ApacheはもちろんWindowsも再起動してみましたが反映されません。。。

php.ini以外にさわる箇所あるのでしょうか?

266 名前:nobodyさん mailto:sage [2008/01/12(土) 18:50:14 ID:???]
理由は?
extension_dirの指定が間違ってるとか、GDの共有ライブラリが入ってないとか

267 名前:nobodyさん mailto:sage [2008/01/12(土) 19:22:51 ID:???]
反映されないってどこを見て言ってるの?
php.ini はどこを変更したの?

268 名前:263 mailto:sage [2008/01/13(日) 06:15:16 ID:???]
レスありがとうございます。

>>266
extension_dirの指定はmbstringの設定が有効なので良いと思うのですが。
ライブラリはphp_gd2.dllですよね?それなら入っています…


>>267
反映についてはphpinfoにgdの項目が出てこなく、関数も使えないのでそう判断しています。
php.iniはextension_dirのコメントを外しました。

269 名前:nobodyさん mailto:sage [2008/01/13(日) 10:02:45 ID:???]
手順と確認に問題は無さそうなので、修正しているphp.iniと実際に使われているphp.iniが違うファイルなんじゃないかな?
phpinfo()でどこのphp.iniを使っているか表示されるけど、それは一致してる?

270 名前:nobodyさん mailto:sage [2008/01/13(日) 10:42:53 ID:???]
PHPIniDir('c:\php');

271 名前:263 mailto:sage [2008/01/13(日) 12:22:04 ID:???]
>>269-270
レスありがとうございます。
試してみたいと思います。

272 名前:263 mailto:sage [2008/01/13(日) 23:05:13 ID:???]
>>269
ビンゴでした。
なぜかiniファイルの読込先がC:\windowsに。。。
ここは変更できるのでしょうか?

一応、この場所にiniファイルを置きましたところ、GDの読み込みには成功いたしました。

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



273 名前:nobodyさん mailto:sage [2008/01/14(月) 02:36:12 ID:???]
なぜかとかって・・・

274 名前:nobodyさん mailto:sage [2008/01/14(月) 07:49:03 ID:???]
iniのおき場所と、それぞれのおき場所の優先順位とコンパイルオプションの話はマニュアルに何か書いてあったような気がする

275 名前:nobodyさん mailto:sage [2008/01/15(火) 04:28:15 ID:???]
PHPで、CSVファイルを取り込み、Postgresへ格納するの作ってるんですが、
100Mくらいのファイルを取り込むのに、時間が40分くらいかかって
メモリーも2Gくらいを、PHP.iniに書かないと途中でとまるんですが、
PHPってスピードとか、メモリー使用量ってこんなもんでしょうか?

276 名前:nobodyさん mailto:sage [2008/01/15(火) 04:31:00 ID:???]
コードが悪い

277 名前:nobodyさん mailto:sage [2008/01/15(火) 05:07:45 ID:???]
>>275
ttp://www.1x1.jp/blog/2007/03/php_pgsql_copy.html

278 名前:nobodyさん mailto:sage [2008/01/15(火) 09:57:33 ID:???]
メモリの使用量はPHPとはあまり関係なくプログラマが読み込ませたデータ量による
時間がかかっているのは激しくスワッピングしてるからだと思われ
普通はデータ量が大きいときは漸次処理して負荷を減らすもの

279 名前:nobodyさん mailto:sage [2008/01/15(火) 12:28:56 ID:???]
100,000
のように数字に「,」が入ってるときに、数字のみを取り出すにはどうすればいいですか?

280 名前:nobodyさん mailto:sage [2008/01/15(火) 13:14:35 ID:???]
ereg_replace(",", "", $var)でできました

281 名前:nobodyさん [2008/01/16(水) 11:56:16 ID:sJoxzvRt]
質問させていただきます
たまにttp://example.com?aaaと言うようなURLを見るのですが
クエリ情報を受けとるファイルでは$_GET[?]で受けとっているのか教えて下さい

282 名前:nobodyさん mailto:sage [2008/01/16(水) 13:16:39 ID:???]
le.com/?aaa のことならたいてい index.php において空の $_GET['aaa']

mod_rewrite 使ってることもありえる



283 名前:nobodyさん mailto:sage [2008/01/16(水) 13:25:34 ID:???]
>>281
$_SERVER['QUERY_STRING']とか。

284 名前:nobodyさん mailto:sage [2008/01/16(水) 15:11:30 ID:???]
>>283
それはそれで、何でわざわざそんなことやってるのかって疑問が出来るな

285 名前:nobodyさん mailto:sage [2008/01/17(木) 11:15:01 ID:???]
アクセスログ解析用だろ

286 名前:nobodyさん mailto:sage [2008/01/17(木) 12:05:56 ID:???]
キーのみのクエリで何でアクセスログの話が?

287 名前:281 mailto:sage [2008/01/17(木) 13:56:22 ID:???]
レスありがとうございます
>>282さんの
index.phpに空の$_GET[aaa]をおくと言うのを
試してみたのですが意味がわかっていないせいか何も変わりませんでした
もう少し詳しく説明お願いしていいですか?
お手数かけてすいません

288 名前:nobodyさん mailto:sage [2008/01/17(木) 14:15:33 ID:???]
置いてじゃなくて於いて。
クエリ文字列を取得するなら>>283

289 名前:nobodyさん mailto:sage [2008/01/17(木) 15:15:36 ID:???]
よく読んでませんけど、まずApacheの話として、クライアントから/?aaaみたいなパスで
リクエストされた場合、ファイル名がないのでウェルカムファイルがリクエストされたと
判断される。 /でリクエストすると/index.phpが読まれるのと同じ理屈で/?aaaの場合は
処理を行うスクリプトはindex.phpで、クエリとしてaaaが渡されると思う。
で、クエリは本来/?aaa=valueというようにフィールドとその値になってるけど、この
場合は値がないので、変数名は$_GET[’aaa’]となりデータは空の文字列
ということになるとめでたくね?データは空だから何も受け取ったことにはならないけど
連想配列のキーの有無で違いが出るので、!isset($_GET['aaa'])としてやると
/?aaaなのか/?bbbなのかは区別できるような木がする

290 名前:nobodyさん mailto:sage [2008/01/17(木) 15:27:11 ID:???]
嫌がらせかw

291 名前:nobodyさん [2008/01/17(木) 23:00:15 ID:AXahQPv7]
>ttp://example.com?aaaと言うようなURLを見るのですが
クエリ情報を受けとるファイルでは$_GET[?]

ttp://example.com?aaa

ttp://example.com?bbb=aaa

で通常は$_GET['bbb']で受け取ります
そのサーバでどこかに$_GET['bbb']を受け取るファイルがあるのです


292 名前:nobodyさん mailto:sage [2008/01/19(土) 12:56:29 ID:???]
>>291
どこからbbbが出てくるんだよw

?aaaは$_GET['aaa']として入ってくる
データ内容は確かnullのはず
issetでチェックはできるけどな



293 名前:nobodyさん mailto:sage [2008/01/19(土) 13:00:52 ID:???]
通常は って言い切るのはどうかと思うけどたいていmod_rewriteとかで$_GET['bbb']で受けるんじゃね
もちろんbbbかどうかは知らないけど

294 名前:nobodyさん mailto:sage [2008/01/19(土) 13:09:31 ID:???]
mod_rewrite使うなら?をつける意味が無いな
/aaa/とかにすると思うが

295 名前:nobodyさん mailto:sage [2008/01/19(土) 13:14:21 ID:???]
単にisset($_GET['aaa'])で存在チェックしてるだけでFAだろ。
何が問題なんだ?

296 名前:nobodyさん mailto:sage [2008/01/20(日) 17:11:47 ID:???]
phpのスクリプトを読んでいると
($mode ? 'OK' : 'NO')
という分岐?が出てきたのですが
この方法の名前は何というのでしょうか?
調べようにも名前が判らず困ってます

297 名前:nobodyさん mailto:sage [2008/01/20(日) 17:19:56 ID:???]
三項(条件)演算子

298 名前:nobodyさん mailto:sage [2008/01/20(日) 17:21:32 ID:???]
>>296
jp.php.net/manual/ja/language.operators.comparison.php#language.operators.comparison.ternary

299 名前:nobodyさん mailto:sage [2008/01/20(日) 21:00:02 ID:???]
perl にもあるし、C/C++ にもあるし…あとは…
結構サポートしてる言語あるぞえ

300 名前:nobodyさん mailto:sage [2008/01/21(月) 00:37:42 ID:???]
レンタルサーバー(アイル)でセッションを使ってユーザ管理できる形で
スケジューラー作ってます。

最近利用している人から、見ていたらお前のログイン状態が出てきたぞと
言われ、キャプチャされた内容が送られてきました。
セッションは
session_start()
ではじめて
$_SESSION[id]
$_SESSION[pwd]
にデータを入れてます。セッションはブッキングすることがないと
聞いていたのですが、たった4人の利用でブッキングがあったため、
もしかすると

iクラスタでは、クラスタリング環境となっており、
セッションの使用、またflock, fcntl 等のロックは機能しません。
symlink, mkdir 等での代用いただくようお願いします。
とレンタルサーバーにはかかれていましたが、クラスタリング環境で
flock,fcntlが使えないことでこういう事が起きているのでしょうか?
ここがはっきりしないと、別のサーバーに切り替えてもらえないし、
自分が選んだサーバーでもプランでもないので板挟みで状態で困ってます。

301 名前:nobodyさん mailto:sage [2008/01/21(月) 00:44:27 ID:???]
セッションは機能しませんってこれ以上なく明確に書いてるやん('A`)

302 名前:nobodyさん mailto:sage [2008/01/21(月) 13:09:21 ID:???]
>>300
DB使えるならDBでセッション管理すれば?
別にそんなに規模大きいもんでもないんでしょ?



303 名前:296 mailto:sage [2008/01/21(月) 14:21:47 ID:???]
>>297
>>298
ありがとう

304 名前:244 [2008/01/21(月) 19:22:48 ID:5H6OPrCr]
過去の話掘り返してスマナイ。

>>253でmd5にして認証を行ったはいいが
HTTPヘッダ見たら暗号化した文が表示されてた。

これってこの文盗聴されてそのまま打たれたら結局意味ないじゃんって結果に。

参考にしたページ: ttp://jsgt.org/mt/archives/01/000301.html

Digest認証でここはやってますが
どうも不完全なまま終わってるようで続きが見当たりません。

実際にSSLを使わないで認証してる方はいないでしょうか?
自分しか使わないのでSSLの証明はいらないんですが、、、

305 名前:nobodyさん [2008/01/21(月) 20:16:56 ID:5H6OPrCr]
連投スマソ

結構大きなネトゲのサイトでburp suiteでHTTPヘッダを見てみた。

IDとパスがそのまま表示された…。
これってこの部分盗聴されたらログインされるはずだよな…?と思って
mixiのhttpsでログインしてみた。

こちらは何も表示されなかった。


そのネトゲのスレ行ってみたらセキュアなしかよって散々叩かれてた。
こんなのもあるんですね。


一応報告まで。

306 名前:nobodyさん mailto:sage [2008/01/21(月) 21:07:52 ID:???]
>>304
そりゃまんまじゃ駄目。
ワンタイムパスワードにでもしないと。

307 名前:nobodyさん mailto:sage [2008/01/21(月) 22:07:39 ID:???]
>>305
ネ糞○

308 名前:nobodyさん [2008/01/22(火) 00:42:56 ID:Qziki4SA]
すみません、phpを始めたいのにインストール段階で行き詰っちゃいました…
すごく初心者なので、書き方おかしかったらすみません。
・os
windows vista
・希望
apache_2.2.6-win32-x86-no_sslをインストールしたい
・困ってる事
「このインストール パッケージを開くことができませんでした。
パッケージが存在し、アクセスできることを確認してください。
またはアプリケーション ベンダに問い合わせ、この Windows インストーラ パッケージが有効かどうかを確認してください。」
が出てインストールできない。
・やった対策
vistaだと通常とは違うという事で色々と調べて「コマンドプロンプト」というやつを管理者の権限で開いてインストーラーを実行させました。
そうすると何回やっても上記のエラーメッセージが出ます。
なので「windows install cleanup」をダウンロードして開いてみましたが該当するものはなし。

無知なりに考えた原因は、何度も違うバージョンのapacheをインストール→アンインストールしたせいでインストーラが狂ったのかと…。
どうにかインストールしたいです。「ベンダ」に問い合わせる他に何かまだ出来る事があれば教えてほしいです。

309 名前:nobodyさん mailto:sage [2008/01/22(火) 01:33:19 ID:???]
>>308
このあたりが関係しているのかも。
www.apachefriends.org/jp/xampp-windows.html
> Windows VistaではC:\Programfilesのフォルダのパーミッションが限定されております。
> その為、通常のインストールではインストールが成功しない場合があります。
> xampp用のフォルダをCドライブの直下か、C:\userの下にxamppというディレクトリを
> 作成してご利用いただくことをお勧めします。


XAMPPだと、インストーラを使うタイプと使わないタイプがあるから、こっちで
試してみたらどうかな。全部がセットになってるから便利だし。

310 名前:nobodyさん mailto:sage [2008/01/22(火) 07:54:00 ID:???]
今の時期は、出来ればVistaでやるのは避けた方が良い。

311 名前:nobodyさん mailto:sage [2008/01/22(火) 11:52:06 ID:???]
>>306
ワンタイムパスワードを考えてみました。
データベースにpass1とpass2のあるテーブルを作る。
pass1はユーザーが決めたパスワードをmd5した物。

ログインページにアクセスした時点で
ランダムな文字列を発行。(例 ZztMHpWSD)
全てのユーザーのpass2を更新する(pass1 + ZztMHpWSD)

<input type="text" name="pass">
<input type="hidden" name="rand_pass" value="(ランダムな文字列)">

submit押すと
md5_func(document.formname.pass.value)+document.formname.rand_pass.value;

これでpass1+ランダムな文字列が渡されました。

これで送られてきた物をpass2で一致すればOK。
この処理はできました。

----続く----

312 名前:nobodyさん [2008/01/22(火) 11:56:30 ID:q9syKBOV]
問題点

Aさんがログイン画面にアクセスしてログインの情報を入力してる最中に
Bさんがアクセスしてきました。

その場合また新しいランダムな文字列が発行され
データベースのpass2が更新されてAさんの hidden に入ってる物が違ってきます。

現在この状況でつまっております。
何か助言を頂けないでしょうか?



313 名前:nobodyさん mailto:sage [2008/01/22(火) 12:03:57 ID:???]
> 全てのユーザーのpass2を更新する(pass1 + ZztMHpWSD)
すべてのユーザーのを更新する理由は何?
ログインとかログアウトする時に一人のユーザーのみを
更新してはいけないの?

314 名前:nobodyさん [2008/01/22(火) 12:12:27 ID:q9syKBOV]
>>313
> すべてのユーザーのを更新する理由は何?
アクセスしてるユーザーがどのユーザーかわからないためです。

ログアウトした時に一人のユーザーを更新する場合
ログアウトする時にpass1+ランダムな文字列で更新

再ログインするためにランダムな文字列発行するわけにもいかないし、
ログアウトの時クッキーにランダムな文字列書き込んだ場合
他のパソコンでログインできなくなる。

一応こんな風に考えてます。

315 名前:nobodyさん [2008/01/22(火) 12:28:18 ID:q9syKBOV]
古い物上げてきたんで一応悩みをまとめておきますね。

・ SSLをできれば使いたくない(証明とかいらない&節約)
・ HTTPヘッダを見るとパスワード丸見え(盗聴怖い)
・ md5で暗号化しても暗号化した物を盗聴されて打たれたら意味ない
・ ワンタイムパスワードを作って毎回パスワードを変更するが他のユーザー接続で失敗

こんなところです。

316 名前:nobodyさん mailto:sage [2008/01/22(火) 14:19:06 ID:???]
節約とセキュリティーをあげるのは相反するものだぞ。一般論として。
金属探知機を設置せずに、拳銃の持込を完全に防止したいみたいな意味だ。

317 名前:nobodyさん [2008/01/22(火) 14:40:45 ID:q9syKBOV]
>>316
私がしたいのは独自で作成した金属探知機を使用したいのです。
金をかければ有名ブランドの金属探知機で安心、安全でしょう。

私がほしいのは安全だけなのです。

未熟なので能力が伴うかどうかは別として。

318 名前:nobodyさん mailto:sage [2008/01/22(火) 14:42:26 ID:???]
ユーザに負担思いっきりかけていいならPGPの秘密鍵暗号鍵みたいな仕組みにすれば?
可能か不可能かって話なら可能だろ

319 名前:308 mailto:sage [2008/01/22(火) 16:03:11 ID:???]
>>309
ありがとうございます!
今職場なので、帰宅したら試してみます。

>>310
避けたい気持ちでいっぱいです。
一応使えている人がいる様なのでもう少しいじり倒してみます。

320 名前:nobodyさん [2008/01/22(火) 17:21:38 ID:q9syKBOV]
ざっとセキュリティ関連の記事をいくつか見てきたのですが
どうやらこのスレにいるレベルでは無理そうな感じがしてきました。

>>318
ユーザーに負担はやはりかけたくないですね…。
PGPをざっと見てどのような物かがわかったのですが
できればユーザーにはシンプルにログインさせてあげたいです。
(ID & PASS ぐらい)

とは言っても数人で使う程度の予定で、
一度ログインしたら自動ログインできるように設定したいので、

ログイン画面は
ID入力画面→(データベース内容変更)→pass入力画面→ログイン
この流れでいこうと思います。

これだったら全ユーザーのパスワードを変更しなくていいですし。
これでどうしても証明やユーザーの手間を削減する必要がでてきたら、SSL導入を考えます。

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

321 名前:nobodyさん mailto:sage [2008/01/22(火) 17:46:58 ID:???]
ワンタイムパスワードなのに自動ログインてw

322 名前:nobodyさん mailto:sage [2008/01/22(火) 17:52:25 ID:???]
>>321
自動ログインは別の処理だろ?

>>320
素直にSSL入れておけ。
何に使うかよくわからんがSSLに慣れておく事も重要



323 名前:nobodyさん [2008/01/24(木) 12:32:36 ID:NF7q/+V1]
はじめまして。

別サーバにあるファイルの更新時間を表示させるには
どうしたらいいのでしょうか?


324 名前:nobodyさん mailto:sage [2008/01/24(木) 13:50:13 ID:???]
ファイルの更新日時はftp接続じゃないと取得できないような気がする。
ttp://always-pg.com/php/std_rd/ftp/ftp_rawlist.html
ファイルの中身だけであれば、httpで
$file = file("......../data.csv");
見たいな感じでいけるけれど。

325 名前:nobodyさん mailto:sage [2008/01/24(木) 15:19:32 ID:???]
別サーバにあるのが性的で、Webサーバ経由で読み出せるなら

get_headers("www.hoge.jp/hoge.html");

とやって、last-modifiedの値を見る

phpファイルなら、そのファイル自身にfilemtime(__FILE__)とかで更新時を出力させればいいと思う

326 名前:323 [2008/01/24(木) 15:32:15 ID:NF7q/+V1]
ありがとうございます。
試してみます。

いろいろ探してみたところ下のように”HTTPヘッダーから拾う”という方法を見つけました。
これで「Wed, 23 Jan 2008 00:00:00 GMT」と表示されるのを、
JSTにして、「6:15 1/24 Thu 」と表示したいのですが、整形の方法がわかりません。
どなたかご教授ください。よろしくお願いいたします。



327 名前:323 [2008/01/24(木) 15:32:38 ID:NF7q/+V1]
<?php
$URL="http://対象ファイル";
$purl=parse_url($URL);
if(!$purl["port"]) $purl["port"]=80;
//開く
$fp=fsockopen($purl["host"],$purl["port"]);
//リクエストを送る
if($purl["query"]){
fputs($fp,"GET ".$purl["path"]."?".$purl["query"]." HTTP/1.0\n");
}else{
fputs($fp,"GET ".$purl["path"]." HTTP/1.0\n");
}
fputs($fp,"Host: ".$purl["host"]."\n");
if($purl["user"]) fputs($fp,"Authorization: Basic ".base64_encode($purl["user"].":".$purl["pass"])."\n");
fputs($fp,"\n");
//HTTPステータスラインを取得
$buf=fgets($fp,1024);
if(!strstr($buf," 200 ")) return(FALSE);
//HTTPヘッダを取得
//$finfo["HTTPヘッダ名"] に内容が格納される
while(!feof($fp)) {
$buf=chop(fgets($fp,1024));
if(!$buf) break;
ereg("^([^:]*): *(.*)$",$buf,$sbuf);
$finfo[$sbuf[1]]=trim($sbuf[2]);
}
echo $finfo["Last-Modified"];
?>


328 名前:nobodyさん mailto:sage [2008/01/24(木) 15:46:09 ID:???]
>>326
echo date('G:i n/j D',strtotime('Wed, 23 Jan 2008 00:00:00 GMT'));
こんな感じで。下記参照。
jp.php.net/manual/ja/function.date.php

329 名前:323 [2008/01/24(木) 16:57:23 ID:NF7q/+V1]
最後の行を
echo date('G:i n/j D',strtotime($finfo["Last-Modified"]));
としたら望みどおりの結果になりました!!!

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

330 名前:nobodyさん mailto:sage [2008/01/26(土) 03:19:27 ID:???]
俺は Last-Modified → Date → クライアントローカル って順にしてるな

331 名前:nobodyさん mailto:sage [2008/01/27(日) 19:58:32 ID:???]
はじめまして。超初心者用という事でわからない事があったので質問してみます

YahooAPIを用いて画像検索を行い、検索された画像をクリックする事でその画像の類似画像を新たに検索して
Webページに表示させるPHPを作成しているのですが、クリックされた画像の色情報を取得する方法がわかりません。
画像のRGB値を求めて、その値に近い画像を表示させるつもりで現在考えています。
色の取得自体は一応できてるのですが下に処理を書きます
  $im = imagecreatefromjpeg($content);
  $img_w = imagesx( $im );
  $img_h = imagesy( $im );
  $cnt = $img_w * $img_h;
  $r = array();
  $g = array();
  $b = array();
  for( $i = 0 ; $i < $img_w ; $i ++ ){
  for( $j = 0 ; $j < $img_h ; $j ++ ){
  $rgb = imagecolorat($im, $i , $j );
  $r[] = ($rgb >> 16) & 0xFF;
  $g[] = ($rgb >> 8) & 0xFF;
  $b[] = $rgb & 0xFF;
  }
  }
  $index_r = intval( array_sum( $r ) / $cnt);
  $index_g = intval( array_sum( $g ) / $cnt);
  $index_b = intval( array_sum( $b ) / $cnt);
クリックされた画像に対してこの処理を行う方法がいまいちわかりません。
わからない事だらけなのですが何か助言を頂ければお願いします。

OS:WindowsXP
PHP: Version 5.2.5
ApacheVersion:1.3.26

332 名前:nobodyさん mailto:sage [2008/01/27(日) 21:02:47 ID:???]
>>331
検索結果表示時に画像リンクを
img.php?src=hogehoge.jpg
こんな風にimg.phpを経由させれば
img.php内で画像のソース取得などできるけど

こういう風に出来ない場合は
javascriptとかで画像に対してクリックイベント設定して
そこから処理させるとかかな・・・・



333 名前:331 mailto:sage [2008/01/28(月) 11:07:03 ID:???]
>>332
遅くなりましたがレスありがとうございます。

事情があってjavascriptは使わずに処理をさせたいのですが
上の方法で少し考えてみます。
img.phpという別のphpを新たに作成してそこで処理をさせるみたいな感じでいいのでしょうか?

334 名前:nobodyさん mailto:age [2008/01/28(月) 11:31:46 ID:???]
PHPはPerlと比較するとオブジェクト指向プログラミングが
やり易いようになっているけれど、やはり、大規模な開発には
向かないとかいわれています。javaの方が良いと。
この理由は何処にあるのでしょうか。他のプログラムとの連携や
モジュール関連なのでしょうか。

335 名前:332 mailto:sage [2008/01/28(月) 11:46:04 ID:???]
>>333
あーごめんちょっとぼけてた
<a href="hoge,php?src=hogehoge.jpg"><img src="hogehoge.jpg" /></a>
こういう風なリンクにしちゃえば
hogehoge.php内でどの画像がクリックされたとか解ると思うんだけどどうかな?
このhoge.phpにsrc=hogehoge.jpgを渡してやることによって
hoge.phpにはどの画像がクリックされたかわかるし
どの画像がクリックされたか解ればあとは上のコードでなんとかなると思うけど


336 名前:331 mailto:sage [2008/01/28(月) 11:54:21 ID:???]
>>334
レスありがとうございます。
PHPだけでしたいのは他にも理由はあるのですがjavascriptはまだ全然勉強してないので・・・
でもPHPと連動させて作成するものが多いようなのでこれから勉強していきます

>>335
レスありがとうございます。
hoge.phpでそんなことができたのですね。一度やってみます
親切に教えてくれてありがとうございます

337 名前:nobodyさん mailto:sage [2008/01/29(火) 22:16:32 ID:???]
無知すぎて申し訳ありませんが

ttp://www.harudake.net/m-ga.html

↑のようなRSSから自動的に画像を抜き出してサムネイル表示させるには
どのようにすればよろしいでしょうか?
参考になりそうなサイトや書籍があったら教えてください

338 名前:nobodyさん mailto:sage [2008/01/29(火) 23:04:54 ID:???]
>>337
それは多分JavaScriptでやってる
んで、PHPでやるなら
まずRSSをパースして画像のURLを抽出する
抽出した画像をDLしてローカルに保存するor抽出したURLをそのまま使用
IMGタグを生成時に一定サイズ以上はサムネイル化する処理を実行
表示デ終わり

339 名前:nobodyさん mailto:sage [2008/01/29(火) 23:40:56 ID:???]
>>338
有難うございました 早速実行してみたいと思います

340 名前:nobodyさん mailto:sage [2008/02/03(日) 14:38:33 ID:???]
お聞きしたいのですが、PHPを実行した時画面の左上に?が必ず表示されていて
困っているのですがどうすれば無くなるのでしょうか?
日本語で表示させたくてPHP本体の文字コードをUTF-8にして毎回保存しています。
これだと文字化けはせず日本語は表示されるのですが必ず?が表示されます。
PHPを保存する時の文字コードを変更するのではなく、php.iniの設定を変えなければならないのでしょうか?

OSはWindowsXP。PHPはバージョンを確認すると5.2.5なのですが途中でバージョンアップしたのか
iniファイルはPHPとPHP4の二つあります。Apacheは1.3.26です。

ただPHPの環境作りは別の人がやってしまったので今いちどこを修正すればいいのかわかりません。
なんとか解決する方法を教えてもらえないでしょうか

341 名前:nobodyさん mailto:sage [2008/02/03(日) 14:54:58 ID:???]
>>340
PHPのソースコードに変な記号を表示させる記述がないのであれば、
間違って?を書いてるとかの可能性が考えられる。
あと、実行後のhtmlのソースのどの部分に記述があるかによって、
推測する事になると思う。

<?php
echo "test!<br>";

と、あえて書いてみるとか。

342 名前:nobodyさん mailto:sage [2008/02/03(日) 15:18:25 ID:???]
<?php
echo "test!<br>";

と書いてためしに実行してみましたが、?test!と表示されます。
色んなPHPで実行してみましたが必ず?がついてきます。
間違って?を書いているということは無いと思うのですが・・・



343 名前:nobodyさん mailto:sage [2008/02/03(日) 15:51:00 ID:???]
BOM

344 名前:nobodyさん mailto:sage [2008/02/03(日) 16:13:35 ID:???]
>>343
BOMというのは始めて知りました。ありがとうございます。
このBOMを削除するのにUTF-8nで保存すると直るようなのですが、普通のメモ帳ではUTF-8でしか保存できません。

function delete_bom($str)
{
if (ord($str{0}) == 0xef && ord($str{1}) == 0xbb && ord($str{2}) == 0xbf) {
$str = substr($str, 3);
}
return $str;
}

上のコードでBOMを削除できるそうなのですが。<?phpの処理の中で記述すればいいのでしょうか?
?が消えないのですが。本当にわからない事だらけで申し訳ありません

345 名前:nobodyさん mailto:sage [2008/02/03(日) 16:16:54 ID:???]
エディタでUTF-8のBOM無しにするかUTF-8Nにすればおk

346 名前:nobodyさん mailto:sage [2008/02/03(日) 16:18:30 ID:???]
悪いよく読んでなかったけど、要するに文字コード指定できるエディタ使えってこと。
メモ帳で開発は有り得ない。

参考:besunday.hp.infoseek.co.jp/html_editor.htm

347 名前:nobodyさん mailto:sage [2008/02/03(日) 16:22:16 ID:???]
>>346
ありがとうございます。まだ勉強し始めたばかりだったので(汗)

348 名前:nobodyさん mailto:sage [2008/02/04(月) 00:53:06 ID:???]
あれ?bom無しは駄目なのか?
いつも秀丸使っててbom有りでスクリプト書いてたんだが…

349 名前:nobodyさん mailto:sage [2008/02/05(火) 16:49:29 ID:???]
逆、BOM有りがダメ
予期せぬエラーが起きる

350 名前:nobodyさん mailto:sage [2008/02/05(火) 19:30:27 ID:???]
あぁ、ごめん。逆だった…
bom有りで書いてたぜ。
具体的にどんなエラーが起きるの?

351 名前:nobodyさん mailto:sage [2008/02/05(火) 20:27:52 ID:???]
基本的にEUCでbomは知らんかったんで秀丸でUTF-8で保存してみたけど?出ないな。
秀丸だと保存オプションもUTF-8Nとかもないしbom入らないのかな。
メモ帳でUTF-8で保存して実行したら ・ソtest!<br> みたいのは出た。

352 名前:nobodyさん mailto:sage [2008/02/05(火) 20:48:26 ID:???]
秀丸でもBOMオプションあるな。
あんまり古いのだとないかもしれんけど。
これはphpが読み込んだときに自動的に削るべきもんかもね。



353 名前:nobodyさん mailto:sage [2008/02/05(火) 23:51:41 ID:???]
秀丸、bom有り、bom無し で試してみた。
web 上では見た目上、変化無かったけど、
CLI で実行させたら、bom付きでは頭に 0x81, 0x45, 0xbf の3バイトがくっついてきた。

354 名前:nobodyさん mailto:sage [2008/02/06(水) 00:11:29 ID:???]
>>353
そのくっついてくるのがアレ。
BOMつきUTF-8でファイル冒頭に

<?php
header("Content-Type: text/html; charset=UTF-8"); // 例。

なんてのを書くと「ヘッダ送ったあとでヘッダ変えたいとか、無理」と
PHPさんが優しく語りかけてくれる。

355 名前:nobodyさん mailto:sage [2008/02/06(水) 00:16:53 ID:???]
なるほど。解ったよ。アンガト

356 名前:354 mailto:sage [2008/02/06(水) 00:24:06 ID:???]
書いてから気づいた。

> 頭に 0x81, 0x45, 0xbf の3バイト

0xef 0xbb 0xbf の3バイト(>>344参照)、じゃないのね。

357 名前:nobodyさん [2008/02/07(木) 16:59:49 ID:d+qc2qYD]
チェックボックスでチェックされていたらチェックさせたいです
POSTのデータと一致してるかどうかでforeach書いてるんですけど
なんとなく無駄な感じがしてます…
いい書き方ってありますか?

foreach ( $hoge as $k => $v ) {
$checked = "";
if (isset($_POST['hoge'])) {
foreach ( $_POST['hoge'] as $key ) {
if ($key == $v) {
$checked = " checked=\"checked\"";
}
}
}
echo "<input name=\"hoge[]\" type=\"checkbox\"$checked value=\"$v\" />\n";
}


358 名前:nobodyさん mailto:sage [2008/02/07(木) 17:42:05 ID:???]
>>357
こーかな?判定は一行にもできるけど逆に見づらいし。

foreach ( $hoge as $k => $v ) {
    $checked = "";
    if( is_array($_POST['hoge']) && array_search($v, $_POST['hoge']) != FALSE ){
        $checked = " checked=\"checked\"";
    }
    echo "<input name=\"hoge[]\" type=\"checkbox\"$checked value=\"$v\" />\n";
}

359 名前:nobodyさん mailto:sage [2008/02/07(木) 17:44:38 ID:???]
でも$v素通りはあんまよくないな。

360 名前:357 mailto:sage [2008/02/08(金) 13:26:21 ID:???]
>>358
array_searchなんてあったんですね!
ありがとうございます

>>359
素通りとは…?

361 名前:nobodyさん mailto:sage [2008/02/08(金) 13:37:59 ID:???]
$v を validate しろって事だよ。
359 はクロスサイトスクリプティングの可能性を示唆してるんだろ。

362 名前:357 mailto:sage [2008/02/08(金) 17:52:07 ID:???]
なるほど。
これは例なのでいれてないだけです。
$vはこっちで作成してる配列なのにな〜と思って。

ちなみに358は
!= FALSE ではなく !== FALSE ですね



363 名前:nobodyさん mailto:sage [2008/02/08(金) 18:47:04 ID:???]
それが確実。

364 名前:nobodyさん mailto:sage [2008/02/09(土) 01:31:23 ID:???]
つーか何で毎回is_arrayでチェックするんだよ


365 名前:nobodyさん mailto:sage [2008/02/10(日) 18:46:39 ID:???]
フォームで入力した内容に " が含まれる場合、
それをそのまま出力したら\"となるのですが、
どうすれば\をつけずに表示や保存できるんですか?

366 名前:nobodyさん mailto:sage [2008/02/10(日) 19:57:48 ID:???]
magic_quote_gpcをoffにする

367 名前:nobodyさん mailto:sage [2008/02/10(日) 20:08:37 ID:???]
エー
それしか方法ないのですか?

368 名前:nobodyさん mailto:sage [2008/02/10(日) 20:10:21 ID:???]
あるよ

369 名前:nobodyさん mailto:sage [2008/02/10(日) 20:19:51 ID:???]
お願いします

370 名前:nobodyさん mailto:sage [2008/02/10(日) 20:42:46 ID:???]
>>369
jp.php.net/manual/ja/function.stripcslashes.php

371 名前:nobodyさん mailto:sage [2008/02/10(日) 20:43:34 ID:???]
>>369
jp.php.net/manual/ja/function.stripslashes.php

372 名前:nobodyさん mailto:sage [2008/02/10(日) 21:12:31 ID:???]
どうもです!解決しました。

stripcslashes(htmlspecialchars())っていう風につかったんだけどこれでいいのかな



373 名前:nobodyさん mailto:sage [2008/02/10(日) 21:21:05 ID:???]
>>372
順序は逆の方が良くないか?

374 名前:nobodyさん mailto:sage [2008/02/10(日) 22:06:12 ID:???]
ああ、phpには
"はフォームを通すと\\\"として送られてくるんですね
だから先に勝手につけられたスラッシュを消して
htmlspecialchars(stripcslashes($a, ENT_QUOTES)) とやれば"も'もHTML上できちんと表示できるようになりますね
勉強になりました

375 名前:nobodyさん [2008/02/10(日) 22:35:31 ID:rhutwfEM]
PHPないにプリントタグを使いたいんですが、
<BODY>
<?php
print <table>
print <tr>
<td>print"値"</td>
<td>print"値2"</td>
<td>print"演算"</td>
<td>print"答"</td>
print </tr>
print </table>
?>
</BODY>
</HTML>
だと、エラーがでます。だれかご教授ください・・・

376 名前:nobodyさん mailto:sage [2008/02/10(日) 22:37:08 ID:???]
>>375
参考ページをよく見て
違いを調べろw

377 名前:nobodyさん mailto:sage [2008/02/10(日) 22:39:38 ID:???]
ワロタw

378 名前:nobodyさん [2008/02/10(日) 22:40:35 ID:rhutwfEM]
>>376
すいません、テーブルタグでした。
申し訳ありませんが、参考ページを教えてくれますか?

379 名前:nobodyさん mailto:sage [2008/02/10(日) 22:43:46 ID:???]
>>378
どこでもいい。さがせw

380 名前:nobodyさん [2008/02/10(日) 22:48:34 ID:rhutwfEM]
>>378
わかりました。もう一日考えます。。。


381 名前:nobodyさん mailto:sage [2008/02/10(日) 22:48:39 ID:???]
基礎ってレベルじゃねえぞww

382 名前:nobodyさん mailto:sage [2008/02/10(日) 23:21:00 ID:???]
糞ってレベルだ



383 名前:nobodyさん mailto:sage [2008/02/10(日) 23:54:56 ID:???]
ひょっとしてこういう事がしたいのか?
だとしたら文法根本的に間違えてるだろうに。

<BODY>
<table>
<tr>
<td><?php print"値";?></td>
<td><?php print"値2";?></td>
<td><?php print"演算";?></td>
<td><?php print"答";?></td>
</tr>
</table>
</BODY>
</HTML>

384 名前:nobodyさん mailto:sage [2008/02/11(月) 00:20:01 ID:???]
なんというか…wwwwwww

解った後でもう一度このスレに来て自分の書き込み見てみろw

385 名前:nobodyさん mailto:sage [2008/02/11(月) 03:49:39 ID:???]
携帯とPCの振り分けをしたく思い
blogn.hustle-user.com/e19.htmlを参考にして、

index.htmlをindex.phpにリネームして、先頭に
<?php
$title="○○";
$page_e='www.○○/m/index.html';
$page_j='www.○○/m/index.html';
$page_i='www.○○/m/index.html';
$i=$_SERVER['HTTP_USER_AGENT'];

require_once('agent.txt');

?>
としました。そして携帯からアクセスしたところ無事振り分けることが出来ました。
しかしPCからみたら外部のcssを読み込んでいないようでページレイアウトが崩れてしまいました。
相対パスなのがいけないと思って、
<link href="http://○○/css/global.css" rel="stylesheet" type="text/css" />
と、絶対パスに書き換えましたが改善しませんでした。
そしてさらにわからないことに、ブラウザ(Sleipnir)で何回も読み込んでいると
5回に一階ぐらいきちんと読み込んで表示されるのです。

どういうことなのでしょうか。もしかしてphpの問題じゃなくhtmlの問題でしたら板違い申し訳ありません。


386 名前:nobodyさん mailto:sage [2008/02/11(月) 04:14:40 ID:???]
問題の切り分けオヌヌメ

387 名前:nobodyさん mailto:sage [2008/02/11(月) 05:29:22 ID:???]
そのコードでどうやったら振り分けられる方が興味あるなw

388 名前:385 mailto:sage [2008/02/11(月) 05:49:50 ID:???]
>>386
問題の切り分けですか。
まずCSSのパスは間違ってませんでした。

htmlや画像のリンクは相対パスでも問題なく通ってるんで
もしかしたらパスの問題ではないんでしょうか?

となると。。文字コードとかでしょうか・・?
ちなみにphpもcssもS-Jis、改行コードはCR+LFでした。


>>387
ふ、振り分けられないですか?
サイトを参考にしつつやってみたのですが・・


389 名前:nobodyさん mailto:sage [2008/02/11(月) 10:01:19 ID:???]
俺は>>387では無いが。
page_e, page_j, page_i 全部URLが一緒な件

390 名前:nobodyさん mailto:sage [2008/02/11(月) 11:04:25 ID:???]
>>389
いや、それは別にそういう作り方もあるから別にいいけど
そもそも参考したっていうサイトの内容が突っ込みどころが多すぎて…


391 名前:nobodyさん mailto:sage [2008/02/11(月) 11:10:17 ID:???]
ttp://blogn.hustle-user.com/e101.html
の処理に、腹抱えてワロタ

392 名前:nobodyさん mailto:sage [2008/02/11(月) 11:13:06 ID:???]
>>388
そこのサイトのはあんま参考にならんから別の探せw
あと火狐+火虫いれてCSSが適用されてるか確認しろ



393 名前:385 mailto:sage [2008/02/11(月) 17:22:49 ID:???]
返事が遅くなってしまい申し訳ありません。
>>389
あ、それはケータイのキャリア別に振りわけていないからです。。。
基本はみんなパソコンのメインサイトのindex.phpにアクセスしてもらって
ケータイの人は別のサイトに飛んでもらうってことで。。

なんか参考にしたサイトがまずかったようで。。。
もしおすすめなどあれば教えて頂けると嬉しいです。

>>392
firefoxはいれてないんで、今からいれて確認してみます。
ところで、火虫とは・・・?

394 名前:nobodyさん mailto:sage [2008/02/11(月) 17:30:47 ID:???]
> ところで、火虫とは・・・?
水虫のライバル。


395 名前:nobodyさん mailto:sage [2008/02/11(月) 17:57:57 ID:???]
火虫=FireBug

396 名前:385 mailto:sage [2008/02/11(月) 17:59:06 ID:???]
firefoxでみたところ問題なく見れました!

となると、IE側の問題になるのでしょうか?

そして火虫はわかりませんでした><

397 名前:385 mailto:sage [2008/02/11(月) 18:13:19 ID:???]
firefoxのアドオンでしたか。ありがとうございました。

398 名前:nobodyさん mailto:sage [2008/02/11(月) 20:29:28 ID:???]
fopen追記モード('a')で開いたファイルに追記したいとき
どうすれば改行してつなげていけますか?
たとえば
$fh = fopen($file, 'a');
fwrite($fh, "test\n");
としても改行してつないでくれません

399 名前:nobodyさん mailto:sage [2008/02/11(月) 20:42:17 ID:???]
改行してつなげるんだから、
fwrite($fh, "\n");
fwrite($fh, "test");
だろw

400 名前:nobodyさん mailto:sage [2008/02/11(月) 22:35:00 ID:???]
>>399
それでもできてませんよ
ためしてください

<?
$file = "test.txt";
$fh = fopen($file, 'a');
fwrite($fh, "\n");
fwrite($fh, "test");
fclose($fh);
?>

いやあ納得いきませんね
いちおうtest\nとやって書き込んで、ファイルを見ると最後は改行されている。
なのに書き込むときはなぜ改行されたところから始まらないのですか?

401 名前:nobodyさん mailto:sage [2008/02/11(月) 23:06:13 ID:???]
\r\nではどうだい?
もしくは 'ab'

402 名前:nobodyさん mailto:sage [2008/02/11(月) 23:07:39 ID:???]
あごめんabは勘違い。



403 名前:nobodyさん mailto:sage [2008/02/11(月) 23:17:32 ID:???]
だめですね

404 名前:nobodyさん mailto:sage [2008/02/11(月) 23:24:11 ID:???]
あれ、いや
できてました
どうもでした

405 名前:385 mailto:sage [2008/02/11(月) 23:42:52 ID:???]
解決しました!!

CSSの文字コードをきちんとしていなかったのが問題だったようです。
CSSの先頭に
@charset "shift_jis";
といれると解決しました。

phpじゃなかったですね。申し訳ないです。

406 名前:nobodyさん mailto:sage [2008/02/12(火) 03:40:48 ID:???]
>>385,398
  ,......,___                ___  お前初めてかここは?
  {  r-}"'';                    (,- ,_'',;  力抜けよ
__ノYv"-ァ'=;}                  ,_、 Y' リ''ー
  ヽー-ハ '、                 / キ}、 {"ー {⌒
  ト ハ  }      ,. -ー─-- 、___ /   ハノ`{  {
 ! ! !__! ,-、_    ,,( ,        ̄`ー、 /"''ー;ー'"
 |___|! !ー-ニー、;、;'""ノ';{  iー       ヽ=ニ=),..- '"
 K \ヽ !`ーニ'-、{  (e 人  |' ̄ ̄/`ー!  | /   /⌒
  \ヽ !、ヽ, "")ー-'"| !  |   |  /!  |___{,、  /  /
    \"'ヽ'ー-"  _! ||  }   ー─|  | / ヽ/  /
ニ=ー- `!!!'     ''''ー'"{  |     |  /  /`ー|\/
ーーーー'        _ | ./      ヽ__ /  | !


407 名前:nobodyさん mailto:sage [2008/02/18(月) 19:07:50 ID:???]
すみません下らない質問なのですが
<?php
$mysql=mysql_connect("localhost","user","password");
if(mysql_select_db("dbname", $mysql)){
print "OK";
}else{
print "NG";
}
?>
このようなソースを書いて(user passはサーバーのもの)
PHPとMYSQLがちゃんと動いているのか確認をしようとしたのですが
画面が真っ白になってエラーも帰ってきません。
PHP php-5.1.6-1.6
mysql mysql-5.0.27-1.fc5
FedoraCore5で
php-mbstring php-mysql php-gd php-devel mysql-serverなども全部入れています。
解決方法ご指南ください



408 名前:nobodyさん mailto:sage [2008/02/18(月) 21:17:53 ID:???]
>>407
display_errors = on

409 名前:nobodyさん mailto:sage [2008/02/18(月) 22:25:40 ID:???]
それとコンソールを試してみて
パスワードが通っていない感じのエラーが出ていました
ただ、パスワードは合っていて
コンソールで mysql -u user -pでログインが出来ている状態です
/etc/hosts にもデータベース名は記述してあり(localhost)
なんで通らないのかわからなくなっています

今まで使っていたときは大丈夫で
突然この状態になってしまいました。

どなたかお願いします…

410 名前:nobodyさん mailto:sage [2008/02/19(火) 02:56:13 ID:???]
それだけの情報で聞いたって誰も分からない

411 名前:nobodyさん mailto:age [2008/02/19(火) 10:06:45 ID:???]
すみません、質問です。
PHPには、.NET Framework の ADO.NET のように、自作した csv ファイルに SQL 文で
データを抽出することは可能なのでしょうか。
以下のサイトのような感じで動かす場合です。
ttp://park5.wakwak.com/~weblab/selectTextFile.html

一般的なテキストファイルを開いたり、書き込んだりする方法とは別という意味です。
こういった方法以外でという意味です。
$fh = fopen("csv.txt", "r");
$line = fgets($fh, 1024);
// ここで$lineの条件を調べる。
fclose($fh);

ヒントとなるキーワードでもいいので、お願いします。

412 名前:nobodyさん mailto:sage [2008/02/19(火) 10:26:38 ID:???]
PEAR::Structures_DataGrid_DataSource_CSV   ・・か?



413 名前:nobodyさん mailto:sage [2008/02/19(火) 12:43:40 ID:???]
>>410
よく情報が足りないといわれるのですが
どこら辺が足りないですか
>>407でバージョンやOSも書いてますが
エラーはサーバーから離れていたので書けなかったですが

後学のためにもお願いします

414 名前:nobodyさん mailto:sage [2008/02/19(火) 13:02:22 ID:???]
>>413
そういうところ

415 名前:nobodyさん mailto:age [2008/02/19(火) 14:47:53 ID:???]
>>412
ありがとうございました。

416 名前:nobodyさん mailto:sage [2008/02/19(火) 19:38:04 ID:???]
変テコなPHP Shell見つけたんだがどう思う?
kissho.xii.jp/1/src/1jyou27419.txt.html

417 名前:nobodyさん mailto:sage [2008/02/19(火) 20:44:23 ID:???]
>>416
よくわからんが、こんなコードがある時点でろくなもんじゃない
if(file_exists("B:\\")){
echo "<center><a href='./$this_file?dir=B:\\'>B:\\</a></center>";
} else {}
if(file_exists("C:\\")){
echo "<center><a href='./$this_file?dir=C:\\'>C:\\</a></center>";
} else {}
if (file_exists("D:\\")){
echo "<center><a href='./$this_file?dir=D:\\'>D:\\</a></center>";
} else {}
if (file_exists("E:\\")){
echo "<center><a href='./$this_file?dir=E:\\'>E:\\</a></center>";
} else {}
if (file_exists("F:\\")){
echo "<center><a href='./$this_file?dir=F:\\'>F:\\</a></center>";
} else {}
if (file_exists("G:\\")){
echo "<center><a href='./$this_file?dir=G:\\'>G:\\</a></center>";
} else {}
if (file_exists("H:\\")){
echo "<center><a href='./$this_file?dir=H:\\'>H:\\</a></center>";
} else {}


418 名前:nobodyさん mailto:sage [2008/02/21(木) 03:11:11 ID:???]
ShiftJISのCSV形式を読んで、EUC文字コードに変換したいんですが、
Windowsの拡張漢字(IBM拡張やNEC拡張)や、外字領域も
きっちり対応してくれるような、関数とかないんでしょうか?


419 名前:nobodyさん mailto:sage [2008/02/21(木) 03:39:48 ID:???]
そんなマニアックな文字まで対応してる関数はない

420 名前:nobodyさん [2008/02/21(木) 04:46:45 ID:uBvv/k1H]
すみません、質問です。。。
XAMPPをインストール後に以下の手順でエラーがでてしまうのですが、何が原因なのでしょうか???

1. Terminal shellに行って、システム管理者ルートでログインします。
sudo su

2. XAMPPをスタートするには、このコマンドをコールしてください:
/Applications/xampp/xamppfiles/mampp start

ここで、このような感じのエラーメッセージがでていまいます。
(No such file or directory, errno = 2)
XAMPP: Error 133! Couln't start ProFTPD!

ちなみにこの段階でXAMPP Control Panelを起動しようとすると「このシステムとは互換性がないためアプリケーションを起動できません」とメッセージが出てしまいます。

OSはMacOSX.2.8で、インストールしたのがXAMPP Mac OS X 0.7.2です。PHP使用以前の問題で恐縮ですがとても困っていますのでどなたかよろしくおねがいします。

421 名前:nobodyさん mailto:sage [2008/02/21(木) 08:00:49 ID:???]
This version is for Mac OS X 10.4 (Intel&PPC) and higher.

422 名前:420 [2008/02/21(木) 15:40:03 ID:uBvv/k1H]
ガーン。。。ということはXAMPPは使えないのですネ。
ありがとうございました。。。



423 名前:nobodyさん mailto:sage [2008/02/21(木) 20:36:09 ID:???]
xamppなんて使うなや

424 名前:nobodyさん mailto:sage [2008/02/21(木) 21:13:13 ID:???]
それをいうのなら、Macなんて使うなよ。が正しい。

425 名前:nobodyさん [2008/02/21(木) 22:15:59 ID:FbPK8kbc]
現在携帯メール(添付画像付き)をメールサーバーから転送させて、PHPで処理してDBに保存するということをやろうとしてるのですが、
なぜか本文とか件名が化けてしまいます。

文字化け
「あ」→「$B$"(B」

このサイトを参考にしてます。
www.phppro.jp/phptips/archives/vol35/1

改行コードが「LFのみ」にしてるからかな?と思うのですが、わかりません。
ご教授お願いします。

426 名前:nobodyさん mailto:sage [2008/02/21(木) 22:17:02 ID:???]
Winよりはマシだけどな(PHPインストール環境として)

427 名前:nobodyさん mailto:sage [2008/02/21(木) 22:19:36 ID:???]
>>425
文字コードを変換しなされ

428 名前:nobodyさん [2008/02/21(木) 22:29:31 ID:FbPK8kbc]
>>427

sjis,EUC,utf-8に変更したんですが、何も変わりません。。。

429 名前:nobodyさん mailto:sage [2008/02/21(木) 22:37:31 ID:???]
意味がわからん

430 名前:nobodyさん mailto:sage [2008/02/21(木) 22:40:10 ID:???]
つ mb_decode_mimeheader, mb_internal_encoding

431 名前:nobodyさん [2008/02/21(木) 22:56:44 ID:FbPK8kbc]
すみません。意味不明で。。。

とりあえず33行目から変更してみたんですが、今度はなにも表示されなくなってしまいました。

33 switch(strtolower($structure->ctype_primary)){
34 case "text": // シングルパート(テキストのみ)
35 $diary_body = $structure->body;
36 $diary_body = mb_decode_mimeheader( $diary_body , 'ISO-2022-JP');

あと言い忘れたんですけど、スクリプトはSJIS、DBもSJISでやってます。

432 名前:nobodyさん mailto:sage [2008/02/21(木) 23:00:32 ID:???]
本文ならmimeheaderじゃねーし。
header見て文字コードが何か確かめてSJISに変換しなされ



433 名前:nobodyさん mailto:sage [2008/02/21(木) 23:10:41 ID:???]
あとスクリプトSJISで書くのは今すぐやめろ

434 名前:nobodyさん [2008/02/21(木) 23:14:40 ID:FbPK8kbc]
SJISで書いちゃ駄目なんですか!?
すみません!!

あと>>432さんの書き込みの意味がわかないんですが、具体的にはどうすればいいんでしょうか?


435 名前:nobodyさん [2008/02/21(木) 23:57:05 ID:FbPK8kbc]
自己解決できました。
ご迷惑欠けて申し訳ありませんでした。

436 名前:nobodyさん mailto:sage [2008/02/26(火) 00:15:23 ID:???]
>>431
可能です。
以上。
はい、次。

437 名前:nobodyさん [2008/02/26(火) 22:29:16 ID:8JcMjBPY]
for ($i=0, $n=100000000; $i<$n; $i++ ) {
$str = $i;
}

こうすると$strには0〜99999999が入りますが、a〜zzzzzzzzまでを$strに入れるにはどう書けばよいのでしょうか?

438 名前:nobodyさん mailto:sage [2008/02/26(火) 23:24:57 ID:???]
アルファベット進数?つまり26進数とかになるのか。
aを0、bを1、cを2・・・て対応させればとりあえず入るな。


439 名前:nobodyさん mailto:sage [2008/02/27(水) 00:33:52 ID:???]
for ($i='a', $n='zzzzzzzz'; $i<=$n; $i++ ) {
$str[] = $i;
}

440 名前:nobodyさん mailto:sage [2008/02/27(水) 04:32:26 ID:???]
>>473
パスワード総当り攻撃の相談でつか?

441 名前:nobodyさん mailto:sage [2008/02/27(水) 04:36:01 ID:???]
1桁増やすごとに計算量が莫大に増加していく恐怖を味わうとよいわ

442 名前:nobodyさん mailto:sage [2008/02/27(水) 13:31:31 ID:???]
>>439
ネタかと思ってやってみたら本当に動きました
文字列をプラスするとこういうことになるんですね
ありがとうございました



443 名前:nobodyさん mailto:sage [2008/02/27(水) 17:43:11 ID:???]
質問です!
「form.html内のinputタグで送信した値をpost.php内の<?= $_post["abc"]  ?>で表示させる。」
ですが、

「phpファイルではなく、htmlファイル内で表示させる」
にはどうすればいいのでしょうか?

1回の入力で、複数ページ共通ヘッダの「更新日」が変更できたらいいな、と考えております。
きっと超基本的な事柄なのでしょうけれど、ネット上でもなかなか見つからないので...。

よろしくお願いします。

444 名前:nobodyさん mailto:sage [2008/02/27(水) 19:05:32 ID:???]
Webサーバの設定で拡張子「.html」もphpで動くようにして<?= $_post["abc"] ?>

445 名前:nobodyさん mailto:sage [2008/02/27(水) 19:12:22 ID:???]
444>>
なるほど、設定が必要なんですね。
助かりました。
ありがとうございます。

446 名前:nobodyさん mailto:sage [2008/02/27(水) 20:15:02 ID:???]
>>445
SSIって手もあるよ

447 名前:nobodyさん mailto:sage [2008/02/27(水) 20:37:33 ID:???]
>>446
ありがとうございます。
勉強してみます!

448 名前:nobodyさん mailto:sage [2008/02/28(木) 00:23:44 ID:???]
ど素人の質問です。
以下のPHPを作ったところ、画面が真っ白になりました。
真っ白=エラー無しと思い、tablenameを確認したところデータが入っていませんでした。
>>407と同じエラーかと思い、>>408を確認したところONになっていました。
自分では原因がわからないため、どなたかご指摘願えないでしょうか。

<作っているつもりのもの>
別ページのフォームから送信(reg)されたデータを、データベースに入れるPHP。
環境…SQL=PostgreSQL OS=Linux PHP=5.2.5 
確認…FireFox
$con = pg_connect('dbname host user password');
$a = $_POST["a"];$b =$_POST["b"];$c = $_POST["c"];
if(isset($_POST["reg"])){
$sql = "select max(log) from tablename";
$result = pg_query($con,$sql);
$array = pg_fetch_array($result);
$new_log_no = $array[0] + 1;
$sql = "select current_timestamp";
$result_date = pg_query($con,$sql);
$in_date = pg_fetch_array($result_date);
if(isset($_POST["b"])){ $d = $b; } else { $d = $c; }
$sql = "insert into tablename (log,a,d,_in_date)
         values('$new_log_no','$a','$d','$in_date')";}
else{ header("Location: menu.php"); }
if(!$result){ echo "送信に失敗しました";}


449 名前:nobodyさん mailto:sage [2008/02/28(木) 00:40:01 ID:???]
Apacheのログは?
あとプログラムのどこまで実行したら真っ白になるか切り分けてみたら?

450 名前:nobodyさん mailto:sage [2008/02/28(木) 01:14:23 ID:???]
>>449
レスありがとうございます。
AccessLogはこうなっていました。
127.0.0.1 - username [28/Feb/2008:00:59:35 +0900] "GET /test/in.php HTTP/1.1" 200 555
127.0.0.1 - username [28/Feb/2008:00:59:41 +0900] "POST /test/in_date.php HTTP/1.1" 200 5
in.phpがフォーム、in_dateが問題のPHPです。
よくわからないですが、データベースに問い合わせていない?気がするので調べてみます。

451 名前:nobodyさん mailto:sage [2008/02/28(木) 01:43:16 ID:???]
php として動作してないだけじゃ?
httpd.conf とか確認してみたら?

452 名前:448 mailto:sage [2008/02/28(木) 02:15:26 ID:???]
>>451
httpd.confは本を参考に次のように設定追加してます。

AddType application/x-httpd-php .php



453 名前:nobodyさん mailto:sage [2008/02/28(木) 02:48:59 ID:???]
あとは、デバッグの基本中の基本。チェックライト入れまくる

454 名前:nobodyさん mailto:sage [2008/02/28(木) 14:23:55 ID:???]
つーか、LoadModuleしてるのか?

455 名前:448 mailto:sage [2008/02/28(木) 19:24:05 ID:???]
亀レスになってしまい申し訳ありません。

$sql = "insert into tablename (log,a,d,_in_date)
    values('$new_log_no','$a','$d','$in_date')";}
の部分のSQLに対し
pg_query($con,$sql);
を設定するとテーブルにデータを追加することが出来ました。
しかし作成されたデータは中身が空でしたorz
insertが動いてるのでPHPとデータベースの連携は取れてると思います。

>>454
Loaded Modulesを調べた所次の通りの結果でした。
mod_php5, mod_setenvif, mod_so, mod_auth, mod_access,
mod_alias, mod_userdir, mod_actions, mod_imap, mod_asis,
mod_cgi, mod_dir, mod_autoindex, mod_include, mod_status,
Momod_negotiation, mod_mime, mod_log_config, mod_env, http_core


456 名前:nobodyさん mailto:sage [2008/02/28(木) 19:36:50 ID:???]
>>449

457 名前:nobodyさん mailto:sage [2008/02/29(金) 10:18:45 ID:???]
つーか、まずはHTMLしかないphpを書いて試すとか
白紙のときにブラウザの機能でソース見るとどうなってるとか
いろいろやってんのかな

458 名前:nobodyさん mailto:sage [2008/03/05(水) 16:03:25 ID:???]
だいぶ前にログナンバーを引っ張り出して重複せずに+1したいと
言っていたものですがa+モードとファイルロックのタイミングで
何とか実現できました。
その後に続くwモードのファイルーオープンで
ログ数を調整しようと思ったのですが
この処理を付けるとログが全部消えてしまいます。
何か間違えていますか?

459 名前:458の続き mailto:sage [2008/03/05(水) 16:05:57 ID:???]
//指定行数以上のログの削除
$delfilename = ('card-walin.txt');
$dellines = file($delfilename);
$delcountlines = count($dellines);
$yojyou = $delcountlines - 2;
$delhandle = fopen($filename, "w");
$delnewlog = "";
flock($delhandle,LOCK_EX);
for ($i = $delcountlines; $i <= $yojyou; $i--) {
array_unshift($delnewlog, $dellines[$i]);
}
fwrite($delhandle,$delnewlog);
flock($delhandle,LOCK_UN);
fclose($delhandle);

460 名前:458の改正 mailto:sage [2008/03/05(水) 16:41:48 ID:???]
すいません、これで。
ログ二行以上ならログの先頭から余剰分消していくと言う感じで

//指定行数以上のログの削除
$delfilename = ('card-walin.txt');
$dellines = file($delfilename);
$delcountlines = count($dellines);
if ($delcountlines > 2) {
$yojyou = $delcountlines - 2;
} else {
$yojyou = 0;
}
$delhandle = fopen($delfilename, "w");
flock($delhandle,LOCK_EX);
$delnewlog = "";
for ($i = $delcountlines; $i <= $yojyou; $i--) {
fwrite($delnewlog, $dellines[$i]);
}
flock($delhandle,LOCK_UN);
fclose($delhandle);

461 名前:nobodyさん [2008/03/05(水) 16:42:58 ID:bSWg3SQN]
実行スクリプトまでのサーバーのフルパスを下記のように取っております
この書き方だとファイル名test.phpを他の名前にするたびに$this_script_nameを書換えないといけません
ファイル名を書換えてもソースを変えずにフルパスを取得する書き方を教えてください


$this_script_name = 'test.php';
$full_path = ereg_replace($this_script_name ,'' ,$_SERVER['SCRIPT_FILENAME']);

462 名前:nobodyさん [2008/03/05(水) 16:58:07 ID:OQixiW/q]
レンタルサーバ・無料スペースに依存せずにPEARを使いたいのですが・・・

ググってみると”必要ファイルをコピーして ini_set や .htaccess を使えば良い”
との事ですが、どこまでが必要ファイルなのか良く分かりませんでした
(ローカルにインストールしたPEARディレクトリ丸ごとホームディレクトリにコピーなのか
installコマンドでダウンロードしたファイルだけコピーなのか)

質問は最初の一行の通りなのですがPEARを使うにはどのファイルが必要なのでしょうか?



463 名前:nobodyさん mailto:sage [2008/03/05(水) 17:09:24 ID:???]
>>461
dirname(__FILE__)

464 名前:nobodyさん [2008/03/05(水) 17:16:55 ID:bSWg3SQN]
>>463
おおお できました
これだけで出来るとわ・・・
ありがとうございました

465 名前:nobodyさん mailto:sage [2008/03/08(土) 00:22:24 ID:???]
掲示板の削除なんですが下記操作してからファイルロックかけて書き込むと
場合によっては重複しませんか?

if ($_POST['delete']) {
for ($i = 0; $i < count($lines); $i++) {
$items = explode("\t", $lines[$i]);
if ($items[0] == $_POST['delradio'] && $items[4] == $_POST['delkey2'] || $items[0] == $_POST['delradio'] && 'masterpass' == $_POST['delkey2']) {
array_splice($lines, $i, 1);
}
}
}

466 名前:nobodyさん mailto:sage [2008/03/08(土) 07:01:18 ID:???]
>>465
if (isset($_POST['delete']) && $_POST['delete']) {
 foreach ($lines as $key => $value) {
  $items = explode("\t", $value);
  if ($items[0] == $_POST['delradio'] && ($items[4] == $_POST['delkey2'] || 'masterpass' == $_POST['delkey2'])) {
   unset($lines[$key]);
  }
 }
}

書き込みの部分を見ないとなんとも言えない

467 名前:466 mailto:sage [2008/03/08(土) 11:35:25 ID:???]
if($_POST['deletion']){
$deletionlogname = ('card-walin.txt');
$deletionloglines = file($deletionlogname);
$deletioncountloglines = count($deletionloglines);
$deletionlognumbers = $deletioncountloglines - 1;
$deletionfopen = fopen($deletionlogname, "w");
flock($deletionfopen,LOCK_EX);
for($i=0; $i<$deletionlognumbers; $i++){
$deletionlogitems = explode("\t", $deletionloglines[$i]);
if($deletionlogitems[0]==$_POST['deletionradio'] && $deletionlogitems[3]==$_POST['deletionkey'] || $deletionlogitems[0]==$_POST['deletionradio'] && 'masterpass'==$_POST['deletionkey']){
continue;
}else{
fwrite($deletionfopen,$deletionloglines[$i]);
}
}
flock($deletionfopen,LOCK_UN);
fclose($deletionfopen);
}

468 名前:nobodyさん mailto:sage [2008/03/08(土) 11:41:55 ID:???]
$deletionlogname = ('card-walin.txt');
何これ

469 名前:465 mailto:sage [2008/03/08(土) 11:42:09 ID:???]
>>467>>465が書いたものです、アンカー打ち間違えた・・・・・
んでこれは記事の固有IDとパスが一致した行を削除と言う流れで
書いてるんですがどうも訳わからん記事まで削除されてしまいます。
>>465の質問とあわせてアドバイス頂けないでしょうか?

470 名前:465 mailto:sage [2008/03/08(土) 11:43:33 ID:???]
>>468
ログの名前です、
変数名の英語的意味めちゃくちゃなのは
とりあえず別の変数と重ならなくさせるためなので
ご勘弁を。

471 名前:nobodyさん mailto:sage [2008/03/08(土) 11:44:26 ID:???]
パスワードがどれかすら分からんし

472 名前:465 mailto:sage [2008/03/08(土) 11:44:56 ID:???]
$number\t$name\t$comment\t$deletionkey\t$time\n

ログの並びはこんな感じです。



473 名前:465 mailto:sage [2008/03/08(土) 11:46:30 ID:???]
$deletionlogitems[0]がパスワード、
POST['deletionradio']が記事の固有IDになります、
説明不足ですいません。

474 名前:nobodyさん mailto:sage [2008/03/08(土) 11:51:30 ID:???]
なんでログの件数ー1だけforでループしてんの?

475 名前:465 mailto:sage [2008/03/08(土) 11:56:53 ID:???]
>>474
その部分もしログが0だった場合とか書いてませんね、迂闊でした。
ログの記事数のカウントが0から始まるのでそうやってみたのですが・・・・・

476 名前:nobodyさん mailto:sage [2008/03/08(土) 12:01:17 ID:???]
訳分からん記事ってどういうの?

477 名前:465 mailto:sage [2008/03/08(土) 12:06:56 ID:???]
関係ない別の固有IDの記事まで消えるんですよね、
例えば記事が3つあって、3つめの記事で固有ID3の記事を削除したら
1つめの記事も同時に消えたりします。

478 名前:nobodyさん mailto:sage [2008/03/08(土) 12:08:50 ID:???]
1つめの記事が消えないこともあんの?

479 名前:465 mailto:sage [2008/03/08(土) 12:17:38 ID:???]
>>478
今試したら記事3つのログで2つめの記事消したら
3の記事も同時に消えました。
つかその後、削除ボタン押したら全部消えたw
どうも記事固有IDとパスワード一致しなかった場合書き換えしないと言う
処理が抜けてたようです。
ただこれを直しても記事の同時消えが直る気がしない・・・・
ロジック的には大体上にあげたプログラムである程度あってるのでしょうかね。

480 名前:nobodyさん mailto:sage [2008/03/08(土) 12:26:00 ID:???]
データベースにおいて、データは物理的に削除するのではなく、
フラグ変更することをお薦めする。



481 名前:465 mailto:sage [2008/03/08(土) 12:30:46 ID:???]
>>480
表示するかしないかで処理するということですか。

482 名前:nobodyさん mailto:sage [2008/03/08(土) 14:00:31 ID:???]
>>481
データベースの場合だ
ファイルの場合は消した方がいいよ
速度変わってくるし



483 名前:nobodyさん mailto:sage [2008/03/08(土) 14:14:06 ID:???]
じゃ別に今言うべき話じゃないだろw

484 名前:nobodyさん mailto:sage [2008/03/08(土) 14:15:28 ID:???]
>>483
俺が言ったんじゃないw

485 名前:nobodyさん mailto:sage [2008/03/08(土) 14:46:24 ID:???]
まず
||と&&の使い方を覚えよう
466でも書いたけど(最初のifで要らん部分あるけどw)
ループ中にある
if ($items[0] == $_POST['delradio'] && $items[4] == $_POST['delkey2'] || $items[0] == $_POST['delradio'] && 'masterpass' == $_POST['delkey2']) {
これは変です(処理的には通るけど)
  if ($items[0] == $_POST['delradio'] && ($items[4] == $_POST['delkey2'] || 'masterpass' == $_POST['delkey2'])) {
やりたい事は多分これ
んで、POST内容は意図したものがきてるの?


486 名前:nobodyさん mailto:sage [2008/03/08(土) 14:52:21 ID:???]
>>484
お前に言ってないw

487 名前:465 mailto:sage [2008/03/08(土) 16:30:22 ID:???]
なにやらすごい間違いをしてました・・・・・・・・・
$items[4]がパス格納部じゃなくて$items[3]でした・・・・・・・・
今から皆さんにご指摘頂いた部分の修正に入ります、
本当にすいませんでした。

488 名前:nobodyさん mailto:sage [2008/03/08(土) 16:36:16 ID:???]
>>486
俺にか?

489 名前:465 mailto:sage [2008/03/08(土) 16:38:20 ID:???]
なんだか喧嘩させてしまったようで申し訳ない・・・・・

490 名前:nobodyさん mailto:sage [2008/03/08(土) 17:05:38 ID:???]
架空請求の詐欺師が特定されてるよw
2ch.pne.jp/img/jpg/w_h/img_cache_d_180941_1_1204957189_jpg.jpg

【ユビキタス銀河】 詐欺師プログラマー 武田洋幸
pc11.2ch.net/test/read.cgi/antispam/1204457908/l50

491 名前:nobodyさん mailto:sage [2008/03/08(土) 17:42:02 ID:???]
何度も投稿すいません、掲示板で書き込んだ後ブラウザの更新ボタン押すと
もう一度書き込まれてしまうのですがこれを防止するのは2重書き込み防止処理だけでいいのでしょうか?
これだとたまに別の人が書き込んだ後に更新押した場合
書き込まれちゃいますよね。
皆さん過去ログの内容走査処理したりしてるのでしょうか?

492 名前:nobodyさん mailto:sage [2008/03/08(土) 17:53:28 ID:???]
>>491
書き込んだ後ブラウザを強制的に閉じるようにしたら更新できなくなるよ



493 名前:nobodyさん mailto:sage [2008/03/08(土) 18:01:26 ID:???]
そんな〜、ドラえも〜ん!

494 名前:nobodyさん mailto:sage [2008/03/08(土) 18:26:21 ID:???]
a.html←フォーム
b.php←post先
c.php←投稿完了しました表示

b.phpで投稿完了したら
header('Location : example.com/c.php');

これでa.htmlまで戻るとかで戻らない限り2重投稿はある程度防げる



495 名前:nobodyさん mailto:sage [2008/03/08(土) 18:29:46 ID:???]
なるほど、そういうことでしたか、取り乱しました。
html作成せずにphp1つだけで全部やろうとしてもややこしそうですね・・・・・

496 名前:nobodyさん mailto:sage [2008/03/08(土) 18:50:31 ID:???]
>>495
別にhtml作らなくてもできるけど
ファイルは分けたほうが後々良いよ

497 名前:nobodyさん mailto:sage [2008/03/08(土) 21:58:57 ID:???]
>>495
だまされるな!
ドラえもん呼ぶのが正解だ

498 名前:nobodyさん mailto:sage [2008/03/08(土) 23:16:31 ID:???]
htmlってどうやって作るんでしたっけ?
なんかリファレンス読んでも見つからないのですが。

499 名前:nobodyさん [2008/03/09(日) 01:35:03 ID:BZEq18rG]
target.phpをインラインフレームで表示するためのページをget.phpとします
その際にをtarget.phpへ送るリファラを example.com とするにはどうしたらいいのでしょうか。
過去ログを探して、
ヘッダに ""Referer: example.com\r\n" を追加すればいいと書いてあったのですが、
どのように追加したらいいのかがわかりません
location みたいな書き方が思い浮かんだのでやってみましたができませんでした。
正しいやり方を教えてください。お願いします。
-------------------------------------

【get.php】
<?php
header("Referer: example.com\r\n");
?>
<iframe src="target.php">
</iframe>
-------------------------------

【target.php】
<?php
echo $_SERVER["HTTP_REFERER"];
?>
-------------------------------

get.phpの実行結果

****.jp/get.php

500 名前:nobodyさん mailto:sage [2008/03/09(日) 02:10:54 ID:???]
>>499
【get.php】
<?php
echo '<iframe src="target.php?referer='.$_SERVER["HTTP_REFERER"].'"></iframe>';
?>

【target.php】
<?php
echo $_GET["referer"];
?>


501 名前:nobodyさん [2008/03/09(日) 02:31:20 ID:BZEq18rG]
>>500
せっかく答えていただいたのに恐縮ですが、
それはget.phpで取得したリファラをtarget.phpへgetメソッドで渡す方法ですよね

私が知りたいのは、
get.phpでtarget.phpを開くけれども、
target.phpで取得されるリファラはget.phpではなく、example.com にしたいということなのです
印象の良くない言葉なので使いたくはなかったのですが、つまり、リファラ偽装ということです

書き方悪くてすいません

502 名前:nobodyさん mailto:sage [2008/03/09(日) 02:41:06 ID:???]
>>501
example.com
これは固定値かそれともget.phpで取得できる値かどっち?

get.phpで取得するリファラの値なら方法は無いよ?
get,php内でgetのリクエストをtarget.phpに宛てに投げて
その時のヘッダにリファラ偽装して渡すとかなら可能だけど



503 名前:nobodyさん [2008/03/09(日) 03:08:23 ID:BZEq18rG]
>>502
説明不足で本当にすいません
固定値です


504 名前:nobodyさん mailto:sage [2008/03/09(日) 04:55:14 ID:???]
>>503
ファイルに対してアクセスあった場合
強制的に.htaccessとかでSetEnvとかかなぁ・・・

もしiframeのが別のサイトなら
getのリクエスト投げた方が早い

505 名前:nobodyさん mailto:sage [2008/03/09(日) 05:16:16 ID:???]
変数に0入れてその後の分岐にNULLかどうかとか入れたら
0はNULLやfalseと判定されますか?
その変数を変数-1としても-1とはならない?

506 名前:nobodyさん mailto:sage [2008/03/09(日) 05:24:57 ID:???]
===で比較すれば判定されない。
変数=0
変数=変数−1としたら変数の中身は−1になる。

507 名前:nobodyさん mailto:sage [2008/03/09(日) 05:29:10 ID:???]
型の自動変換に頼った比較は避けた方がベター。

508 名前:nobodyさん mailto:sage [2008/03/09(日) 05:31:25 ID:???]
どうもすいません、ありがとうございました。

509 名前:nobodyさん [2008/03/09(日) 14:05:48 ID:BZEq18rG]
>>504
いろいろなアドバイスありがとうございます

target.phpが別のサイトなら、
target.phpのソースは
<?php
echo $_SERVER["HTTP_REFERER"];
?>
なのは弄りようがないわけですが、

target.phpの $_SERVER["HTTP_REFERER"]の値をexample.comであると認識させるためには、
get.phpからどうやってgetのリクエストを投げればいいのでしょうか

510 名前:nobodyさん mailto:sage [2008/03/09(日) 14:17:24 ID:???]
>>509
GETと環境変数は別

511 名前:nobodyさん [2008/03/09(日) 14:34:13 ID:BZEq18rG]
>>510
ありがとうございます
つまり、getでリクエスト投げても、相手で表示される環境変数は変わらないわけですよね

どうすれば
get.phpでインラインフレームでtarget.phpを表示し、
target.phpの $_SERVER["HTTP_REFERER"]の値をexample.comtにできるのでしょうか
やり方がさっぱりわからないのです

512 名前:nobodyさん mailto:sage [2008/03/09(日) 15:24:27 ID:???]
>>511
getでリクエスト投げる時にリファラ偽装すれば
リファラには固定値を入れる事ができる

だがインラインフレームでやるのは無理
それをインラインフレームでやる必要あるの?

どうしてもやりたいなら
.htaccessにSetEnvってのがあって
それを使ってtarget.phpにアクセスがあった場合
強制的にリファラを書き換えてやれば良い




513 名前:nobodyさん [2008/03/09(日) 16:02:31 ID:BZEq18rG]
>>512
インラインフレームでしようとしていた理由は、
自分がやりたいことを考えた時に一番実現しやすそうだと思ったからです
それが無理ならばインラインフレームでやることはありません

>getでリクエスト投げる時にリファラ偽装すれば
ここのやり方を教えてもらえないでしょうか
getはわかりますが、リファラ偽装の部分がわからないのです

514 名前:nobodyさん mailto:sage [2008/03/09(日) 16:26:44 ID:???]
>>513
pearのhttp_requestかcurlが楽じゃないかな
普通にfsockopenとかでopenして投げる事もできるけど
<?php
$request .= "GET / HTTP/1.0\r\n";
$request .= "Host: localhost.jp\r\n";
$request .= "Content-Type: application/x-www-form-urlencoded\r\n";
$request .= "Accept: */*\r\n" .
        "Referer: hogehoge.jp/\r\n" .
        "User-Agent: DoCoMo/2.0 Fa2(c100;TB;W28H15)\r\n";
$request .= "\r\n";
$request .= "\r\n";

$fp = fsockopen("yahoo.co.jp", 80, $errno, $errstr, 30);
fputs($fp, $request);
$response = "";
while (!feof($fp)) {
    echo fgets($fp, 4096);
}
fclose($fp);
?>

こんな感じでやふーのトップをもってこれる

515 名前:nobodyさん [2008/03/09(日) 16:49:24 ID:BZEq18rG]
>>514
ありがとうございます

私のくどい質問に回答続けてくれた方に感謝します

516 名前:nobodyさん [2008/03/10(月) 01:54:10 ID:HGPlOVh9]
PHP + MySQL でスレッド式掲示板を作りました。
スレッド毎にテーブルを作成し、そのテーブルにコメント(&投稿者名など)を記録、
すべてのテーブルを管理するテーブルに最終投稿日時などを記録して、スレッド順位などを決めます。
以下、コメントを投稿した時の部分のスクリプト。

$comm = addslashes($_POST['comm']); //コメント
$id = addslashes($_POST['id']); //テーブルID
$name = addslashes($_POST['name']); //投稿者名
if($_POST['sage'] == NULL){$sage = 0;} else {$sage = 1;}
if($name == NULL){$page_disp = "名前を入力してください。";
} else {
if($comm == NULL){$page_disp = "本文を入力してください。";
} else {
insert_comment($id,$name,$comm,&$seq,$res_dbcon,&$result); //スレッド(テーブル)にコメントを書き込み
if($result == FALSE){$page_disp = "投稿に失敗しました。";
} else {
update_temp_table($id,$sage,$seq,$res_dbcon,$result);//管理テーブルに投稿日時などを記録
$page_disp = "投稿しました。";}}}

PCからのアクセスと、DOCOMO、auからは期待した通りの動作をしていますが、softbank携帯からのみ、動作がおかしくなっています。

症状としては、$name、$commといった変数を受け取れず(?)、テーブルには各カラムのNULLになったレコードが追加される。
テーブルの更新、レコードの追加は行われているので、CURRENT TIMESTAMPなどはちゃんと入っている。
管理テーブルは更新されているので、各変数のNULLのチェックは通過している。
という状態です。スクリプト上におかしい箇所などあるでしょうか?

ちなみにPHP、MySQLの勉強は先月始めたばかりで、この掲示板のスクリプトは、本などを読んで作ったオリジナルのものです。
よろしくお願いいたします。

517 名前:nobodyさん mailto:sage [2008/03/10(月) 02:14:45 ID:???]
すみません。サブルーチンの中身を書いてなかったです。

function insert_comment($tbl_id,$name,$comm,$seq,$dbcon,$result){//コメント追加
$l_sql = "SELECT count( * ) FROM `".$tbl_id."`";
$l_result = mysql_query($l_sql,$dbcon);
$l_row = mysql_fetch_array($l_result);
$seq = $l_row[0] + 1;
$f_host = gethostbyaddr(getenv("REMOTE_ADDR"));
$sql = "insert into `".$tbl_id."` (c_seq, c_time, c_name, c_comm, c_host, c_del_flg) VALUES (".$seq.", NOW( ), '".$name."', '".$comm."', '".$f_host."', '0' )";
$result = mysql_query($sql,$dbcon);
}

function update_temp_table($tbl_id,$sage,$seq,$f_dbcon,$f_result){//スレッド更新(管理テーブル更新)
if($seq == 300){ $del_flg = 1;} else { $del_flg = 0;} //規定レス数に達したスレは終了
$sql = "update t_temp_table set c_count_comment = ".$seq." , c_del_flg = '".$del_flg."' where c_table_id = ".$tbl_id;
$f_result = mysql_query($sql,$f_dbcon);
}


518 名前:nobodyさん mailto:sage [2008/03/10(月) 02:20:25 ID:???]
>>516
softbankのチェックした機種は何?
多分表示側の問題だとは思うけど

それと、1スレッド1テーブルはやめた方が良い
ファイルベースの設計なら1スレッド1ファイルの方が良いが・・・

519 名前:516 mailto:sage [2008/03/10(月) 02:40:11 ID:???]
機種はちょっと分からないんですよね。
ログ見てみたらソフトバンクだな、ってのが分かったというだけで。

しかも、その方が問い合わせフォームからメールも送ってくれたんだけど、
それがまた見事に文字化けしていて全く見れない状態です。
(これもまたDOCOMO、auは正常動作。)

1スレッド1テーブルが良くないというのは、パフォーマンスとかCPU占有とかいう話でしょうか?
素人考えで、一つのテーブルのみが異常にレコード数多くなるよりいいかな、と思ったのですが…

520 名前:nobodyさん mailto:sage [2008/03/10(月) 02:58:57 ID:???]
ちょ,それはない

521 名前:nobodyさん mailto:sage [2008/03/10(月) 03:56:42 ID:???]
>>519
旧Vodafone機種とかにはまともに送れないのとかあるからねー
そこらへんが携帯対応のめんどくさい所

1つ要素追加しようとした時に全部のテーブル構造変えるほうが手間
あとデフォ設定でCPUがP4の3Gでメモリ2Gなマシンでも
1テーブル2000万件とかいれても平気だから1テーブルに入れろ

DB設計は色々と勉強した方が良いよ



522 名前:nobodyさん mailto:sage [2008/03/10(月) 05:18:59 ID:???]
超初心者用ってあるのに全然わからない。・゚・(ノД`)・゚・。
2ヶ月ぐらいやってるけどなにをどうやっていいやら・・・

とりあえずHTMLを少しやってたのでPHPに挑戦してみたんだが
難しい。そして、どう使うのかがよくわからん。

PHPスーパーサンプル集って本を買って本の進行通りにやってるが
だからなに?って感じでおわってしまう。

まず最初にこんにちはを画面に表示させた。うむ。
フォームはあらゆるところで使われるので重要ということで
フォームもやってみた。うむ。

いま、フォームで送信されたデータを関数で色々条件をつける
もしくは処理をするってのやってるんだけど、それも具体的によくわからん。
説明には、パスワードを入力とか普段サイトで使ってるようなことで使う
みたいなことは書いてあったけど、実際自分でつかえるかなーと疑問。

何をどうしたらいいか、もっと分かりやすい本、もしくはページはないか
しってたらお願いします。できれば、私はこう使ったというのを実体験で
いってくれると分かりやすいです。m(_ _)m



523 名前:nobodyさん mailto:sage [2008/03/10(月) 06:26:17 ID:???]
>>522
その手の質問きたら俺は毎回ここをオススメしてる
宣伝と思われそうだがw

www.phppro.jp/school/phpschool/

初心者には普通にオススメ
あと何か作ってみたいものを見つけるのが良いんじゃないかな?

んでこれを作るには何が必要で
どんな事をしなきゃいけないのかとか
あとは同じようなスクリプトは
どんな風にしてるのかを調べるのも良いかな

524 名前:nobodyさん mailto:sage [2008/03/10(月) 18:52:10 ID:???]
>>523
すごくよかったですm(_ _)m
私が買った本より説明が分かりやすく理解しやすかったです。

とりあえず、このページを読破し実際にやってみようと思います。

525 名前:nobodyさん [2008/03/11(火) 03:36:14 ID:xCa4blgr]
すません。ある関数の返り値をvar_dumpしたら
object(stdClass)(1) { ["array"]=> "test"}
みたいな感じでオブジェクトで返ってきました。

配列arrayの中の"test"という文字列を取り出すためにはどうしたらよいのでしょうか?

ちなみにjson_decode()です。upgrade.phpを利用してassocをTRUEにしているのに配列ではなくオブジェクトで返されてしまって困っています。



526 名前:nobodyさん mailto:sage [2008/03/11(火) 03:42:27 ID:???]
$obj->array

527 名前:nobodyさん [2008/03/11(火) 15:31:16 ID:xCa4blgr]
>>526
ありがとうございます。

528 名前:nobodyさん [2008/03/11(火) 20:58:03 ID:LKhchWrt]
PHP5のsimplexml_load_fileを使ってWordPressのRSSフィードを読み込もうと
しているのですが、フィード内の <content:encoded> といったエレメントが
読み込まれません。

どうも「:」がエレメント名に含まれていると、PHPはそれを見落としてしまうよう
なのですが、同じような経験をされた方いらっしゃいますでしょうか?


529 名前:nobodyさん mailto:sage [2008/03/11(火) 22:34:53 ID:???]
PHPって有名なプログラミングですよね?
今度の4月から大学(情報工学科)に通うんですけど
教授とかに聞いても大丈夫ですよね?

530 名前:nobodyさん mailto:sage [2008/03/11(火) 23:38:41 ID:???]
そうそう、有名なプログラミングだよ。

531 名前:nobodyさん mailto:sage [2008/03/12(水) 01:15:12 ID:???]
PHP で HTML のブロックをコメントアウトコメントアウトするのって
↓でええんか?

<?php if(false){ ?>

<?php } ?>

532 名前:nobodyさん mailto:sage [2008/03/12(水) 01:22:22 ID:???]
<?php if(false): ?>
...
<?php endif; ?>

なんでこの書き方って普及してないの?



533 名前:nobodyさん mailto:sage [2008/03/12(水) 01:29:31 ID:???]
>>532
その書き方のメリットを教えてくれ

534 名前:nobodyさん mailto:sage [2008/03/12(水) 09:26:44 ID:???]
くだしつで失礼します。
外部からのアクセスでPHPに情報を送り、それをPHPが一度Textファイルに保持した上で
他のアクセスがPHPからそれを受け取るという処理を行っています。
チェックは連続して行っていて情報が無ければ「NoEntry」という結果を返しています。
(保持した情報は消えます)
(処理中、データはロックしています)

今現在そのチェック処理を2秒に1回の頻度で行っているのですが、
一般論の範囲でPHPはどれくらいの負荷までなら普通に耐えられるのでしょうか?
可能であれば上記のチェック処理を1秒に2・3回行いたいと思っています。

使用しているサーバはさくらインターネットのプレミアムコースです。
PHPのバージョンは、、すみません。詳しく分からないのですが初心者解説サイトの命令のみ使っています。
2秒に1回のチェックですが、実際にデータを保持し送信するペースは1時間に1回ほどです。

535 名前:nobodyさん mailto:sage [2008/03/12(水) 10:53:22 ID:???]
>>534
チェックの方法にもよると思うけど
file_existsかなんかでチェックしてるって事?


536 名前:nobodyさん mailto:sage [2008/03/12(水) 10:58:25 ID:???]
よく分からんけどcronみたいな定期的な処理実行を無限ループでやってるということか?
他のアクセスがあった時点でファイルがあるかチェックするんじゃだめなの?

537 名前:nobodyさん mailto:sage [2008/03/12(水) 11:11:37 ID:???]
すみませんでした。補足します。

繰り返しアクセスしているのは外部のプログラムで、PHPはそれに対して反応を返しています。
PHP内部では繰り返しの処理はしていません。

SaveパラメータでHTTPアクセスされると「A」という文字をPHPが記録します。
LoadパラメータでHTTPアクセスされると、今PHPが保持してる「A」という文字をEchoで返し、「A」は消します。
この時、保持している文字がなければ「NoEntry」を返します。

現状2秒に一度Loadパラメータでアクセスしています。(文字があるかチェック)
その間に複数のSaveパラメータでアクセスされると「A,B,C」と同時に保持して、
Loadパラメータが来るごとに、古いものから順に1文字ずつ返します。

ただ通常、1時間に1〜2回、多くても10回ほどのSaveパラメータのアクセスしか無いため
ほとんどはLoadパラメータのアクセスを受信し続けている状態です。
このLoadパラメータを、現状の2秒に1度から、1秒間に2〜3回にしたいなと考えております。

538 名前:nobodyさん mailto:sage [2008/03/12(水) 11:15:08 ID:???]
>>537
そのLoadパラメータとやらの書き方次第だと
多分問題は無いと思うけどねー


539 名前:nobodyさん mailto:sage [2008/03/12(水) 11:28:02 ID:???]
処理負荷にもよるけど2,3リクエスト/秒なんて余裕だから大丈夫かと

540 名前:534 mailto:sage [2008/03/12(水) 11:52:49 ID:???]
なるほど、助かります。ありがとうございました!
やはりPHPの性能はCGIとは比べものになりませんね。

541 名前:nobodyさん mailto:sage [2008/03/12(水) 17:51:48 ID:???]
phpで出力した内容をhtmlで出力するのって
普通にfwriteとかで作成すればいいのでしょうか?

542 名前:nobodyさん mailto:sage [2008/03/12(水) 19:13:32 ID:???]
file_put_contentsでおk



543 名前:nobodyさん mailto:sage [2008/03/12(水) 21:40:52 ID:???]
>>541
ファイルに書き出したいなら>>542のを使えば良い
表示させるだけならechoなりでhtml書いたのを表示すればいい

544 名前:nobodyさん mailto:sage [2008/03/13(木) 04:03:55 ID:???]
どうもありがとうございました、助かりました。

545 名前:nobodyさん [2008/03/14(金) 16:59:59 ID:P2EP3hdl]
simplexml_load_fileを使い必要な部分を抜き出し下記のようなオブジェクトを取得しましたが
ループ文を使い値と属性を取得しようとすると、$nameという配列を作る行で 
Warning: Illegal offset type となります。オブジェクトの属性と値の取り方を間違えているのでしょうか?

$xml
SimpleXMLElement Object
(
[id] => 2
[title] => hogehoge
[spec] => 500
)

foreach($xml as $a => $b) {
if ($a == 'id') {
$id = $b;
}
if ($a == 'title') {
$title = $b;
}
}
$name[$id] = $title; ←エラー

546 名前:nobodyさん mailto:sage [2008/03/14(金) 17:41:35 ID:???]
>>545
print_rよりver_dumpのがオススメ

$idと$titleをdumpする事をおすすめする
var_dump($id,$title);

てかそのループしなくても良いと思うんだが?
$name[$xml->id] = $xml->title;


547 名前:nobodyさん [2008/03/14(金) 19:16:02 ID:P2EP3hdl]
>>546
ありがとうございます
$name[$xml->id] = $xml->title;
これだと同じエラー内容となりました
ver_dumpしたところ下記のように出てきたのですが、さらにオブジェクトが続いているということでしょうか?


object(SimpleXMLElement)#9 (1) {
[0]=>
string(1) "2"
}
object(SimpleXMLElement)#8 (1) {
[0]=>
string(8) "hogehoge"
}

548 名前:nobodyさん mailto:sage [2008/03/14(金) 19:34:29 ID:???]
最近は、YAMLとJSONばっかりで
XMLを使っていない。使おうとも思わない。

つかうのは外部とのシステムでXMLを
使うことを強制された場合ぐらいだな。

549 名前:nobodyさん [2008/03/14(金) 20:27:50 ID:i8C7NkG0]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="www.w3.org/1999/xhtml">
<head>
<title>Gallery</title>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
</head>
<body>
<div align="center">
<br />
<?php include("../../koukoku.php"); ?><br />
<?
$image = "***.com/gazou/01/" . $_GET['no'] . ".gif";
if(file_exists($image)){ print "<img src=\"$image\">"; }
?>
</div>
</body>
</html>

こんな感じで***.com/gazou/01/**.gifをページの真ん中に表示したいのですが画像がされません。
画像がローカルパスなら表示されるのですがどこが悪いのか教えてもらえませんでしょうか?

550 名前:nobodyさん mailto:sage [2008/03/14(金) 20:32:53 ID:???]
質問です。
よければ教えてください。

echo 45 * 1.4;
echo "<br>";
$a = floor(45 * 1.4);
echo $a;
echo "<br>";

というプログラムで、結果が
63
62
となるんですけど、原因がわかりません…
63が正解なのですが、なぜなんでしょう?
実際は変数が入るので、結果も変動して小数点以下の数値も出るのでfloorしていますが、
なぜかこの数値の時だけ結果にずれが…



551 名前:nobodyさん mailto:sage [2008/03/14(金) 20:54:07 ID:???]
>>550
典型的な、浮動小数点誤差の問題だね。

一般的にコンピュータは数値を二進数に変換して処理する。
1.4という数値は二進数では近い数字は表現できても、
1.4そのものは表現できない数値なんだ。(小数点以下が無限に続く)

よって 45 × 1.3999・・・という計算になる。
当然答えも62.9999・・・になる。

あとはechoのとき、62.9999・・・というほぼ63という値なら、
それを63にして表示しているということだろう。

公式サイトにも書いてあるが。
www.php.net/manual/ja/language.types.float.php

552 名前:549 mailto:sage [2008/03/15(土) 12:13:27 ID:???]
聞く場所違いましたかな・・・汗
他で聞いてみます 失礼しました。



553 名前:nobodyさん mailto:sage [2008/03/15(土) 15:19:04 ID:???]
>>552
php関係なくね?

554 名前:nobodyさん mailto:sage [2008/03/15(土) 17:15:03 ID:???]
for内でもう一度forつかうと$iの値が干渉しあうのですが
$iって$aとかにする事は可能でしょうか?

555 名前:nobodyさん mailto:sage [2008/03/15(土) 17:22:41 ID:???]
$A = file_get_contents("ファイル");

としてるだけなのに標準出力にファイルの内容が表示される@さくら

エロい人解決方法を教えてください。


556 名前:nobodyさん mailto:sage [2008/03/15(土) 18:41:49 ID:???]
>>554
for文って何ぞや?から改めて調べてみるとよろし
>>555
そんなことはありえない。

557 名前:nobodyさん mailto:sage [2008/03/15(土) 22:02:20 ID:???]
>>554
頑張って$iだけを使うように工夫するのが定石

558 名前:nobodyさん mailto:sage [2008/03/15(土) 23:28:03 ID:???]
<br/>\nってどういう意味?
なんで改行が二つあるの?

559 名前:nobodyさん mailto:sage [2008/03/15(土) 23:35:04 ID:???]
それぞれ違う改行。
意味を調べろ。

560 名前:nobodyさん mailto:sage [2008/03/16(日) 01:00:46 ID:???]
>>556 >>557
ちょっとログ分の画像掲示板のhtml出力しつつ
その1ページ分にすべてのページへのリンクを作ったりと複雑なので
whileで代用しました、ありがとうございました。

後、もう一つ聞きたいのですが
.=で処理したデータを継ぎ足していってhtml出力すると
ソースで改行が■になったりしてしまいます。
後々の事を考えて見栄えよく整形したいのですが
どんな要因が考えられるのでしょうか?

561 名前:nobodyさん mailto:sage [2008/03/16(日) 01:13:28 ID:???]
>>560
> どんな要因が考えられるのでしょうか?
メモ帳でLF改行を見てるだけ、とか。

562 名前:nobodyさん mailto:sage [2008/03/16(日) 01:23:50 ID:???]
>>561
すいません、まさにそのとおりなんですがtxtファイルに
phpproの講座のとおりEUC-JPとLFで設定してます。
改行をCR/LFにしたらちゃんと見えたんですが
EUC-JPとLFだとwindows使いには不便なのでしょうか?

後、ログにtxtファイルを使うと外部から見えてしまうと聞いたのですが
何がお勧めなのでしょうか?



563 名前:nobodyさん mailto:sage [2008/03/16(日) 01:30:50 ID:???]
>>562
ログにtxt〜とか媒体が問題じゃないよ。
ドキュメントルート以下におけば外部から見られる危険性は当然ある。

564 名前:nobodyさん mailto:sage [2008/03/16(日) 01:58:38 ID:???]
あれ?そうでしたか。
過去cgiとかにしとけといわれた思い出があるんですが。

565 名前:nobodyさん mailto:sage [2008/03/16(日) 02:22:24 ID:???]
>>564
その説は、ごく限られた人しか .htaccess でごにょごにょできなかった時代とか
.htaccess の書き方を説明するのがめんどくさいとかの産物なので、
せめて .log とか .dat で終わる名前のファイルにして deny from all に設定。
というか、>>563

>>561前半は Shift_JIS の地雷を踏みまくるほうがよっぽど不便だと思う。

566 名前:565 mailto:sage [2008/03/16(日) 02:23:29 ID:???]
アンカーミスった。>>562前半、ね。

567 名前:nobodyさん mailto:sage [2008/03/16(日) 02:41:19 ID:???]
htmlの投稿フォームからphpにデータ送ると
phpの中身がテキストデータとして開かれててしまいます。
phpに同じフォームデータを書いて送信したら普通に処理できてたんですが
どうしたものでしょうか?

568 名前:nobodyさん mailto:sage [2008/03/16(日) 14:32:57 ID:???]
日本語でおk?

569 名前:nobodyさん mailto:sage [2008/03/16(日) 19:12:01 ID:???]
html出力した内容に含まれてる投稿フォームから
phpにその内容を飛ばして処理しております。
本文がない場合、名前&パスワードをクッキーをセットして
1行目のフォームに送り返してるんですが名前欄に何も出ません。

名前欄のvalue値に
phpプログラムを使用して受け取ったクッキーを表示するコードを書いてるんですが
1行目フォームのようにhtmlファイルにphpコード書いても意味なかったでしたっけ?

570 名前:569 mailto:sage [2008/03/16(日) 19:19:19 ID:???]
ややこしくなってしまいました、
要するにログをhtml出力したファイル内にあるフォームに
クッキーの受け渡しってできるんですか?

書き込みを処理するphpからクッキー発行しただけでは駄目なんですよね?

571 名前:nobodyさん mailto:sage [2008/03/16(日) 19:31:40 ID:???]
できるよ

572 名前:569 mailto:sage [2008/03/16(日) 19:44:08 ID:???]
すいません、お手数ですがどのようにすればよいのでしょうか?
>>569を書き込んでから今までログをhtmlで出力する掲示板のサンプルを見回ってたら
<input value="">のvalue記述さえ無しにクッキーが表示されてるものが
あってどんな方法を使ってるか知りたくて。



573 名前:nobodyさん mailto:sage [2008/03/16(日) 20:02:28 ID:???]
名前欄に何も出ないっていう現在のコードを出してみて。入力と共に。

574 名前:nobodyさん mailto:sage [2008/03/16(日) 23:54:38 ID:??? BE:147567375-2BP(1)]
>>569
出力されたhtmlファイルの拡張子はphp?それともhtml?

出力されたファイルがhtmlであれば
サーバの設定が基本的な設定のままなら
cookieなんて出せないやんJavaScriptとか使えば別だが

phpであれば
<input value="<?php echo $_COOKIE['name'];?>">
とかすれば出るが

575 名前:nobodyさん mailto:sage [2008/03/17(月) 00:03:56 ID:???]
拡張子はhtmlです、
それで元々作っていたのは総phpで<input value="<?php echo $_COOKIE['name'];?>"> が出来てて
htmlにデータ書き出すようにしてからそれが通用しなくなったので混乱しておりました。
ただここだと
3d.skr.jp/3d/
出来てるのはなぜなんでしょう?

576 名前:nobodyさん mailto:sage [2008/03/17(月) 00:10:47 ID:??? BE:303567089-2BP(1)]
>>575
そこはjavascriptでクッキーをセットしてる

577 名前:nobodyさん mailto:sage [2008/03/17(月) 00:19:25 ID:???]
なるほど、万人には無理ですかhtmlでは。
とりあえずクッキーの部分は飛ばして別の部分作ります。

578 名前:nobodyさん mailto:sage [2008/03/17(月) 00:27:11 ID:??? BE:84324645-2BP(1)]
function l(e){
var P=getCookie("pwdc"),N=getCookie("namec"),i;
with (document) {
for(i=0;i<forms.length;i++){
if(forms[i].pwd)
with(forms[i]){
pwd.value=P;
}
if(forms[i].name)
with(forms[i]){
name.value=N;
}
}
}
};
onload=l;
function getCookie(key, tmp1, tmp2, xx1, xx2, xx3) {
tmp1 = " " + document.cookie + ";";
xx1 = xx2 = 0;
len = tmp1.length;
while (xx1 < len) {
xx2 = tmp1.indexOf(";", xx1);
tmp2 = tmp1.substring(xx1 + 1, xx2);
xx3 = tmp2.indexOf("=");
if (tmp2.substring(0, xx3) == key) {
return(unescape(tmp2.substring(xx3 + 1, xx2 - xx1 - 1)));
}
xx1 = xx2 + 1;
}
return("");
}
こんな感じだな適度に直せばいける

579 名前:nobodyさん [2008/03/18(火) 16:47:11 ID:npoe+Lzf]
www.phppro.jp/school/phpschool/vol4/1
のプログラムですが、

localhost/uranai.php
だと「入力された値は数字ではありません。」と表示されるのですが

localhost/uranai.php?age=22
だと文字化けしてしまいます。
本来「あなたの年齢は:22才です。」と表示されると思うのですが。

何が原因と考えられますか?

580 名前:nobodyさん mailto:sage [2008/03/18(火) 17:12:58 ID:???]
>>579
コードうp

581 名前:nobodyさん mailto:sage [2008/03/18(火) 17:15:35 ID:???]
ちなみにこちらの環境で実行したら後者も正しく表示された
mb関係かhtmlspecialcharsの文字コードの設定か?
文字化け文字列も出すと何かわかるかも

582 名前:579 [2008/03/18(火) 18:00:26 ID:npoe+Lzf]
レスありがとうございます。

、「、ハ、ソ、ホヌッホ、マ。ァ22コヘ、ヌ、ケ
とでます。





583 名前:nobodyさん [2008/03/18(火) 18:15:19 ID:sNjVpZ9l]
WordPressで困っています。
サイドバーをカスタムしたくてsidebar.phpを弄っているのですが、カレンダーなどを取り除いてアバウトやその他をとりつけたいのですが、
どう記述するべいいのかわかりません。
カレンダーを消すことには成功したのですが、他のコンテンツをサイドバーに入れるには何を記述すればいのでしょうか。


584 名前:nobodyさん mailto:sage [2008/03/18(火) 21:06:15 ID:???]
>>583
WordPress (ワードプレス) その6
pc11.2ch.net/test/read.cgi/blog/1202116662

こっちのがいいんでない?

585 名前:nobodyさん mailto:sage [2008/03/18(火) 21:53:51 ID:???]
>>579
ブラウザ上で右クリック→エンコード→日本語 (EUC)
でおk

ま、もう解決しちゃってるだろうけどw

586 名前:579 [2008/03/18(火) 23:02:38 ID:npoe+Lzf]
>>585
全然解決できてなかったのでこのスレにはりついてしましたw
ありがとうございます!うまくいきました!






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<165KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef