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

【PHP】下らねぇ質問はID出して書き込みやがれ 128

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2013/05/26(日) 23:01:58.78ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 127
http://kohada.2ch.net/test/read.cgi/php/1363698829/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0697nobodyさん2013/07/16(火) NY:AN:NY.ANID:XxdQ/HjM
いろんなサイトで使ってもらうようなパーツを想定しています。
その際、クッキー名をリファラにしたいのですが
(つまり毎度リファラURLがそのままクッキー名に)
そのクッキーが前回と同じかどうか(前回と同じサイトで利用された場合)
を判定するif(isset($_COOKIE[])){ }
この条件判定の際に、リファラをクッキー名として入れ込むことが出来ません。

動きませんが、感覚としては下記のようなことがしたいです。

$referer = $_SERVER['HTTP_REFERER'];
setcookie($referer, value); //ここまでは出来ます
if( isset ($_COOKIE[$referer])){ }

↑この$_COOKIE[$referer]というのがどうもいけてないようです。
クッキーで前回と同じサイトの同じURLで利用されたかどうかを判定するのは不可能でしょうか?
どなたかご教授お願いします。
0698nobodyさん2013/07/16(火) NY:AN:NY.ANID:???
>>697
> setcookie($referer, value);
valueって何だよ。

> どうもいけてないようです。
なにがどうなのかさっぱりわからないが、最初のアクセスでリファラをcookieにsetしといて、
次回はそれを元にチェックすればいいんじゃないの?
0699nobodyさん2013/07/16(火) NY:AN:NY.ANID:XxdQ/HjM
>>698
返信ありがとうございます。
valueは適当な文字列ということでなんでもいいです
数字が入る予定です

>なにがどうなのかさっぱりわからないが、最初のアクセスでリファラをcookieにsetしといて、
リファラのURLをそのままクッキーにセットするというのは出来ました。


>次回はそれを元にチェックすればいいんじゃないの?
これが出来ません。
$_COOKIE[$referer]もしくは$_COOKIE[$_SERVER['HTTP_REFERER']]という記述が通るなら
出来るような気がするんですが、これが通りません。
0700nobodyさん2013/07/16(火) NY:AN:NY.ANID:???
キー名に . があった場合は、 _ になります。
0701nobodyさん2013/07/16(火) NY:AN:NY.ANID:XxdQ/HjM
>>700
つまりURLをキー名にするとhttp://example.comがhttp://example_comになるってことですか?

すいません、そもそもsetcookieも出来てなかったかもしれません。
簡単なテストが以下です

$referer = $_SERVER['HTTP_REFERER'];
setcookie($_COOKIE[$referer], 1, time()+60*60*24*7);
echo var_dump($_COOKIE[$referer]);

表示結果はNULLです。
1、となって欲しいのですが…どこか間違ってるでしょうか?
0702nobodyさん2013/07/16(火) NY:AN:NY.ANID:???
>>701
var_dump( $_COOKIE );
0703nobodyさん2013/07/16(火) NY:AN:NY.ANID:???
まずはリファも固定文字列でチェックしては
0704nobodyさん2013/07/16(火) NY:AN:NY.ANID:XxdQ/HjM
>>702
それやるとarray(23)となって自分のサイトで使ってる今回のテストと関係ないクッキーも
合わせて24個全部出てきました。

>>703
echo $referer;はちゃんと出ますよ。
0705nobodyさん2013/07/16(火) NY:AN:NY.ANID:???
自分でデバッグできねーならやめてしまえ
0706nobodyさん2013/07/16(火) NY:AN:NY.ANID:???
>>701
マニュアルで$_COOKIEを調べろ。
あと、ブラウザのデバッグツール(またはそれ系の拡張)入れて、cookieの様子を確認しろ。
0707nobodyさん2013/07/16(火) NY:AN:NY.ANID:XxdQ/HjM
>>700
>>706
ありがとうございました。出来ました。
0708nobodyさん2013/07/16(火) NY:AN:NY.ANID:???
>>707
ウザい二度と来るな
0709nobodyさん2013/07/16(火) NY:AN:NY.ANID:???
swfからPOSTすると500 Internal Server Errorが発生します。
なぜでしょうか
0710nobodyさん2013/07/16(火) NY:AN:NY.ANID:GRbiH6Vd
>>709
errorlogみてみ
0711nobodyさん2013/07/16(火) NY:AN:NY.ANID:???
>>710
すみません、swf関係ありませんでした
失礼しました。
0712nobodyさん2013/07/17(水) NY:AN:NY.ANID:???
>>710
ID出してないクズにレスしてんな知能障害
失せろ
0713nobodyさん2013/07/17(水) NY:AN:NY.ANID:???
>>710
ウザい。
0714nobodyさん2013/07/17(水) NY:AN:NY.ANID:H2iNBEZT
さすがですね?
0715nobodyさん2013/07/17(水) NY:AN:NY.ANID:???
さすがです
0716nobodyさん2013/07/17(水) NY:AN:NY.ANID:???
>>709-711
このゴミ共が何でこのスレを荒らそうと思ったのか疑問
0717nobodyさん2013/07/17(水) NY:AN:NY.ANID:???
>>716

  死  ね
