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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/04/28(金) 04:12:33ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart34【php】
http://pc8.2ch.net/test/read.cgi/php/1142903954/

【PHP】下らねぇ質問はここに書き込みやがれ Part19
http://pc8.2ch.net/test/read.cgi/php/1144513878/

過去スレは>>2-3あたり
0002nobodyさん2006/04/28(金) 04:13:11ID:ICV8N6RN
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
0003nobodyさん2006/04/28(金) 04:13:42ID:ICV8N6RN
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
【PHP】下らねぇ質問はここに書き込みやがれpart12
http://pc8.2ch.net/test/read.cgi/php/1130835396/
【PHP】下らねぇ質問はここに書き込みやがれpart13
http://pc8.2ch.net/test/read.cgi/php/1132921016/
【PHP】下らねぇ質問はここに書き込みやがれpart14
http://pc8.2ch.net/test/read.cgi/php/1134868212/
【PHP】下らねぇ質問はここに書き込みやがれpart15
http://pc8.2ch.net/test/read.cgi/php/1137236771/
【PHP】下らねぇ質問はここに書き込みやがれpart16
http://pc8.2ch.net/test/read.cgi/php/1139146534/
【PHP】下らねぇ質問はここに書き込みやがれpart18
http://pc8.2ch.net/test/read.cgi/php/1142417901/
【PHP】下らねぇ質問はここに書き込みやがれ Part19
http://pc8.2ch.net/test/read.cgi/php/1144513878/
0004nobodyさん2006/04/28(金) 04:14:12ID:ICV8N6RN
・part17よりテンプレ化

extractは極力使わないほうがいいと思います。
例えば、

hoge.php?_SESSION[user_pw]=hogehoge

って形で送られてきたとします。これを

extract($_GET)

しちゃうと、$_SESSION['user_pw']の値が、
"hogehoge"に変更されてしまいます。

もし事前にユーザのパスワードを、$_SESSION['user_pw']に
保持してたとしたら、勝手に書き換えられてしまうことになります。

それを避けるために

extract($_GET, EXTR_SKIP)

ってやって上書きを避けたとしても、
このままでは変数の初期化を忘れる危険性があります。

extract($_GET, EXTR_PREFIX_ALL, "get")

と、接頭辞をつけるのが一番安全な気はしますが、
それなら最初から
$hoge = $_GET['hoge'];
ってやるのと手間が変わらないと思いますし、可読性も増します。
確かにextractするのは楽だと思いますけど。
0005nobodyさん2006/04/28(金) 04:31:15ID:???
取得したRSSを日付順にソートして出力したいんですが、どんな方法がありますか?

ttp://search.net-newbie.com/php/function.usort.html
こことか見たんですがよくわかりません

超初心者の俺にPHP詳しい人教えてください
よろしくお願いします
0006nobodyさん2006/04/28(金) 05:43:54ID:???
>>5
usort使おうとしてるということは配列なんだろうけど
取得したRSSを・・・と言われてもどのように配列に入っているかわからなければ
答えようも無い。
0007nobodyさん2006/04/28(金) 05:53:54ID:???
DBに取り込んで日付順に出力
こんなんでダメ?
0008nobodyさん2006/04/28(金) 10:04:43ID:???
>>5
item単位でソートなのかrss単位でソートなのか知らんが、
日付を元にitemソートすればいいんじゃないの?
0009nobodyさん2006/04/28(金) 12:02:48ID:???
RSSの話題がでているので便乗
RSSが最新のものに更新されたかどうかをどうやって取得すればいいのでしょうか?
現在わたしがやっているのは最新のRSSを自分のサーバーに置き、
クローンで一定間隔で再取得し、違いがあった場合に自分のサーバーにある
RSSを更新するというやり方をとっています
しかしこれだとあまりにも無駄が多いような気がします。
何か良い方法が教えてもらえませんか?
0010nobodyさん2006/04/28(金) 12:20:52ID:???
他サーバの画像を自サーバに保存するのに
一番賢い方法教えてくれませんか?
0011nobodyさん2006/04/28(金) 12:53:23ID:???
>>9
日本語でOK
0012nobodyさん2006/04/28(金) 13:03:23ID:???
よく移転中のホームページにある、「*秒後に自動的にページ移動」、
っていうのをヘッダーに記述する以外で、phpで実現する方法はありますか?

