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

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

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2007/10/11(木) 17:55:41ID:uObe69hr
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

◆質問する時の注意
・ sage進行(メール欄にsageと記入すること)「sage進行」とはスレを目立つ上部に上げないことによって、荒らしが発見できないようにすることです
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・ 書き込むときには、「公式マニュアル、リファレンス本は読みました」と明記すること
(でないと、公式マニュアル読めと煽られます)

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
・質問者が「公式マニュアル読んだ」と書いていないからといって、
公式マニュアルに書いてもいないのに、公式マニュアルよめと適当なことを言わないこと。
質問者は公式マニュアルを読んでいるかもしれない。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0830nobodyさん2007/10/21(日) 09:59:43ID:???
>>827
2chで書き込み試したら確かにエンティティ化してhidden使ってるね
セッション使わないのは鯖負荷軽減のため?

ただ普通は、
ユーザが入力(最初)
 ↓
入力データをセッション変数へ保存
表示用にエンティティ化してHTML出力
 ↓
ユーザが確認し書き込みボタン押す
 ↓
セッション変数に保存したものをファイルやDBへ保存
(勿論DB用にエスケープする)

hiddenだろうがテキストエリアに入った文字列だろうがHTML出力する分はすべてHTMLエンティティするのは当然。
問題視してるのは書き込むデータをhiddenで送り返してまたそれを受け取りDB登録しようとしてる点。
0831nobodyさん2007/10/21(日) 10:17:27ID:???
mixi日記もhidden使ってたw こっちはエンティティ化してなかった
0832nobodyさん2007/10/21(日) 10:23:29ID:???
このスレの普通は、普通じゃなさそうだなw
0833nobodyさん2007/10/21(日) 10:38:03ID:???
所変われば常識も変わるってところか
0834nobodyさん2007/10/21(日) 12:10:29ID:k0cThTxS
自宅鯖のPHPがPHP 5.2.4で
sakuraサーバーのPHPがPHP 4.2.2で

php 5.2.4ではclass内でのrequire_once等の使用ができるのに
php 4.2.2だとつかえないみたいなんですけど
これはそういうものなんですか?
includeでも同じでした;;
なにか他に取り込む方法ってないですか?
0835nobodyさん2007/10/21(日) 12:19:55ID:???
そんな話きいたことないしソースみないとわからないが、クラスの外にだしてもどうせクラスが含まれたファイルをよみこむんだから問題ない気がするよ
0836PHPでパスワード付きExcelファイルを読み込みたい2007/10/21(日) 13:11:20ID:SzVd/yWp
Windows上でPHP5を使っています。
そのマシンにはExcelがインストールされておらず、
Excelファイルには、Excelのパスワードがかかっています。

で、そのExcelファイルをバッチ処理か何かで読み込みたいと考えています。

Perlだと、Win32::OLEかSpreadsheet::ParseExcelを使って読み込むそうですが、
前者はExcelがインストールされていないtダメですし、
後者はパスワードで保護されたExcelには対応していないんだそうです。

そこで、PHPを使おうと思っています。
ここで質問です。

調べたところによると、PHPでは、PHPExcelを使うと思うのですが、
パスワード付きのExcelは読み込めるのでしょうか?

あるいは、ほかに簡単に読み込める方法があれば、教えてください。
よろしくお願いします。
0837>>8172007/10/21(日) 14:20:59ID:???
>>819
>>821
>>829
できました!
ありがとうございます!

0838nobodyさん2007/10/21(日) 15:16:08ID:???
どういたまして
0839nobodyさん2007/10/21(日) 15:52:06ID:???
>>836
OOoを使う
あれならパスワードつきも普通に開けるだろ
0840nobodyさん2007/10/21(日) 17:04:17ID:???
>>839
ためしてからいえ
0841nobodyさん2007/10/21(日) 17:41:02ID:KqyRsNL6
質問です。
住所録みたいなツールを作って、データを登録するとします。
で、DB側ではid(自動インクリメント)を持たせてるとして、
たった今登録したデータのidを拾いたいときってどうしたらいいんですか?
phpから実行するsql文で最新のデータのidを拾えばいいと思ったんですが、
複数人から同じテーブルに次々書き込みがあった場合、自分の書き込み後に
他人が登録したデータを拾ってしまうということはないでしょうか?
0842nobodyさん2007/10/21(日) 17:51:15ID:???
>>841
マニュアルのmysqlのページ。
DB側でもできるけど。
0843nobodyさん2007/10/21(日) 18:37:14ID:???
>>840
試してから言ってるわぼけ
08448362007/10/21(日) 18:38:11ID:???
すこしだまっててくださいね、偽ってる暇人訓^^
0845nobodyさん2007/10/21(日) 18:49:34ID:???
>>836
>>1
0846nobodyさん2007/10/21(日) 18:59:57ID:???
メールフォームで送信した後、
「送信しました(2ちゃんだと『書き込みました』)」というページを表示するじゃないですか。
この際にブラウザーで戻れなくする方法ってないですかね?