0718nobodyさん2013/07/17(水) NY:AN:NY.ANID:???
>>717
ウザいゴミ
早くタヒね
0719nobodyさん2013/07/17(水) NY:AN:NY.ANID:LitNIdVr
こんな頭の血管細いやつらがなんでこんなタイトルのスレにはりついてんだよw
自分で寿命縮めにきてるドMかよ
0720nobodyさん2013/07/17(水) NY:AN:NY.ANID:???
ちょっと>>678について考えてたが
文字列と数値型の検索速度はインデックス化してなかったら差が出ると言いたかったのか?
0721nobodyさん2013/07/18(木) NY:AN:NY.ANID:???
>>720
ブログでやれ
0722nobodyさん2013/07/18(木) NY:AN:NY.ANID:???
>>720
ID出せクソが
0723nobodyさん2013/07/18(木) NY:AN:NY.ANID:6pVpjJwr
$ipAddress = $_SERVER["REMOTE_ADDR"];
print "$ipAddress";
でipアドレスを表示させようとすると
::1
と表示されてしまいます。
何が原因なのでしょうか?
お分かりの方いましたらご教授願います。
0724nobodyさん2013/07/18(木) NY:AN:NY.ANID:???
http://stackoverflow.com/questions/2939311/remote-addr-not-returning-ipv4-address
0725nobodyさん2013/07/18(木) NY:AN:NY.ANID:???
IPv6やねー
0726nobodyさん2013/07/18(木) NY:AN:NY.ANID:???
基礎からやってないゴミが言語だけ習得してやろうとした結果がこれ
ゴミすぎて色々終わってるけど本人は気づいてないんだろうな
0727nobodyさん2013/07/18(木) NY:AN:NY.ANID:EdDxyS9V
単にIPv6のループバックアドレスだって気づかなかっただけじゃないかな。
基礎の範囲がどこまで含むのかわかんないけども。
0728nobodyさん2013/07/18(木) NY:AN:NY.ANID:???
基礎の範囲ではないと思うけど
ぐぐればすぐ出てくるようなことを聞くなとは思う
0729nobodyさん2013/07/18(木) NY:AN:NY.ANID:EdDxyS9V
その気持ちもわからんではないが、そうすると下らなくない質問になるジレンマ
0730nobodyさん2013/07/19(金) NY:AN:NY.ANID:???
検索サイトすらまともに使えない白痴の使う言語PHP
07317232013/07/19(金) NY:AN:NY.ANID:wJN3xvbD
>>725>>727
返答ありがとうございます。
簡単なアクセスカウンタを作っていて、同じIPアドレスでは何度もカウントしない
ようにする為にIPアドレスから判定したいのですが、IPv6だと結果として::1 が出てしまいます。
IPv6の場合はどうすればいいのでしょうか?
同一IPアドレスかどうかだけ分かれば良いです。ご存知でしたら教えていただけないでしょうか?
0732nobodyさん2013/07/19(金) NY:AN:NY.ANID:???
::1 と ::1 を比較すれば同一IPアドレスだってわかるよ
0733nobodyさん2013/07/19(金) NY:AN:NY.ANID:eqXiA8JH
>>731
ええっと、外部からのアクセス時に ::1 が表示されるということでいいのか?
0734nobodyさん2013/07/19(金) NY:AN:NY.ANID:???
>>724はスルーなのか
簡単な英語も読めないやつはプログラムやめたほうがいいよ
0735nobodyさん2013/07/19(金) NY:AN:NY.ANID:???
ループバックアドレスの意味わかってないんだろ
0736nobodyさん2013/07/19(金) NY:AN:NY.ANID:fYJiONHF
【OS名】CentOS
【PHPのバージョン】6.3
【連携ソフトウェア】SQLite WordPress
【質問内容】
検索について質問です。
検索する際に複数のキーワードを指定しますが