全てのページに対して
ヘッダー周りは別途ファイルを分けてincludeしているためです。
0013nobodyさん2006/04/28(金) 13:16:01ID:???
>>12
PHPはページを表示させる前の処理をするんだよ。
表示させた後の処理はクライアントサイドで動作する言語で書け。
0014前スレ9942006/04/28(金) 14:26:27ID:Na6jyHe3
>前スレ995
>.htaccess「のようなもの」をディレクトリに置くだけでcron代わりになるんだったら
>鯖選びでcronが使えるかどうかなんて見ない。
そうですよね。確かに良く考えてみれば分かるようなことでした。

>cronが使える安鯖か自分のPCにあるブツ(cronでもタスクスケジューラでも)から
>wgetでも叩かせれば、定期的にスクリプトが走るよ。
今あるサーバのスクリプトを、自鯖にあるCRONでも命令可能ってことですか!!?
何だか危険な気もしますが、それが出来れば便利ですね!
wgetを叩けば良いのですね!調べてやってみます!!
どうもありがとうございました。。
0015nobodyさん2006/04/28(金) 14:40:01ID:???
>>14
ああ、危険だね、何にも考えないでやると。
がんばってな
0016nobodyさん2006/04/28(金) 14:59:53ID:???
タイムアウト制限もあるからね。
0017nobodyさん2006/04/28(金) 17:56:10ID:UkqacfT1
質問です。PHPかMySQLか迷ったんですが、こちらで宜しくお願いします。
例えば、カラムが5列ほどの表があり、ユーザ設定で表示のON・OFFをしたいです。
今考えてる処理では、下のようにPage1.phpでDBに表示するカラム名を直接保存し、
Page2.phpでDBからカラム名を呼び出しSELECT文に加えて表を出力、という流れです。

項目が増えたりなど後々の汎用性も考慮して、カラム名DB保存→表示と
かなり考えて最終的に今はこういう処理を思いついたのですが、
一般的にもっとスマートな方法があるような気がしまして、
ヒントなどありましたら御教示おねがいします。

/* Page1.php ユーザ設定画面 */
// 表示されるHTML
□身長 □体重 □視力 □住所 □電話番号 [表示項目の更新]
※チェックがあった項目を表示

// HTMLソース部分
print '<input type="checkbox" name="display[]" value="height">身長';
print '<input type="checkbox" name="display[]" value="weight">体重';
// 処理部分(実際にはサニタイズ処理などします)
$sql = "UPDATE DisplayColumn SET display='" .join(",", $_POST["display"]). "'";
$rs = mysql_query($sql);

/* Page2.php データ表示画面 */
$sql = "SELECT display FROM DisplayColumn";
$rs = mysql_query($sql);
$dispay = mysql_result($rs,0,0);

$sql = "SELECT $display FROM Profile";
$rs = mysql_query($sql);
while ( $row = mysql_fetch_array($rs) ) { }
0018nobodyさん2006/04/28(金) 18:25:30ID:bvVZ5vZV
超初心者な質問でごめんなさい。
hoge.php(カレンダー表示のphpです。)
をhtml内に表示させるには
html内で <? include "hoge.php";?>
と説明があったのですが、 html内に埋め込んでも
表示されません。
hoge.phpに直接アクセスすると表示されるのですが…

超ド素人な私に表示させる方法を教えてください。
0019nobodyさん2006/04/28(金) 18:57:17ID:???
>>17
拡張性があると考えたんならいいんじゃないの?
DisplayColumnテーブルのdisplayフィールドにjoinする時に
表示しちゃいけないフィールドを更新しないようにね
(というか表示できるフィールドだけ更新するようにチェック)