何がしたいかというと二重送信を防ぎたいわけですが
チェック用のファイルを用意して防ぐようにもします。
ですがブラウザーそのものが戻らないようにできないもんですかね?

header("Location :http://example.com";)でいけるかと思ったんですがダメでした…
アドバイスを。
0847nobodyさん2007/10/21(日) 19:05:00ID:???
戻った場合の責任は負いかねますとか書いとけばok
0848nobodyさん2007/10/21(日) 19:07:21ID:???
>>846
>二重送信を防ぎたい
ぐぐればやり方はいくつか載ってるよ
ただクライアント側で何とかしようとするのは感心しない
やるならサーバ側
このへんの理由もぐぐれば書いてある
0849nobodyさん2007/10/21(日) 19:13:54ID:???
>>846
セッションに前いたページを覚えさせておいて
戻ったページで正しい遷移でなければ、前いたページにリダイレクトとか。
0850nobodyさん2007/10/21(日) 19:24:28ID:???
>>849
二画面開いてたらややこしいことにならないか?
08518462007/10/21(日) 19:40:55ID:???
レスあり〜

>ただクライアント側で何とかしようとするのは感心しない
>やるならサーバ側
そそ、書くの忘れていた。
クライアント側、たとえばJavaScriptとかでするんじゃなくて
サーバー側で処理をしたいんですよね。

「PHP 二重送信 防止」ぐらいでググッてるんですが
『クライアントサイドのスクリプトで二重送信を防止するのは難しい』
とか言われている俺ガイルww
08528462007/10/21(日) 19:45:54ID:???
ググった結果、よさそうな方法が見つかりましたw
回答ありがとうございました。
08538462007/10/21(日) 19:51:46ID:???
>>852
ちょ!必死に探しているのに詐称すんのやめて(つд`;)
つーか解決法がみつからない。
(ページの間に別のphpファイルを挟んで実行・header処理している人がいて感動)

ここって前まで上げてID表示していなかったっけ?
荒らされたんかな?
0854nobodyさん2007/10/21(日) 19:53:39ID:???
ずっとIDを出してないと意味ねーし
0855nobodyさん2007/10/21(日) 19:58:07ID:???
とりっぷつければイイノに
0856nobodyさん2007/10/21(日) 20:19:58ID:???
>>853
いや、ID出したきゃ出せばいいじゃん。
出さずに詐称すんなとかバカの言い分。
08578462007/10/21(日) 20:34:37ID:???
>>853
ちょっと待て!お前誰だよw
まぁ解決方法が見つからないのは本当なんだけどさ…。

もう少しググッてみたいと思います!
偽者が出てきたのでもう書き込まないようにします。迷惑かけてごめんなさい!
08588462007/10/21(日) 20:36:02ID:???
ちなみに852も偽者です。言い忘れました…。
0859846 ◆yBEncckFOU 2007/10/21(日) 20:41:35ID:???
>>857-858
ちょっと騙るのやめてくんない?こっちは真剣なんです!
08608462007/10/21(日) 20:41:49ID:???
偽者ばっかりで困っています
どうすれば良いですか?
08618462007/10/21(日) 20:41:56ID:???
めるぽ
0862nobodyさん2007/10/21(日) 20:45:25ID:???
ばか、ばっか
0863nobodyさん2007/10/21(日) 20:58:29ID:???
たまにこういうことがあるから面白い
0864nobodyさん2007/10/21(日) 21:07:02ID:???
最近はほぼ毎日じゃねーか
0865nobodyさん2007/10/21(日) 21:10:16ID:???
二重送信はsessionやJavaScriptで防げるが
ブラウザーのボタン制御は無理だろ?
0866nobodyさん2007/10/21(日) 21:12:26ID:???
過疎りすぎて人もよりつかないスレよりはマシだと思うよ
脱線し過ぎるのはアレだけど
08678362007/10/21(日) 21:26:20ID:SzVd/yWp
偽者がいますね(´・ω・`)