例:東京 おみやげ おいしい

この場合の検索というのは

東京 and おみやげ and おいしい
東京 or おみやげ or おいしい

どちらになるのでしょうか?
検索エンジンでは特にそういったオプションは見なかったのですが
どちらが一般的なのか教えていただけないでしょうか。
0737nobodyさん2013/07/19(金) NY:AN:NY.ANID:???
すきにしろ
0738nobodyさん2013/07/19(金) NY:AN:NY.ANID:???
いっぺん試せよ
99%andだろうけどそんなCMSの仕様まで知らんソースヨメ
0739nobodyさん2013/07/19(金) NY:AN:NY.ANID:eqXiA8JH
>>736
スレ違いだけど、一般にそれらは複合された上で、優先度がつけられる。

>>738
CMSの仕様を知りたいわけじゃなさそうだが
0740nobodyさん2013/07/19(金) NY:AN:NY.ANID:???
>>786
WordPressはAND検索。
一般的にもスペースで単語を区切って検索するのは、AND検索。
0741nobodyさん2013/07/19(金) NY:AN:NY.ANID:???
下らねぇレスばっかだな
答えられないのなら黙っときゃいいのに
0742nobodyさん2013/07/19(金) NY:AN:NY.ANID:???
>>741
>>741
0743nobodyさん2013/07/19(金) NY:AN:NY.ANID:9KDx1fUs
PHPの配列の型について質問です。
クッキーを配列にしているのですが
for($i=0;$i<2;$i++){
setcookie("cookie[cookie.$i]", 0, time()+60);
}
実際とは違うので↑が合ってるか分かりませんがこんな感じに書いてます。
この後セットしたものを
echo var_dump($_COOKIE["cookie"]);
で見ると、
array(6) {
["cookie0"]=>
string(1) "0"
["cookie1"]=>
string(1) "0"
["cookie2"]=>
string(1) "0"
}
と、string型になってしまいます。これをintにしたいのですが
例えばsetcookie("cookie[cookie.$i]", (int)0, time()+60);
としてもstring(1) "0"と出ます。これは仕様ですか?
0744nobodyさん2013/07/19(金) NY:AN:NY.ANID:9KDx1fUs
array(6)っていうのはコピペミスでした、この場合array(3)です。
どなたか宜しく御願いします。
0745nobodyさん2013/07/19(金) NY:AN:NY.ANID:???
>>743
cookieってテキストファイルに保存されるから、文字列として扱いましょう。
0746nobodyさん2013/07/19(金) NY:AN:NY.ANID:???
>>745
ありがとうございます。
stringになるものとして扱っていきます。
0747nobodyさん2013/07/19(金) NY:AN:NY.ANID:???
>>742
で、でた〜wこれで返した気奴〜wwwww
0748nobodyさん2013/07/20(土) NY:AN:NY.ANID:0pH7e+ys
http://shts.fool.jp/bbs/read.php?no=1334
0749nobodyさん2013/07/20(土) NY:AN:NY.ANID:???
PDOでsqlite3使ってるんですが、1万件程度のorder byがやたら遅いです
Windowsのローカル環境なら一瞬なんですが、サーバでやると何も返ってこなくなります
ローカルはsqlite3.7、サーバは3.6で差はありますが、そんなもんでしょうか?
サーバはubuntuです
全く同じDBファイルで速度がこうも違うのはどうも・・・
0750nobodyさん2013/07/20(土) NY:AN:NY.ANID:J6XcTNYz
ID出してなかったので連投。

PDOでsqlite3使ってるんですが、1万件程度のorder byがやたら遅いです
Windowsのローカル環境なら一瞬なんですが、サーバでやると何も返ってこなくなります
ローカルはsqlite3.7、サーバは3.6で差はありますが、そんなもんでしょうか?
サーバはubuntuです
全く同じDBファイルで速度がこうも違うのはどうも・・・

