【PHP】下らねぇ質問はID出して書き込みやがれ 105
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/03/17(木) 04:00:34.11ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 104
http://hibari.2ch.net/test/read.cgi/php/1297669559/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0632nobodyさん
2011/04/11(月) 17:23:34.54ID:???0633nobodyさん
2011/04/11(月) 17:29:22.88ID:???0634nobodyさん
2011/04/11(月) 17:44:14.67ID:???0636nobodyさん
2011/04/12(火) 02:11:31.31ID:???PHPの教科書という本を終えて、さらにwebプログラミングについて学びたいと考えているのですが、フレームワークやCGI等、具体的にどんなことを勉強すればいいのか見えてこず困っています…。
皆さんは駆け出しプログラマのとき、どのように知識を増やしていきましたか?聞かせていただけると嬉しいです。
0637nobodyさん
2011/04/12(火) 02:48:56.55ID:???ネットワークに手軽にアクセス出来るスクリプト言語だろ。
0642nobodyさん
2011/04/12(火) 09:23:19.37ID:???そんなあなたには、こちらがお似合い!
【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/l50
0643nobodyさん
2011/04/12(火) 22:51:34.82ID:???0644nobodyさん
2011/04/13(水) 00:47:25.03ID:appmuAfb|id|name|age|
|1 |Aさん|10|
|2 |Bさん|15|
|3 |Cさん|13|
(以下略)
上のようなテーブルで、idが1,4,7,11,21,35・・・のいずれかのレコードを抽出したいのですが、クエリは
WHERE id = 1 OR id = 4 OR id = 11 OR ・・・
みたいにひたすらつなげて書くんでしょうか・・・何か短い書き方ありますか?
あと、ORが大量にあると負荷が極端に増えたりしますか?
0646nobodyさん
2011/04/13(水) 06:02:07.82ID:aY/2E/pl$ tar zxf APC-3.0.17p2.tgz
$ cd APC-3.0.17p2
$ phpize
$ ./configure --enable-apc
$ make
$ su -
# make install
思ったほどの性能ではなかったのでアンインストールをしたいと思って
pecl uninstall APC
rpm -ihv --test APC-3.1.7
yum remove php-pecl-apc
yum remove apc
といろいろ試したのですができません。
どうしたらでしょうか?OSはFEDORA14です。
0647nobodyさん
2011/04/13(水) 08:08:26.73ID:???idが、インデックス対象のカラムであっても、OR使ったらインデックスが使われない。
って、PHPの質問じゃねぇじゃん。
0648nobodyさん
2011/04/13(水) 10:31:24.37ID:???SQL文のほうはIN句を使えば多少短く書ける
PHPのほうは配列にidを格納してimplodeで繋げればいい
0649nobodyさん
2011/04/13(水) 10:36:11.94ID:???PHPの質問じゃねーし、makeコマンドはソースからのコンパイルビルドであって
パッケージのインストールじゃねえ
make uninstallでビルドしたファイルを削除してくれるソフトもあるから試してみれば?
0650。 ◆oDupeixhZv52
2011/04/13(水) 10:36:32.74ID:???0651nobodyさん
2011/04/13(水) 11:29:49.14ID:???どっちにしろPHP関係ないし。
0652nobodyさん
2011/04/13(水) 13:44:12.94ID:???0653nobodyさん
2011/04/13(水) 13:48:52.85ID:???これって無視していいんですかね?
具体的にはどんな問題が起きるんでしょうか?
0654nobodyさん
2011/04/13(水) 15:16:13.97ID:???>>649もかいてるけど、make installでインストールされたものをすべて消せばいいよ。
--prefixでディレクトリ指定してれば楽だったんだけどね。
それと、rpm -ihv は、インストール用コマンドだよ。
0656nobodyさん
2011/04/13(水) 15:35:08.26ID:???0657644
2011/04/13(水) 22:36:22.96ID:urwW+Turありがとうございます調べてみます
>>655
idは別のテーブルにカンマ区切りで格納しています
|1|グループA|1,2,5,7,…|
|2|グループB|1,3,4,5,…|
|3|グループC|2,3,4,6,…|
みたいな感じです
0660nobodyさん
2011/04/13(水) 22:44:29.40ID:???カンマ区切りで保持しているのが設計の誤り。
テーブルレイアウトを変更することができないなら、書かれていたように、長いSQLを発行する。
変更することができるなら、短いSQLを発行すれば、それよりもずいぶん速く結果を取得できるようになる。
続きはSQLスレあたりで。
0661660
2011/04/13(水) 22:46:13.47ID:???SQL質疑応答スレ 11問目
http://hibari.2ch.net/test/read.cgi/db/1299305530/
>>659
MySQLスレはややスレ違い。
0662nobodyさん
2011/04/13(水) 23:09:19.36ID:???0663644
2011/04/14(木) 00:24:00.71ID:???なんとなく正解がわかりました。ありがとうございます。
まだテスト段階だったので構造を直してチャレンジしてみます。
0664nobodyさん
2011/04/14(木) 00:36:14.23ID:???0665nobodyさん
2011/04/14(木) 02:31:23.67ID:???$result = mysql_query("SELECT * FROM Persons
WHERE FirstName='Peter'");
↑
Peterを変数に代入して入れたいんですけど、どうしたらいいですか?
0666nobodyさん
2011/04/14(木) 02:33:15.59ID:jIcMQS2c$result = mysql_query("SELECT * FROM Persons
WHERE FirstName= $omanko ");
↑でやっても駄目なんですよね...
0667nobodyさん
2011/04/14(木) 03:13:22.44ID:nz/ViMIK0668nobodyさん
2011/04/14(木) 03:55:45.55ID:???ひyな言葉ではしゃぐ中2のどちらかだろ
0669nobodyさん
2011/04/14(木) 07:55:10.31ID:???$omanko = 'peter';
$result = mysql_query("SELECT * FROM Persons
WHERE FirstName= '$omanko' ");
0671nobodyさん
2011/04/14(木) 10:39:32.64ID:???0672nobodyさん
2011/04/14(木) 12:25:02.48ID:???>>669か
$result = mysql_query("SELECT * FROM Persons WHERE FirstName= '".$omanko."' ");
っていう形にする必要があると思うんだけどどうだろ
0673nobodyさん
2011/04/14(木) 12:42:29.02ID:???0675nobodyさん
2011/04/14(木) 16:00:44.75ID:???0676nobodyさん
2011/04/14(木) 18:00:13.96ID:???0677nobodyさん
2011/04/14(木) 18:23:00.01ID:???0679nobodyさん
2011/04/15(金) 09:30:39.97ID:vqhPXrat$res =& $mdb2 -> exec($sql);
の"=&"の意味が分かりません
マニュアルの演算子を調べたのですが見付かりませんでした
これはどういう意味でどういう使われ方をするのでしょうか?
また、オライリーのPHP本には"&="が載っていますが、コレとは別の意味なのでしょうか?
0681nobodyさん
2011/04/15(金) 09:57:51.25ID:vqhPXrat代入と言うことは、普通の"="演算子と何も変わらないということでしょうか?
代入演算子という名前ということは参照でもないのかと思ってしまったのですが
また、逆に"&="は左を右に代入という事でよろしいですか?
0682nobodyさん
2011/04/15(金) 10:08:11.95ID:???これは参照渡し
$a &= $b
これはビット演算子で
$a = $a & $b
と等価。
0683nobodyさん
2011/04/15(金) 10:10:04.79ID:???=はコピーによる代入
=&は参照による代入
http://jp.php.net/manual/ja/language.operators.assignment.php
&=は複合演算子で'&'はビット演算子
$a &= 0xff -> $a = $a & 0xff
0684nobodyさん
2011/04/15(金) 10:15:11.42ID:vqhPXrat0685nobodyさん
2011/04/15(金) 12:09:22.46ID:???0686nobodyさん
2011/04/15(金) 16:50:58.33ID:weEN1v7D1<>挨拶<><>2/9<>1
2<>挨拶<><>2/9<>0
3<>謝罪<><>2/22<>1
4<>挨拶<><>3/21<>0
5<>お礼<><>4/1<>1
こういう文字列から
1
2
3
4
5
これだけを抜き出して取得してファイルに書き出したいのですが
何かいい方法はないでしょうか
0687nobodyさん
2011/04/15(金) 17:04:24.01ID:???0689nobodyさん
2011/04/15(金) 17:55:16.54ID:???$str = <<<EOL
1<>挨拶<><>2/9<>1
2<>挨拶<><>2/9<>0
3<>謝罪<><>2/22<>1
4<>挨拶<><>3/21<>0
5<>お礼<><>4/1<>1
EOL;
$lines = explode("\n", $str);
foreach ($lines as $line) {
$items[] = explode("<>", $line);
}
foreach ($items as $item) {
$result .= $item[0] . "\n";
}
file_put_contents('log.txt', $result);
0690nobodyさん
2011/04/15(金) 18:13:59.68ID:???foreach(file("test.txt")as$l)$v[]=explode("<>",$l, 2);print_r($v);
0691nobodyさん
2011/04/15(金) 18:59:50.34ID:???<?php
foreach(file("test.txt")as$l)$v[]=current(explode("<>",$l, 2));print_r($v);
0692nobodyさん
2011/04/15(金) 19:01:56.32ID:???file_put_contents("ob.log",implode("\n", $v));
0693。 ◆oDupeixhZv52
2011/04/15(金) 19:12:05.59ID:???if (($lines = file("ob.log")) !== FALSE)
foreach ($lines as $line)
$nums[] = reset(explode("<>",$line));
print_r($nums);
0696nobodyさん
2011/04/15(金) 20:12:11.01ID:???0701nobodyさん
2011/04/15(金) 23:38:57.08ID:???$v[]=current(explode("<>",$l, 2));
$work = explode("<>",$l, 2);
$v[] = $work[0];
下のほうが速かった。
上の方がスマートなんだけどなぁ
0702nobodyさん
2011/04/15(金) 23:50:42.17ID:???0703686
2011/04/16(土) 00:21:27.07ID:MW7RyDowforeach(file("ob.log")as$l)$v[]=current(explode("<>",$l, 2));
file_put_contents("test.txt",implode("\n", $v));
で成功しました。
>>689-693の皆さんもありがとうございました。
ちなみに>>688は私ではなく煽りの人みたいです
0704nobodyさん
2011/04/16(土) 01:04:39.03ID:???0705nobodyさん
2011/04/16(土) 02:03:05.26ID:???0707nobodyさん
2011/04/16(土) 11:47:01.53ID:KaV2BHRgの状態で、もう一度画面Aから画面Bにタブを開いてアクセスしたとします。
すると「一度ウィンドウを開いているのでアクセスできません」
みたいなエラーメッセージを出したいのですが、これってPHPだけで可能ですか?
Cookieを使うことも考えたのですが、画面Aに戻った時、
Cookieを削除したらウィンドウを2つ以上開くことが出来るように思います。
画面AでCookieが切れるわけですから、更新ボタンを押した時とか。
ウィンドウ操作なのでjavascriptのような気もしますが、PHPで可能なら教えてください
0708nobodyさん
2011/04/16(土) 11:55:33.38ID:???0709nobodyさん
2011/04/16(土) 12:04:44.58ID:KaV2BHRgウィンドウをいくつも開かれて攻撃されるのを防ぎたいのですが、
そういうのは無駄なんですかね?
0710nobodyさん
2011/04/16(土) 13:21:19.97ID:???これは、画面Aから画面Bを開いたことを言われているのでしょうか?
画面を複数開くことを抑止したいのでしょうか?
画面Aから画面Bを開いた履歴に基づいて再度は開けないように抑止したいのでしょうか?
それとも画面Aから開ける画面Bは1画面に限定して同時に2画面のBを開けないように抑止したいのでしょうか?
0711nobodyさん
2011/04/16(土) 13:23:22.04ID:???完全ではないとか。労が多いわりには実が少ない
ということじゃない?
0712nobodyさん
2011/04/16(土) 13:44:01.00ID:???0713nobodyさん
2011/04/16(土) 14:41:29.33ID:???0714nobodyさん
2011/04/16(土) 14:46:21.48ID:KaV2BHRg>これは、画面Aから画面Bを開いたことを言われているのでしょうか?
そうです。
>>713
それはやっていますが、とりあえず複数ウィンドウを防止したいんです。
PHP側で出来るのか、はたまた他の方法なのかよくわからなくて、
ある程度目星が付いたらググって調べようとは思うのですが・・・
0715nobodyさん
2011/04/16(土) 15:18:58.52ID:Bn3j3K6j【PHPのバージョン】5.3.6
【連携ソフトウェア】
【質問内容】
php.ini error_reportingについて
PEAR MDB2,Authを使用したところ
trict Standards: やStrict Standards: がいっぱい出てきた。
それでgoogle大先生に聞いたところ
php.iniのerror_reportingを
error_reporting = E_ALL | E_STRICT
から
error_reporting = E_ALL
に変更すれば問題ないとの教えがあり、変更した。
ところが変更したところ
fatal errorやsyntax errorまで表示されなくなってしまった。
それは困るので何とか表示できるようにしたい。
error_reportingをどのような設定にすれば良いのかご教示頂きたい。
よろしくお願い致します。
0717nobodyさん
2011/04/16(土) 16:39:22.59ID:???複数ウィンドウを防止するという発想の方を変えたほうがいい。
最初に画面Aから画面Bにタブを開いてアクセスした場合はどうする?
メインのウィンドウで画面Bに遷移できなくなっちゃうね。
そこに労力を割くより、多重アクセスがあっても問題ないようなシステムに
することの方が重要。
0719nobodyさん
2011/04/16(土) 18:29:02.93ID:mJdJuPdX0720nobodyさん
2011/04/16(土) 19:52:07.39ID:???0721nobodyさん
2011/04/16(土) 21:01:36.91ID:???0722nobodyさん
2011/04/16(土) 23:31:50.34ID:???0723nobodyさん
2011/04/16(土) 23:39:14.45ID:???0727nobodyさん
2011/04/17(日) 09:09:49.80ID:???0728nobodyさん
2011/04/17(日) 09:17:54.25ID:???0729nobodyさん
2011/04/17(日) 12:07:08.72ID:???0730nobodyさん
2011/04/17(日) 12:10:05.87ID:???セッションファイルは1つだろうしなにを言ってるのかよくわからんが
0731nobodyさん
2011/04/17(日) 12:31:15.22ID:???■ このスレッドは過去ログ倉庫に格納されています