>>839
OpenOfficeでパス付きExcelが開けるのは知っていますが、
手で開くのではく、自動処理(バッチ処理等)で読み込みたいと考えています。

OOoでそういう使い方ができるのでしょうか?
0868nobodyさん2007/10/21(日) 21:43:50ID:???
>>865
送信元画面をPOSTで生成しとくとか。

いっそ送信元画面にJavaScript仕込んどいて送信完了時に
発行したCookieを発見したら強制Locationかけちゃうとかw
0869nobodyさん2007/10/21(日) 22:01:51ID:???
>>867
必要にせまられてるのはアンタだから試してみればいいんでないの?
良かったじゃん、人柱になれて
0870nobodyさん2007/10/21(日) 22:25:47ID:MevNDFNf
カレンダーを作っていますが
PHPの日付関数はunixタイムスタンプを使うので
2038年?以降のカレンダーは表示できなくなります。
unixタイムスタンプ問題を回避してカレンダーを作るには
どうすればいいですか?
0871nobodyさん2007/10/21(日) 22:28:44ID:???
>>870
日付も曜日も自分で管理したらいい

だが、そもそも30年以上も先のカレンダーを表示する必要があるのか?
0872nobodyさん2007/10/21(日) 22:47:48ID:???
>>846
まあ送信とか戻るのはユーザが行うことだからWebサーバで禁止できることじゃないとおもうけど。

期限切れで表示できないのとかあるね。
どうやっているのか知らないけど。

送信してしまった対策として一定時間内のIPや内容のハッシュでも記録しておいて
同じのがあったら無視するとか。
しつこい書き込みはIPを2chみたいにバーボンにするとか。
0873nobodyさん2007/10/21(日) 23:52:14ID:mLa5/CiA
動的ページのsitemapや更新のあったページをのせるrssを自動で発行するものを作りたいのですが、
どんな流れで作ればいいんでしょ。
0874nobodyさん2007/10/21(日) 23:55:29ID:???
更新内容→DB登録
↓
RSS出力
0875nobodyさん2007/10/22(月) 00:02:30ID:???
>>873
またおまえか
0876nobodyさん2007/10/22(月) 00:07:13ID:???
>>870も>>873も表現がおかしい
それはもう暗黙に作ってくださいとお願いしているようなもの
0877nobodyさん2007/10/22(月) 00:11:31ID:???
そうか・・?
0878nobodyさん2007/10/22(月) 00:17:27ID:???
>>876
そういう直接的な注意は不粋というものだ
どんな質問にも答えることはできる
質問者が気づくかどうかは知らんけど