何かわかる方よろしくお願いします。
0751nobodyさん2013/07/20(土) NY:AN:NY.ANID:???
ハードの性能が悪いんだろ
とくにハードディスクとか
0752nobodyさん2013/07/20(土) NY:AN:NY.ANID:???
サーバーが共用で処理を分けあってるんだろ。
0753nobodyさん2013/07/20(土) NY:AN:NY.ANID:???
sqlitewwwww
0754nobodyさん2013/07/20(土) NY:AN:NY.ANID:???
>>749-750
投稿前にメール欄の確認すらできないゴミがプログラミングやってんの?
マジで頭悪そう
0755nobodyさん2013/07/20(土) NY:AN:NY.ANID:???
>>753
何か問題あるんでしょうか?
0756nobodyさん2013/07/20(土) NY:AN:NY.ANID:???
>>755
>>1
0757nobodyさん2013/07/20(土) NY:AN:NY.ANID:???
ちゃんとインデックス張ってんの?
0758nobodyさん2013/07/20(土) NY:AN:NY.ANID:???
sqliteは導入の手軽さが売りってだけで
導入が手軽だからって初心者は使ってはいけないDB
0759nobodyさん2013/07/20(土) NY:AN:NY.ANID:???
メモリとCPUのリソースの差だ。
家PCだと100メガメモリ確保してソート可能だろうが。
共用サーバーでは一ユーザーにそんなに使わせてくれない可能性。
例えばメモリが1Mとか3Mでも瞬時に返るように設計する。
07607502013/07/20(土) NY:AN:NY.ANID:J6XcTNYz
>>757
ありがとうございます。
Windowsでは早かったので張ってませんでしたが、張ってみても変わらないですね。
0761nobodyさん2013/07/20(土) NY:AN:NY.ANID:???
検索、ソートにつかう項目はindex必須。
07627502013/07/20(土) NY:AN:NY.ANID:J6XcTNYz
>>758
初心者というわけでも無いので・・・
MySQLは普通に使いますが、今回はsqliteでも十分かと思っていました。
基本Selectするだけなので。
sqliteでもファイルの上限は100TくらいOKの仕様だし、速度的にはMySQLと遜色ないという報告もありましたし・・・。

>>759
一応バーチャルホストなので、100Mくらいは使えます。

order byしなければ速いんですけどね・・・。
やはりHDDですかね?
0763nobodyさん2013/07/20(土) NY:AN:NY.ANID:???
>>762
初心者じゃないならくだらない質問やめれば?
お前こなくていいから。
0764nobodyさん2013/07/20(土) NY:AN:NY.ANID:???
ひでえw
0765nobodyさん2013/07/20(土) NY:AN:NY.ANID:???
>>763
初心者を煽りたいだけのゴミ人間おつ
0766nobodyさん2013/07/20(土) NY:AN:NY.ANID:???
端から見てると>>762は初心者じゃないと思う
ただ心にかなり重い病気を抱えていると思う
0767nobodyさん2013/07/21(日) NY:AN:NY.ANID:g8Cbs23W
>>750
> サーバでやると何も返ってこなくなります
数値。
あと、そもそもスレ違い
0768nobodyさん2013/07/21(日) NY:AN:NY.ANID:???
>>750=ゴミw
リアルでもゴミ扱いなんだろうなw
本人が気づいてないだけでw
0769nobodyさん2013/07/21(日) NY:AN:NY.ANID:???
ここ、初めてみたけどレベル低いな
phpやってる人ってこんなもんなん?
0770nobodyさん2013/07/21(日) NY:AN:NY.ANID:???
>>769
>>1
0771nobodyさん2013/07/21(日) NY:AN:NY.ANID:???
>>770
くだらなくない質問ならIDいらないだろうがヴォケ
0772nobodyさん2013/07/21(日) NY:AN:NY.ANID:g8Cbs23W
>>769
何のレベル?煽りレベルは確かに低いと思う
0773nobodyさん2013/07/21(日) NY:AN:NY.ANID:???
>>771
>>1
0774nobodyさん2013/07/21(日) NY:AN:NY.ANID:???
最近このスレで解決した質問て無いよなw
まぁ質問者がゴミばっかりだけどw
0775nobodyさん2013/07/21(日) NY:AN:NY.ANID:g8Cbs23W
最近ってここ数時間の話かな
0776nobodyさん2013/07/21(日) NY:AN:NY.ANID:???
解決してもググったほうが早い糞みたいな質問ばっか
0777nobodyさん2013/07/21(日) NY:AN:NY.ANID:???
ボキャブラリーがゴミしかない煽り屋さんとか?
0778nobodyさん2013/07/21(日) NY:AN:NY.ANID:???
触るな
0779nobodyさん2013/07/21(日) NY:AN:NY.ANID:???
>>777
自分がゴミって自覚があるんだなクズw
0780nobodyさん2013/07/21(日) NY:AN:NY.ANID:???
うるさいゴミ
0781nobodyさん2013/07/22(月) NY:AN:NY.ANID:iCQBXrZJ
>>776
ググったほうが早くない質問ってPHPみたいな
Webに情報がたくさんある言語だと難しいんじゃないのかなぁ?
0782nobodyさん2013/07/22(月) NY:AN:NY.ANID:40jG2XTL
質問です。
PDOのlastInsertId() メソッドを使いたいのですが、これは、トランザクションを
使わなくとも、確実に直近のIDを返してくれるのでしょうか?