>>18
htmlという拡張子もphpで処理するようにすればできるけど
普通はそういう設定してない。
htmlじゃなく拡張子をphpにすれば動くんじゃない?
またはSSIが使えれば少し修正すれば使えると思うけど。
0020nobodyさん2006/04/28(金) 18:59:46ID:???
>>19
SSI使うには環境依存があるよ〜〜〜
0021nobodyさん2006/04/28(金) 19:07:54ID:???
見えぬか?
>>またはSSIが使えれば
0022nobodyさん2006/04/28(金) 19:10:38ID:???
そのスクリプトってレッt(ry
0023182006/04/28(金) 19:24:34ID:???
>>19さん
拡張子をphpに変えたら表示出来るようになりました。
有難うございます。
SSIも使えます。
その場合はどのようにしたら
使えるようになるのでしょうか?
0024nobodyさん2006/04/28(金) 19:35:49ID:???
>>23
>>19は少し言葉足らず

SSIが使えればではなく
SSIのincludeVirtualなどでPHPが読み込めれば が正しい
これはApache2からしか出来ない
0025nobodyさん2006/04/28(金) 19:38:21ID:???
phpを使ったらどんな事ができるんですか?
0026172006/04/28(金) 19:40:01ID:???
>>19
ありがとうございます。もうちょっと煮詰めたりググッたりしてみます。
0027nobodyさん2006/04/28(金) 20:46:02ID:???
フォームのボタンを押した時に、
セッションを解放する方法はありますか?
0028182006/04/28(金) 22:16:32ID:???
>>24さん
SSIのinclude Virtualはまだまだ勉強が必要なようなので
とりあえず拡張子をphpに変えてやってみます。
有難うございました。
0029nobodyさん2006/04/28(金) 23:06:59ID:???
>>23
そのサーバーで.htaccessが使えるなら、それで.htmlをPHPとして解釈させるように設定すれば動くと思う。
AddType application/x-httpd-php .html

でもサーバー負荷が増えるから、可能なら.phpで使う方がいいと思うけどね。
0030nobodyさん2006/04/28(金) 23:08:00ID:???
>>27
action先のスクリプトでセッション破壊すればいいじゃん。
0031nobodyさん2006/04/28(金) 23:12:04ID:???
>>29
サーバ負荷はphpに処理させないファイルが無い場合は変わらないよ。
検索エンジンに最適化するには拡張子がhtmlの方が良い。

(Googleは拡張子によってクロール頻度が変わる。
動的に生産されるページと認識されるとクロール頻度が下がるなどの悪影響がある。
Googleによれば相手のサーバの負荷を考慮しているとのこと。)
0032nobodyさん2006/04/28(金) 23:15:29ID:???
>>31
>サーバ負荷はphpに処理させないファイルが無い場合は変わらないよ。

↑はぁ??何言ってんの???
HTMLとしてApacheに処理させれば済むものを
わざわざPHPエンジンを通せば当然遅くなる(負荷が増える)。
0033312006/04/28(金) 23:28:25ID:???
>>32
誤解を招いたようですまない。
「phpに処理させないファイルが無い」ってのは、ようするに静的に生産されるページが1個も無いって事。
全ページphpで構築していると、phpエンジンに通さないファイルは無いと思って、、、

0034nobodyさん2006/04/28(金) 23:28:48ID:???
>>32
何でそんなにムキになってるの?
0035nobodyさん2006/04/28(金) 23:43:45ID:???
>>34
ま、ありがちなタイプだわなw
0036nobodyさん2006/04/28(金) 23:49:36ID:???
>>33-35=>>31=どうでもいいけど日本語ヘタ過ぎ。

「誤解」じゃなくて、完全に認識を間違っている。
HTMLは「静的に生産される」云々の話ではない。
「すでに生産されている静的なファイル」がHTMLである。
0037312006/04/28(金) 23:52:35ID:???
>>36
日本語が下手な点はすまない。
あと >>34-35 書いたのは漏れではないので念のため。
0038nobodyさん2006/04/28(金) 23:54:24ID:???
>>37
日本語の点だけじゃなくて技術的な点も問題あるけどね。
0039nobodyさん2006/04/29(土) 00:10:25ID:???
>>29,32,36,38
何でそんなにムキになってるの?
■ このスレッドは過去ログ倉庫に格納されています