0879nobodyさん2007/10/22(月) 00:19:42ID:???
>>876
870は問題ないような?
873は全然ダメだと思うけど。
0880nobodyさん2007/10/22(月) 01:31:08ID:???
プログラミング系スレで一番低レベルなスレ
0881nobodyさん2007/10/22(月) 01:34:58ID:???
2chでレベルとか言っちゃう奴って恥ずかしくないのかなぁ
0882nobodyさん2007/10/22(月) 01:41:18ID:b3zF2Ui7
またかといわれても初めて質問するのにどうすればいいんだろう。
0883nobodyさん2007/10/22(月) 01:46:50ID:???
>>880
タイトルがスレの有様を物語ってるからいいんだよ
0884nobodyさん2007/10/22(月) 01:55:22ID:???
>>882
以前に別の人間が質問して叩かれた内容と類似してるんじゃねえの
それだけ質問の内容が快く思われていないんだと思う
0885nobodyさん2007/10/22(月) 02:08:22ID:???
まあ2chに期待するなってことだ。いる人間のレベルや性格も様々。無償だしな
0886nobodyさん2007/10/22(月) 02:35:00ID:byAZxbU8
答えられないときの逃げ口上か
0887nobodyさん2007/10/22(月) 02:58:01ID:???
>>870
うる覚えなので間違ってるかも知れんが、DBを使って回避みたいなのを本で読んだ記憶がある。
time関数の範囲より広いんだと。
たしかpostgresのシーラカンス本
0888nobodyさん2007/10/22(月) 04:48:06ID:b3zF2Ui7
まーここで聞くよりぐぐったほうが正確だからな。
スレが落ちないようにたまに質問してやるだけって感じだし。
どうせ回答者もぐぐって答えさがしてんだし。
0889nobodyさん2007/10/22(月) 04:55:36ID:???
http://php.benscom.com/manual/ja/ref.calendar.php
これ組み込んだらいいんじゃね
PHPで出来たブログシステム結構あるけどどうやってんだろうな
0890nobodyさん2007/10/22(月) 04:55:37ID:???
どうしてこのスレの住人は高慢になってるんでしょ。
皆もっと寛大な心を持たないかい。
0891nobodyさん2007/10/22(月) 05:01:20ID:???
>>890
どの辺が?
0892nobodyさん2007/10/22(月) 05:25:37ID:???
初心者に初心者が教えあうスレなんだからほうっといてくれよ
0893nobodyさん2007/10/22(月) 06:59:37ID:???
例えるなら宿題丸投げの様な、いかにも「叩いて下さい」と言わんばかりの
質問を投げる奴を寛大な心で迎え入れるコミュニティは存在しない
それに気づかない奴がバカなんだよ
0894nobodyさん2007/10/22(月) 07:59:33ID:???
>>892
バカいうな、このスレは全部俺様の自作自演なんだ
0895nobodyさん2007/10/22(月) 08:15:57ID:???
>>870
PEAR::Date
0896nobodyさん2007/10/22(月) 09:13:30ID:???
>>888
>>882との態度の違いにフイタw
お前は立派な2ちゃんねる脳
0897nobodyさん2007/10/22(月) 10:18:58ID:???
下らなくない質問スレはどこですか?
0898nobodyさん2007/10/22(月) 13:33:32ID:fwkYbUt6
http://php.net/manual/ja/security.filesystem.php
PHPマニュアルでは、Nullバイトは \0 としていますが、
僕の環境では、 %00 しかNullバイトとして認識しません。
バージョンによって違うんでしょうか?
0899nobodyさん2007/10/22(月) 13:35:36ID:???
サイボウズの中の人がphpspotの中の人に粘着

元記事:
http://phpspot.org/blog/archives/2007/10/php_84.html

指摘関連記事:
http://labs.cybozu.co.jp/blog/akky/archives/2007/10/phpspot-bad-regex.html
http://labs.cybozu.co.jp/blog/akky/archives/2007/10/phpspot-issue.html
http://labs.cybozu.co.jp/blog/akky/archives/2007/10/phpspot-final.html
0900nobodyさん2007/10/22(月) 13:46:25ID:???
>>898
「僕の環境では」
お前の環境なんてしらねーよ
0901nobodyさん2007/10/22(月) 13:52:09ID:???
>>899
秋元面倒くさい奴だな
と思ったがphpspotも若干アフィ厨なのでどっちもどっちか
phpspotは記事の邪魔になるような広告はどけろよ
0902nobodyさん2007/10/22(月) 13:57:42ID:???
http://d.hatena.ne.jp/elf/20060809/1155100104
アドセンスなどは広めに「そんなつもりじゃないのについクリックしちゃったよ」
的なところに置く

phpspotって結構叩かれてたんだな・・・
0903nobodyさん2007/10/22(月) 14:03:26ID:???
>>900
しらねーなら指くわえて見てろよクズデブが
0904nobodyさん2007/10/22(月) 14:25:53ID:???
>>898
%00は\0をURLエンコードした状態だと思う。
どっちも同じじゃないか?それ。
0905nobodyさん2007/10/22(月) 14:36:18ID:???
>>902
っていうかそのサイトってphpspot叩くために存在してるのか?
そんなんばっかで楽しいのかねぇw
0906nobodyさん2007/10/22(月) 14:41:57ID:wYjDaOJp
$random = rand(2994909304500, 2994909304500);
echo $random;

出力「1317099188」