lastInsertId() をトランザクションと併用するべきか迷ってます。
よろしくお願いします。
0783nobodyさん2013/07/22(月) NY:AN:NY.ANID:???
>>782
トランザクションは、まったく関係ありません。
確実に最後のIDが取得できます。
トランザクションは、まったく関係ありません。
07847822013/07/22(月) NY:AN:NY.ANID:W+cK0ECS
>>783
ありがとうございます。
マニュアルを見ても疑問でしたので助かりました。
http://www.php.net/manual/ja/pdo.lastinsertid.php
0785nobodyさん2013/07/22(月) NY:AN:NY.ANID:???
むしろトランザクション使ってたら、閉じるまで0しか返ってこねーよ?
ということが書いてあるな
07867822013/07/22(月) NY:AN:NY.ANID:ONOFBZC7
>>785
それだと、解釈が逆じゃないですか。

if lastInsertId is called before calling commit, the right id is returned.
意訳:コミットする前にlastInsertIdを実行するなら、正しい結果のidがリターンされます。

つまり、マニュアル下の例文は、”コミットした後だと0を返す”ということを
注意したいのではないかと思います。
0787nobodyさん2013/07/22(月) NY:AN:NY.ANID:???
いつまでも引っ張る奴うざい
0788nobodyさん2013/07/22(月) NY:AN:NY.ANID:iCQBXrZJ
>>786
mysqlだとって書いてるんだけど、それは一致してんの?
07897822013/07/22(月) NY:AN:NY.ANID:BFmXtu3i
>>788
はい。mysqlを使ってます。
0790nobodyさん2013/07/22(月) NY:AN:NY.ANID:iCQBXrZJ
>>789
http://dev.mysql.com/doc/refman/5.1/ja/information-functions.html#idp60843136
トランザクションなしで動くよ
07917822013/07/22(月) NY:AN:NY.ANID:BFmXtu3i
>>790
完璧な解答ありがとうございます。
納得できました。こういうことだったんですね。

『この動作は、各クライアントが他のクライアントの動向を気にせず、
ロックやトランザクションなしで、独自の ID を呼び出せるようにします。 』
0792nobodyさん2013/07/22(月) NY:AN:NY.ANID:SyWIm22p
変数名の一部に変数名を使う場合の質問です。
$data_1 = "10";
$data_2 = "20";
$data_3 = "30";
for($a = 1;$a <= 3;$a++){
$data_{$a} = "0";
}

これで$data_1,$data_2,$data_3の値には全て0が入ると思うのですがうまくいきません。
どこが間違っていますか?
0793nobodyさん2013/07/22(月) NY:AN:NY.ANID:???
>>792
$data_1 = "10";
$data_2 = "20";
$data_3 = "30";
for($a = 1;$a <= 3;$a++){
${data.'_'.$a} = "0";
}
0794nobodyさん2013/07/22(月) NY:AN:NY.ANID:???
${'data_'.$a} = "0"; です。
0795nobodyさん2013/07/22(月) NY:AN:NY.ANID:SyWIm22p
>>793様>>794様、即答ありがとうございました。
下らねぇ質問大変失礼いたしました。
0796nobodyさん2013/07/22(月) NY:AN:NY.ANID:???
>>792
そういうのは普通配列を使うんだけど、配列じゃ駄目なの?
■ このスレッドは過去ログ倉庫に格納されています