【PHP】下らねぇ質問はID出して書き込みやがれ 109
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/07/28(木) 06:53:37.45ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 108
http://hibari.2ch.net/test/read.cgi/php/1309599473/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0320nobodyさん
2011/08/07(日) 18:29:45.47ID:???0321nobodyさん
2011/08/07(日) 18:32:43.69ID:???0322nobodyさん
2011/08/07(日) 18:35:25.19ID:???0323nobodyさん
2011/08/07(日) 21:07:53.36ID:???0324nobodyさん
2011/08/07(日) 23:32:41.12ID:???0325nobodyさん
2011/08/07(日) 23:33:52.83ID:???0326nobodyさん
2011/08/07(日) 23:41:19.64ID:???0327nobodyさん
2011/08/07(日) 23:51:57.43ID:???0328nobodyさん
2011/08/07(日) 23:54:49.59ID:???0329nobodyさん
2011/08/08(月) 00:42:16.32ID:???0330nobodyさん
2011/08/08(月) 01:15:47.57ID:???0331nobodyさん
2011/08/08(月) 02:20:33.57ID:???0332nobodyさん
2011/08/08(月) 03:11:13.54ID:z33upbGp就職できますか?
0333nobodyさん
2011/08/08(月) 03:30:34.84ID:???0335nobodyさん
2011/08/08(月) 06:27:40.45ID:z33upbGp毎日C言語、C++、Javascript、PHPのプログラムの
本を読んでプログラム作りまくって勉強しています。
なんせニートなんで時間はたっぷりあります。
今、23歳なんで30までには起業してみます。
だいたいどのプログラムも同じような感じですが、
htmlとネットワークの知識のいるphpに苦戦してます。
とりあえずブログサービスやSNSサービスをやってみたいです。
0337nobodyさん
2011/08/08(月) 07:22:55.16ID:z33upbGp日本の20代の若者ですら、パソコンにデジカメの写真を取り込めない人から
ゲーム作って売ってる人まで幅広い層がいます。しかし、初心者ともいえず、
上級者ともいえない中間層がネット上には居場所がないような気がします。
プログラムの解説サイトでも超初心者向けと理解不能な上級者向けの
両極端で中間層がない気がします。なのでそのプログラムなどの勉強してる
中間層を日本全国から集めたようなコミュニティーを作りたいです。
アメブロやmixiよりも匿名性を重視して情報の真偽を明確にする
コミュニティーを作ろうと予定してます。
友達同士で馴れ合いをするようなコミュニティーでなく主に情報の交換
が目的ですかね。
0338nobodyさん
2011/08/08(月) 07:33:12.50ID:???SEになりたいのかコミュニティ主催者になりたいのかどっちなんだ?
>>336は前者の意味で聞いたんだが。
0339nobodyさん
2011/08/08(月) 07:58:35.86ID:z33upbGpSEかな、コミュニティー主催者とかは全部大学生バイトとかに試験的
にやらせてみようかなと思ってます。
0340nobodyさん
2011/08/08(月) 08:06:38.30ID:???0341nobodyさん
2011/08/08(月) 09:38:24.91ID:???http://hibari.2ch.net/test/read.cgi/hp/1311593778/
0342nobodyさん
2011/08/08(月) 14:20:21.46ID:ZpEfNsVtglob 関数において、角括弧が含まれるファイルが返りません
角括弧が含まれるファイル名に一致させるにはどうすれば良いでしょうか
0344nobodyさん
2011/08/08(月) 14:34:23.42ID:4ZN6sWYKその処理の先頭から末尾まででいろんなPHP関数が使われてて、
どこかでエラーが発生したとき(falseが返って、以降のコードの実行が不可能になったとき)に
そのエラーを捕まえたいと思います
地道にやれば関数の返り値をいっこいっこチェックしていくべきなんでしょうが
そうではない方法で効率的にエラーを捕まえる方法はないでしょうか?
apacheのエラーログをチェックする以外の方法で、よろしくお願いします
0346342
2011/08/08(月) 14:51:54.71ID:ZpEfNsVtありがとうございます
以下のようにエスケープしてみましたが、一致しません
print_r(glob('\\[example.txt\\]'));
0349nobodyさん
2011/08/08(月) 15:44:19.78ID:???0350342
2011/08/08(月) 15:52:29.26ID:ZpEfNsVtそれは>>346と同じではないでしょうか
>>348
申し訳御座いません。間違えました
結果は同様に、[example].txt が返りません
print_r(glob('\\[example\\].txt'));
0353nobodyさん
2011/08/08(月) 16:09:12.40ID:???0356nobodyさん
2011/08/08(月) 16:21:35.10ID:???print_r(glob('[example].txt'));
print_r(glob('\[example\].txt'));
print_r(glob('\\[example\\].txt'));
結果
Array
(
)
Array
(
[0] => [example].txt
)
Array
(
[0] => [example].txt
)
0357nobodyさん
2011/08/08(月) 17:05:43.95ID:???echo 'これで改行される??\n';
0358nobodyさん
2011/08/08(月) 17:11:16.66ID:???globそのものは[]や{}はメタ文字の一種だろ
0359342
2011/08/08(月) 17:30:03.81ID:ZpEfNsVtこちらのファイルシステムの方に問題があるようですね
角括弧の部分は ? で代用することにします
有り難う御座いました
0360344
2011/08/08(月) 18:53:58.47ID:4ZN6sWYKありがとうございます、そういう機能があるのかと調べてみました。
が、公式のPHPマニュアルの例を見たら、結局該当箇所にtrigger_error()でエラーハンドラ呼び出してますよね
http://www.php.net/manual/ja/function.set-error-handler.php
これだと結局>>344で書いた「エラーが起こりそうな処理の返り値をチェックする」のと
労力的に変わらないですね(自分の理解が間違ってるのかもですが)
コードの任意の範囲内で起きたエラーを自動的に捕まえて、任意の処理を実行するみたいなのは
無理でしょうか?
try{}catch(){}も見たんですが、結局これも処理の途中でこまごまと
チェックしてthrow new Exception(); しなきゃいけないし。
SQLのトランザクションの場合は、try{.....}catch() の間でクエリエラーが発生したら
自動でロールバック処理してくれますが、これはDBがそこまで機能を実装してくれてるからってことかな…
0361nobodyさん
2011/08/08(月) 19:00:20.03ID:3C9WKAJH現在このようにしていますが、$tcnt(総件数)をユーザーが変更できるようにするには
どこをどう変えたら良いでしょうか?
$PAGESIZE = 10; #1ページに表示する件数
$page = $_GET["page"]; # 現在のページ
$tcnt = $_GET["tcnt"]; # 総件数
if (!isset($page)) {
$sql = "select count(*) as cnt from ○○";
$rst = mysql_query($sql, $con);
$col = mysql_fetch_array($rst);
mysql_free_result($rst);
$tcnt = $col["cnt"];
$page = 1;
}
$totalpage = ceil($tcnt / $PAGESIZE); #総ページ数
$sql = "select * from ○○ limit " . $PAGESIZE * ($page - 1) . ", $PAGESIZE";
0364nobodyさん
2011/08/08(月) 19:20:09.90ID:???limit
0365nobodyさん
2011/08/08(月) 19:20:24.76ID:???0366nobodyさん
2011/08/08(月) 19:40:32.88ID:???10,20,100から選べる。
0367nobodyさん
2011/08/08(月) 19:49:30.31ID:???0368nobodyさん
2011/08/08(月) 19:54:40.20ID:???countでレコード総数をとってきているのにそれを変更したいとは、
ユーザーは自分でレコードを追加したいって事なのかな?
夏休みだから助けてあげたいけど意味わかんねー
0369nobodyさん
2011/08/08(月) 19:55:17.88ID:3C9WKAJH違います
>>363
たとえば100件のデータがDBに格納されていて
その中の10件だけを取り出したいユーザーもいれば
その中の50件だけを取り出したいユーザーもいるので
そこをユーザーが自由に変えられるようにしたい
0370nobodyさん
2011/08/08(月) 20:05:48.50ID:???その10件や50件というのはトップページの場合はデータベースの先頭からの件数?
それだと普通にLIMITを使う。
LIMITというのは例えば「LIMIT 0,10」だとレコード0番目から10件のデータを読み出す
50件なら「LIMIT 0,50」になります。
読み出したいデータを検索や指定するならWHEREを使う。
0371nobodyさん
2011/08/08(月) 20:06:24.65ID:???言いたいのは表示件数って事なのかな。
0372nobodyさん
2011/08/08(月) 20:10:09.57ID:???中の人が例外やエラーを投げん限り捕捉できんだろ
0373nobodyさん
2011/08/08(月) 20:13:57.43ID:3C9WKAJH$PAGESIZE(1ページに表示する件数)は固定したいです。
>>371
表示する総件数ですね。すみません。
「格納されてる総件数」ではなく「ユーザーが表示したい総件数」です。
0374nobodyさん
2011/08/08(月) 20:20:11.51ID:???$page = $_GET["page"];
$PAGESIZE = $_GET["size"];
if ($page == 1){
$PAGESIZE = 10;
}
目的を果たすだけならこれで済むけど$__GETの内容や
SQLへのクエリーの渡し方がかなり危ないので、
そのあたりも検索して勉強する事をおすすめします。
0375nobodyさん
2011/08/08(月) 20:46:55.27ID:3C9WKAJHありがとうございます。
えーと、sizeって何ですか?それと
$sql = "select * from ○○ limit " . $PAGESIZE * ($page - 1) . ", $PAGESIZE"; この部分はこのままでいいんですか?
SQLへのクエリーの渡し方、了解です。
0376nobodyさん
2011/08/08(月) 20:54:45.05ID:???理解してないならそれを理解するべき
0377nobodyさん
2011/08/08(月) 21:03:39.04ID:3C9WKAJHしてます。ちょっと上のレスにも書いてあります。
0378nobodyさん
2011/08/08(月) 21:04:19.30ID:???0379nobodyさん
2011/08/08(月) 21:06:24.46ID:???$tcnt(総件数)をユーザーが変更できるようにしたいってことだけど、
$tcnt = $_GET["tcnt"]; # 総件数
だからそもそもユーザーが変更できるようになってんじゃないの?
0380nobodyさん
2011/08/08(月) 21:23:56.99ID:???tcnt設定する意味が微塵にもわからんけど
$PAGESIZE = 10; #1ページに表示する件数
$tcnt = $_GET["tcnt"]; # 総件数
$sql = "select count(*) as cnt from ○○";
$rst = mysql_query($sql, $con);
$col = mysql_fetch_array($rst);
if ($col["cnt"] < $tcnt) {
$tcnt = $col["cnt"];
}
mysql_free_result($rst);
$totalpage = ceil($tcnt / $PAGESIZE); #総ページ数
$page = $_GET["page"]; # 現在のページ
if (!isset($page)) {
$page = 1;
}
else if ($page > $totalpage) {
$page = $totalpage;
}
$sql = "select * from ○○ limit " . $PAGESIZE * ($page - 1) . ", $PAGESIZE";
0381nobodyさん
2011/08/08(月) 21:36:42.32ID:3C9WKAJHいえ、なってないです。
例えば
PAGESIZE = 2;
tcnt = 1;
とした固定した場合
limit 0,2 つまり0から2件表示することになります。
tcnt = 3とした場合2ページ目でLIMIT 2, 2となり
表示したい総件数が3件にもかかわらず4件目が表示されてしまいます。
0382nobodyさん
2011/08/08(月) 21:43:36.92ID:???0383nobodyさん
2011/08/08(月) 21:49:35.68ID:???$totalpage = ceil($tcnt / $PAGESIZE); #総ページ数
$totalpageってどこで使われてんだよ。
説明不足だし何がしたいのかよくわからん。
情報を小出しにしないで整理してから質問しろ。
0384nobodyさん
2011/08/08(月) 21:54:02.53ID:???コピペしてきてどうにかして利用できないのか、初心者が改造からはじめる典型的なパターン。
$_GET["size"]が何のかは以下を読みなさい。
http://php.net/manual/ja/reserved.variables.get.php
0385nobodyさん
2011/08/08(月) 21:58:39.48ID:???if ($offset < 0) {
$offset = 0;
}
$limit = $PAGESIZE;
if ($offset + $PAGESIZE > $tcnt) {
$limit = $tcnt % $PAGESIZE;
}
0386nobodyさん
2011/08/08(月) 23:31:58.51ID:3C9WKAJHあ、ありがとうございます!
おかげさまでできました。
0388nobodyさん
2011/08/09(火) 00:02:21.26ID:???0391nobodyさん
2011/08/09(火) 01:17:35.57ID:???ID無いのに誰が誰だかわからんだろうが。
0392nobodyさん
2011/08/09(火) 01:34:50.20ID:1MO2qAMJ$result = mysql_query('SELECT id,name FROM sample where id = $sample');
とするとエラーが出てしまいます。どのようにすればよいのでしょうか? 文法的に間違っているのでしょうか?お願いします
0393nobodyさん
2011/08/09(火) 01:36:49.50ID:???'(シングルクオーテーション)なので$sampleが展開されない。
"(ダブルクオーテーション)で囲むか、下記のように変える
$result = mysql_query('SELECT id,name FROM sample where id = '.$sample);
0395nobodyさん
2011/08/09(火) 01:38:08.81ID:???0396nobodyさん
2011/08/09(火) 01:47:33.72ID:???0397nobodyさん
2011/08/09(火) 10:49:11.51ID:fWpfSW6p【PHPのバージョン】4.3
【連携ソフトウェア】
【質問内容】
スレ違いでしたら、誘導いただけると助かります。
POSTで送信する際の、最大バイト数はどれくらいなのでしょうか?
検索してみたのですが、明確な答えが得られませんでした。
やりたいことは、テキストエリアをいくつか設置して送信です。
文字数の上限がどれくらいか、知りたいのです。
全角文字で1万文字くらいはありそうなのですが、可能なので
しょうか。
どなたかアドバイスお願いします。
0398nobodyさん
2011/08/09(火) 11:53:34.73ID:1MO2qAMJ>>394ありがとうございます。そのようにしたら解決しました!ありがとうございます。
mysqlスレで質問したところphpで聞けといわれこっちで質問したのですが、向こうでも答えていただき結果マルチのようになってしまいました。すいません。
0400nobodyさん
2011/08/09(火) 12:10:57.63ID:???0401nobodyさん
2011/08/09(火) 13:30:57.74ID:???http://php.net/manual/ja/ini.core.php
post_max_size
あとは使っているhttpサーバの制限にも依存するが
テキスト程度なら気にする必要はない
0402nobodyさん
2011/08/09(火) 13:31:03.67ID:???0403397
2011/08/09(火) 18:07:10.89ID:fWpfSW6pありがとうございます。
デフォルトで8Mということは、
全角1万文字=20Kbyte程度ということで、他の環境変数とか
あったとしても全然大丈夫ということですね。
ありがとうございました。
0404nobodyさん
2011/08/09(火) 18:30:29.93ID:???一つ質問させて下さい。
【OS名】Windows 7
【PHPのバージョン】5.3.1
例えば「test.php」から「test2.php」に遷移する時
ある値をスーパーグローバル変数に乗せて「test2.php」に渡したとします。
この時に起こっている現象は
「test.php」を立ち上げる(「test.php」のスクリプトが動いている)
↓
「test2.php」に遷移する(「test2.php」のスクリプトが動いている)
となりますが、この時、「test2.php」からブラウザの「戻る」で「test.php」に戻り
次いでブラウザの「進む」で「test2.php」に進んだ場合
phpのスクリプトは動いている、と言えるのでしょうか?
私なりに調べてみた限り、単にブラウザのキャッシュを読みに言っているだけのようなのですが
そのキャッシュに格納されているデータはヘッダー情報を含んだもろもろのデータらしく
それが結果として、コーディングした主の想定と画面出力結果との差異を産んでしまっているようなのです。
現在、擬似的なカートシステムを作成中なのですが
どうやらphpのみならず、もっと根本的な理解が足りないのではないのか?と思い
質問させてもらいました。
0407nobodyさん
2011/08/09(火) 21:50:59.45ID:ebfQniZcparser error : Start tag expected, '<' not found これ
fc2ブログで出るようです。ライブドアやアメーバブログでは出ません
しばらくするときちんと読み込みますが、ファイルを更新するとまたエラーが出ます
不足してるタグなども見あたりません。
これは何なのでしょうか
0409nobodyさん
2011/08/09(火) 21:56:33.66ID:ebfQniZcどういうことかちょっとよく分かりませんがどうやったら解決しますかね?
0411nobodyさん
2011/08/09(火) 21:59:04.02ID:???0412nobodyさん
2011/08/09(火) 22:02:07.77ID:ebfQniZc見たところ普通に個別記事しかありません
0413nobodyさん
2011/08/09(火) 22:04:06.19ID:???0414nobodyさん
2011/08/09(火) 22:05:21.66ID:ebfQniZcWarning: simplexml_load_file() [function.simplexml-load-file]: http://apochirinco.blog103.fc2.com/?xml:1: parser error : Start tag expected, '<' not found
の下にも
Warning: simplexml_load_file() [function.simplexml-load-file]: ?
Warning: simplexml_load_file() [function.simplexml-load-file]: ^
があります
0415nobodyさん
2011/08/09(火) 22:12:17.49ID:ebfQniZcプレーンテキストでも見ましたがいまいちどこに注目すればいいのか分かりません
何を見ればいいのでしょうか
見た感じエラーの出ないサイトとの違いが分かりません
0416nobodyさん
2011/08/09(火) 22:17:03.42ID:???良いと思います。
0417nobodyさん
2011/08/09(火) 22:19:32.66ID:ebfQniZcなるほど
むずかしそうですね
0418nobodyさん
2011/08/11(木) 14:01:10.80ID:ODzT8gp8■ このスレッドは過去ログ倉庫に格納されています