randって何桁まで可能なんですか?
0907nobodyさん2007/10/22(月) 14:41:58ID:???
>>905
本当だw
かなりの粘着ぷりでワロタ
phpspotの何が彼らをそんなにいらつかせるんだ?
0908nobodyさん2007/10/22(月) 14:48:25ID:???
>>907
彼は社内では空気のような存在なんだろ
周りに敵を欲しているんだww
0909nobodyさん2007/10/22(月) 14:50:44ID:???
902のサイトの作者も本書いたりしてるんだな
著者間戦争か
0910nobodyさん2007/10/22(月) 14:52:40ID:???
かまってちゃんの粘着二人に標的されるphpspotも大変だな
あの規模のサイトでコメントやメールをまともにチェックしてたら身がもたないだろうに、それを強要するってよっぽど寂しがり屋だろ。
0911nobodyさん2007/10/22(月) 14:52:52ID:???
>>902
つか、このひと上鍵さん?
0912nobodyさん2007/10/22(月) 15:05:14ID:???
gooブログで2039年を表示して前月・翌月を表示すると
1969年とかになったりする
有名どころのブログでも2038年問題の対応はまだみたいね
0913nobodyさん2007/10/22(月) 15:15:27ID:???
>>912
30年後も今のシステムがそのまま使われているとでも?
0914nobodyさん2007/10/22(月) 15:28:05ID:???
>>913
そう思ってたのに予想外に使われてしまった例は多々あるよ。
2000年問題のときなんてアホか!って思うくらい多かったし。
みんな「15〜20年もしたら絶対にリプレースされるから」を前提に作ってるのなw

まぁ、Webアプリはコンピュータのシステムとしては極端に短命の部類だとは思うが、
移植や他システムとの連携などでライブラリやデータだけがいつまでも
生き残ってしまうケースは思ってる以上にあるものだ。
そして「処理が簡単で速度的にも有利」とか言って日時をdatetime型でなく
UNIXタイムでDBに保存してたシステムなんかが軒並み死ぬんだなw
0915nobodyさん2007/10/22(月) 15:29:45ID:ElA0RlAx
30年後はともかく1900年以前の日付が心配
0916nobodyさん2007/10/22(月) 15:32:19ID:???
>>911
どうやらそのようだ。
0917nobodyさん2007/10/22(月) 15:41:12ID:tvXYQA/L
$hogeの[0]〜[100]までに同じ値(例としてNULL)を一気に入れることは可能でしょうか?

以下のようにすると効率が悪いので他に効率的な方法がありましたらお願い致します
$hoge = array(NULL,NULL,NULL,NULL,NULL…);
0918nobodyさん2007/10/22(月) 15:43:13ID:???
>>917
for($i=0;$i<=100;$i++){
$hoge[$i] = NULL;
}
0919nobodyさん2007/10/22(月) 15:46:41ID:???
>>917
array_pad
0920nobodyさん2007/10/22(月) 15:48:07ID:???
>>917
array_fill
0921nobodyさん2007/10/22(月) 15:49:56ID:???
プライベートのブログでやればいいのに>細胞図の人、
社会人失格だなw
0922nobodyさん2007/10/22(月) 16:20:16ID:???
上鍵さんってこんな幼稚な人間だったのか…w
0923nobodyさん2007/10/22(月) 16:21:25ID:???
どっちもどっちです。本当にありがとうございました。
0924nobodyさん2007/10/22(月) 16:25:29ID:???
サイボウズの看板背負っていちゃもんつけてるやつバカだな
ネットには間違った情報が氾濫してるのが当たり前なのに
いちいち記事にしてスルーできないなんて糞だなこいつ
0925nobodyさん2007/10/22(月) 16:31:15ID:???


  見えます!サイボウズのオフィスで
    銀縁メガネにツルピカおでこが青筋たてて因縁つけてる様子が見えます!

0926nobodyさん2007/10/22(月) 16:32:38ID:???
てかこのスレも何か私怨くさいんだが
関係者混ざってるだろ
どっちもどっちでおk
0927nobodyさん2007/10/22(月) 16:32:45ID:KptdLAsS
phpと.fowardを使った自動返信メール&データベース登録を現在検討中でして
.fowardの設定をしているところです。とりあえずメールの転送設定をして
動かしてみましたが、問題無く動いている様です。
これから.fowardとphpの連結をしたいと思うのですが、.forward側にはどの
様に記述をすれば良いでしょうか?全くの素人で申し訳ありませんが、
ご教授頂けたら幸いです。
0928nobodyさん2007/10/22(月) 16:38:58ID:???
>>919-920
array_padとarray_fillどっちがいいですか
0929nobodyさん2007/10/22(月) 16:45:46ID:???
>>928
マニュアル読めば微妙に用途が違うからわかると思うんだけど、とりあえずarray_fill
レス数が900を超えています。1000を超えると表示できなくなるよ。