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

【PHP】質問スレッドpart26【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/12/21 22:34:55ID:???
のフリをした糞スレ
01039304/12/27 15:26:49ID:???
>>97は偽物なんで
本物は私なんで
0104nobodyさん04/12/27 18:09:33ID:???
おしえてくだせぇ〜
セッション変数っていうのはいつ削除されるものなのでしょうか?
削除するロジック通らないとずーっと残ってるのですか?
0105nobodyさん04/12/27 18:51:34ID:???
マニュアル読んでいってるんだよね?
ググってからいってるんだよね?
0106nobodyさん04/12/27 19:17:09ID:???
>>92
pconnectの性質を理解して使っている上での
問題点は特に無いけどね<MySQLでの

ただ、Sybase特有の現象というのも腑におちないのだが。
あれはPHPの永続的リソースの仕組みが賄っている機能であって
特にDBMSに依存するものでもないから。だから問題があったとしたら
Apacheとかhttpdに絡む部分が影響したのだと思う。
01079204/12/27 19:45:25ID:???
>>106
返信ありがとうございます。

もしかしたら、これ?という記事を見つけました!
ttp://blog.drecom.jp/saito/archive/101#comments

前に遭遇したのが本当にこれなら、
4.3.4以上で解決ってことですね。
01089204/12/27 19:56:33ID:???
あれ?でもこれPostgresSQLだけかなぁ…
0109nobodyさん04/12/27 20:28:30ID:???
>>107
そこからのリンクだけど
http://bugs.php.net/bug.php?id=25404
確かにここの記述と同様に、Sybaseにも影響が出る可能性があるね。
0110nobodyさん04/12/27 22:00:05ID:???
すいません
掲示板の投稿表示方法で悩んでるんですが、
件数を指定して表示する際に(例えば10件)
1つ目の投稿内容と2つ目の投稿内容の間にだけ広告入れるスマートな方法ってどうやったらいいですかね。

今はforeachで回してる途中array_sliceで前半と後半をぶった切って
途中でecho $koukoku;と入れて力ずくでやってます。
0111nobodyさん04/12/27 23:37:25ID:ZN2DRBjE
>>110
漏れだったら表示する件数に何件目みたいな番号を振る。
もちろん、表示させる必要はない。
奇数だったら、これを入れるみたいな感じでやるな。
志摩志摩にして見やすくするのもこの手でやってますがなにか?

php&mysql歴3ヶ月で初めて質問に答える立場になって
得意になってすいません。1ヶ月目のころこれで一週間くらい悩みますた。
0112nobodyさん04/12/28 00:46:08ID:???
>>111
それだと1つおきになるが・・・
110は1つ目と2つ目の間にだけと言っている
0113nobodyさん04/12/28 00:54:32ID:???
画像をアップロードするスクリプトを作り、
サイズ(200KBまで)制限かけて、幅と高さの制限はしてないのですが
サイズが3KBで幅と高さが1600×1600でアップできないのです。
幅と高さってデフォルトで制限されてるのでしょうか?
よろしくおねがいします。
0114nobodyさん04/12/28 00:58:03ID:???
>>113
あなたの発言の意味がわかりません。
スクリプト及びそのエラーをそのまま晒してください。
0115nobodyさん04/12/28 01:16:16ID:???
>>114
スクリプトではサイズ制限はしてますけど幅と高さの制限はしてません。。
エラーは出ません
011611304/12/28 01:27:19ID:???
言い忘れてました
ローカルサーバーではうまくアップできますが
外部のサーバーだと幅が大きすぎるとアップできません。
これってスクリプトの問題というよりサーバーの問題でしょうか?
0117nobodyさん04/12/28 01:50:09ID:???
こいつはもう放置でいいだろ
0118nobodyさん04/12/28 02:02:57ID:???
>>112
「奇数だったら」を「○の倍数」とでも置き換えれば良い事。
(○で割ったら余りが0か)

0119nobodyさん04/12/28 02:10:39ID:???
>>116
だから、あなたが何を言っているのか理解できる人間は、
このスレに存在していないので、
スクリプトをそのまま晒してください。
0120nobodyさん04/12/28 02:49:55ID:???
>>110
私も素人に近いから自信は無いヨ。

配列にどう持ってきてるかはしらんが
foreach使うときに
$key=>$value とかやったらどうじゃね
0121nobodyさん04/12/28 02:55:21ID:???
既存の掲示板のソースを覗くこともできないってツライよね。
0122nobodyさん04/12/28 03:00:21ID:???
直接みせてってたのんだら?
こんだけかずあんだから、何件かは見せてくれるんじゃないかなー?
0123nobodyさん04/12/28 03:02:44ID:???
普通にソース付きで配布しているサイトがある訳だが・・・。
そもそも入門書も読まずに何やってるんだろうなと。
0124nobodyさん04/12/28 03:05:46ID:???
>>110
>120をコードにしてみると

$toukou =array();//投稿内容が配列に入ってる。
foreach($toukou as $key => $value) {
    echo $value;//書き込みを一件表示
    if($key == 0) {
        //1件目の書き込みの後に広告を挿入。
        echo $koukoku;
    }
}

こんな感じかな?
0125nobodyさん04/12/28 03:06:37ID:???
>>110
$count = 0;
foreach(*****){
  if ($cout++ == 2){
   addad();
  }


}
0126nobodyさん04/12/28 03:18:57ID:???
>>124
そんな感じです。まぁ自分が書くなら以下の感じでしょうか。

$toukou =array(); //投稿内容が配列に入ってる。

foreach($toukou as $key => $value)
{
if( 1 == $key)
{
//1件目の書き込みの後に広告を挿入。
print(htmlspecialchar($koukoku));
}
//書き込みを一件表示
print(htmlspecialchar($value));
}

なんかでしゃばった感じですみませんorz
0127nobodyさん04/12/28 03:20:07ID:???
(;´д⊂)タブ潰れたー2chの勉強が足りませんでした
01286204/12/28 06:53:48ID:64WbgjnW
a
b
c
3つのチェックボックスがあって、
チェックを付けたやつだけ、
inputボタンを押した後に表示したいんですが、
どうすればいいでしょうか?

例:aとcにチェックを付けたら、次の画面で、
aとcを表示させる。
0129nobodyさん04/12/28 06:55:32ID:???
>>128
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/l50
013012804/12/28 06:55:52ID:64WbgjnW
すいません、私は62じゃないです。

あと、perlだと、フォームで同じnameで複数項目入力させても
配列に格納されます?
perlのスクリプトだとどうもそうっぽいので。
phpじゃこれは無理ですよね?
0131nobodyさん04/12/28 06:56:50ID:???
>>130
Perlのこと何でも聞いてきてよ
http://pc5.2ch.net/test/read.cgi/php/1012750353/
0132nobodyさん04/12/28 09:09:02ID:N/AEZ3tr
上に同じ
http://www.corleone-forever.jp/
0133nobodyさん04/12/28 11:30:33ID:???
>>130
無知は素直に入門書買えよ。
0134nobodyさん04/12/28 12:32:48ID:???
最近は試さないのが基本なの?
0135nobodyさん04/12/28 13:40:11ID:???
>>134
試してパソコン壊れたらどーすんだ?
0136nobodyさん04/12/28 14:00:20ID:???
Cですらとりあえず試すおれは勇者?
0137nobodyさん04/12/28 15:03:30ID:???
質問者はテンプレ嫁(>>14)話はそれからだ。
0138nobodyさん04/12/28 15:07:42ID:???
今日びPCが壊れるなんて、どういう処理したらなるんだよ。
0139nobodyさん04/12/28 15:16:47ID:???
アセンブラですらとりあえず試すおれは勇者?
0140nobodyさん04/12/28 15:44:22ID:???

 PHPとPPPHの関係を教えてください。

0141nobodyさん04/12/28 16:35:33ID:???
ググって下さい
0142nobodyさん04/12/28 17:04:37ID:???
http://www.itmedia.co.jp/news/articles/0412/28/news006.html
PHPのコード問題を突くSantyワームの亜種が出現

> こうした攻撃を防ぐためには安全なやり方で「include()」と「require()」機能を
> 使うよう、サイトのコード修正が必要になるかもしれない。

で、どうしろと( ゚Д゚)?
0143nobodyさん04/12/28 17:09:33ID:???
>>142
>サイトの設計者がこの機能に受け渡すパラメータを十分チェックしないまま使っていた場合、
0144nobodyさん04/12/28 17:29:25ID:???
つまり
inclide($_REQUEST['include']);
こういうことなんだろうか??

こんなんありえるの?
0145nobodyさん04/12/28 17:37:17ID:???
そんな危険なやつはいるんだろうか・・・。
0146nobodyさん04/12/28 17:38:49ID:???
いくらなんでもそこまでバカはいないだろ
0147nobodyさん04/12/28 18:54:20ID:???
いやいやこのスレの質問のレベルからして・・・・
0148nobodyさん04/12/28 19:12:18ID:???
>>144がなんで危ないの?
0149nobodyさん04/12/28 19:23:11ID:???
エラーが出て2chで質問するからじゃないかな?
0150nobodyさん04/12/28 19:43:40ID:???
なぜ危ないかわからない>>148みたいなのが書いても動くからだろ。
0151nobodyさん04/12/28 19:44:52ID:???
>>144
includeの間違いじゃないか
0152nobodyさん04/12/28 19:49:55ID:???
>>144
似たような事はやってるなぁ…
0153nobodyさん04/12/28 21:40:18ID:???
>>148
クッキーで変な値渡されたり妙なPOSTが来たり得体の知れないGETが来たりすると
とんでもないモン include しちまうのがわからんか?
0154nobodyさん04/12/28 21:47:44ID:???
ありえんことでもないと思うけどな
ネットにあるプログラムには驚くほど低レベルな物もあるからね
0155nobodyさん04/12/29 08:06:36ID:???
http://www.devshed.com/c/a/PHP/PHP-Security-Mistakes/
↑みたいな書き方してるところだとアウトってこと?
0156nobodyさん04/12/29 10:30:00ID:???
こういうことらしい。
ttp://xoops.sourceforge.jp/wiki/xoops2/index?cmd=read&page=TECH%2FAgenda-X%20%A4%CE%C0%C8%BC%E5%C0%AD%CC%E4%C2%EA
0157nobodyさん04/12/29 13:11:08ID:???
それなら「何で今更出てきたの?」って感じがしなくも無いな・・・
0158nobodyさん04/12/29 13:22:48ID:???
PHP 4.3.0より前のバージョンのWindows版PHPは、現在この関数に関してリモートファイルアクセス機能をサポートしていません。これは、allow_url_fopenを有効にした場合でも同様です。

は、関係ないかな?
0159nobodyさん04/12/29 14:10:29ID:???
テキストファイルに1行に複数カラムでデータを保存するとき分割文字列はどうしてますか?
コンマだとデータの中にコンマが入っていた場合、読み出すときうまくいかないので困ってます。
0160nobodyさん04/12/29 14:18:22ID:???
>>159
とっても繰り返されてる話題だが、俺はタブ。
016115904/12/29 14:28:33ID:???
>>160
レスありがとうございます。
たしかにタブならデータから除去してもいいし、スペース4つにおきかえてもいいですね。
参考になります。
0162nobodyさん04/12/29 14:34:25ID:???
>>159
チョット前の議論ででたのは、

「,」「\t」「<>」「\0」
あたりだったかな?

俺は時と場合で、どれも使てる。
016316204/12/29 14:36:51ID:???
データ自体を登録する段階で、[,]を[,](半角⇒全角)に変換してしまう、
というのも、場合によってはアリ。
0164軟式PHP04/12/29 15:10:28ID:???
最近はシリアライズが多い。
0165nobodyさん04/12/29 15:33:01ID:???
serializeだとPHP以外でデータ使おうとするとき面倒じゃない?
データキャッシュつくるときなんかは簡単でいいけど
0166軟式PHP04/12/29 16:14:45ID:???
それがデメリットかなぁ。他のファイルで使いたい時は
戻してから指定のフォーマットに再出力みたいなことしてるけど。
0167nobodyさん04/12/29 16:17:57ID:???
¾
0168matz04/12/29 21:22:50ID:???
ttp://www.rubyist.net/~matz/20041227.html
しかし、しつこいくらい繰り返しているが「PHPの良さ」はどこにあるのだろうか。
0169nobodyさん04/12/29 21:48:42ID:???
PHPはPerlより書きやすいなぁ、それだけ
0170matz04/12/29 22:49:21ID:???
Perl と比べればね。でも Ruby ではどうでしょう。
0171nobodyさん04/12/29 22:59:36ID:???
phpはかなり広まったからライブラリが充実してていいんだよ
あとはくだらない質問スレでやったらどう?なんの生産性もない話題だし
言語信者が流れ込んできて荒れるだけ
0172nobodyさん04/12/29 23:43:21ID:???
>>157
その穴を突いたワームが出てきたことが新しいんだと思う。
以前は突くツールはあったんだけど、使う相手はクラッカーが探して
手作業で行ってたのが、自動化によって被害の増大が懸念されるから。
0173nobodyさん04/12/29 23:48:33ID:???
>>168
自分にとっては最も扱いやすい。
これ以上の良さがどこにあるだろうか。
0174nobodyさん04/12/30 00:12:59ID:???
Ruby と PHP が使える人とじゃないと話できないしね。
0175nobodyさん04/12/30 00:32:06ID:???
phpはできて当たり前みたいな感じだからなー。
0176nobodyさん04/12/30 02:01:59ID:???
デザイナの俺でもすぐ覚えられたし、なんつーか手軽に楽したいものに便利だね。
バリバリのWebアプリじゃなくてヘッダーとフッターを各ページに入れますとか
そんな些細なことを手軽にできるのがいい。
0177nobodyさん04/12/30 09:28:00ID:???
>>176
ruby は試した?もし試したら覚えるのに何がネックだった?
0178nobodyさん04/12/30 09:29:41ID:???
ホスティングサービスでRuby入ってるところ少ないよなぁ
試す気も起きん
0179nobodyさん04/12/30 13:11:29ID:???
オブジェクト指向ワカンネ…
0180matz04/12/30 14:36:42ID:???
>>178
試す気が起きん、のはなぜでしょう?
179 の言うように OO 分かんね、ということ?
0181matz04/12/30 14:37:38ID:???
>>173
どういった部分が ruby と比べて最も扱いやすかったですか?
0182nobodyさん04/12/30 14:41:16ID:???
>>180
PHPはホスティングサービスでほぼどこでも使えるので覚えようと思うんだけど
Rubyはあまり聞かないから覚えようと思わないんです。
作ったスクリプトはどこでも使えなさそうだから使いまわしできなさそうだし、配布してもRubyスクリプトイラネって言われそうだし
そもそもRuby使える無料ホスティング知らないです。
0183nobodyさん04/12/30 15:25:10ID:???
>>181
幾つかあるが、最大の理由は
俺がRubyを初めて知ったとき、既にPHPを覚えてから2年くらい経っていた
ってこと。

結局、Rubyをやってみても2年分のハンデを埋めるほどの魅力は感じなかったし、
それならば無理にRubyに移行する必要もない。
あとはPHPの方が関連書籍も多いし、海外にも浸透してるし、業務でもそこそこ使える。
Rubyの痛いところは、業務で使おうとするとプログラマが集まらないところだ。

言語ってのはシステム要件を満たすための手段に過ぎないんだから
(個人でやるならともかく)広く浸透してる言語のほうが扱い安く感じるのは当然かと。
0184matz04/12/30 16:09:22ID:???
>>182
・環境がない
>>183
・すでに覚えたものがあるから
・情報、実績、ユーザが多い
・広く使われているからなんとなく
は理解できます。

「言語ってのはシステム要件を満たすための手段」に関しては、
道具を選ぶ、という視点が抜けていますね。

両者、ありがとうございました。ちなみに私はあの matz ではありません。
0185nobodyさん04/12/30 20:21:50ID:6yNCCVX0
(;´д`)
0186nobodyさん04/12/30 20:50:50ID:???
ギガワロス
0187nobodyさん04/12/30 20:52:09ID:???
>>184
なんで、そんなに偉そうなんだ?
0188nobodyさん04/12/31 12:55:06ID:AnxsV/s9
すみません、pg_connect()についての質問です。
ホスト名を指定するとpg_connect()がうまくいかないのですが、心当たりあるでしょうか。
pg_connect("dbname=test") はうまくいくのですが、
pg_connect("host=localhost dbname=test") がうまくいきません。
localhostでも127.0.0.1でもちゃんとしたホスト名でもだめです。
なぜでしょうか。

それから、pg_connect()で失敗したときのエラーはどこに出るのでしょうか。
Apacheのログには出てないのですが。
0189nobodyさん04/12/31 13:48:26ID:???
>>188
単にホスト名で接続(tcp/ip)を拒否してあるんじゃないの?<unixドメインソケット接続のみ
エラーに関しては、マニュアルのPostgreSQL関数 辺りを読めば分かる。
つーか接続の仕方(tcp/ip、unixドメインソケット)の話もそこに載ってるから
全部見てくる事をお勧めする。
019018804/12/31 13:49:21ID:???
>>188
わかりました。PHPマニュアル「LXXXIV. PostgreSQL 関数」の章にヒントが書いてありました。

つまり、PostgreSQLはデフォルトでUNIXドメインでの通信(プロセス間通信)しかできなくて、起動時に-iオプションを与えてやらないとインターネットドメインでの通信(TCP/IP)の通信ができない、
そしてpg_connect("host=$host")と指定すると後者の通信を試みて失敗するということですね。

これはFAQなんだろうなあ。でもこれはわかりにくいぞ。
019118804/12/31 13:50:19ID:???
>>189
おっしゃるとおりです。タッチの差でしたね。
どうもありがとうございます。
0192nobodyさん04/12/31 18:54:26ID:???
PHPとPostgreSQLでprepared statementは使えますか?
JDBCとかでは使えるみたいなんですが。
0193nobodyさん05/01/01 02:21:51ID:2vKgKMWC
>>192
SQLiteなら、余裕で使えます。
0194nobodyさん05/01/01 04:15:07ID:xFPnJTv3
<?php

echo "あけおめ!";

?>
0195nobodyさん05/01/01 05:11:40ID:???
Warning: Invalid argument supplied for foreach() in

配列になる場合もあるし、配列にならずに1つの場合もある
変数aで foreachして、配列じゃない場合、上記のような
エラーが出ます。
エラーは出ててもスクリプト上は機能してますが、
これはちゃんと配列の場合とそうじゃない場合で
分岐するよう修正した方がいいんでしょうか?

それとも@でエラー表示させないだけでいいでしょうか?

みなさんならどうします?
0196nobodyさん05/01/01 06:01:05ID:???
>>195
>配列になる場合もあるし、配列にならずに1つの場合もある
こんなことになる書き方がそもそもの間違い。
分岐とかじゃなく、配列は配列として使え。
要素が一つしかなくたっていいんだから。
019719505/01/01 06:46:33ID:???
>>196
フォームから name="name[]"で受け取った配列は
要素がひとつのとき配列ではなくなるようなんですが・・・
0198nobodyさん05/01/01 07:30:54ID:???
>>197
うちじゃちゃんと配列になるが?
例え配列にならないとしても、処理の部分でどうこうするんじゃなくて

$name = is_array($_REQUEST['name']) ? $_REQUEST['name'] : array($_REQUEST['name']);

とかフォームデータを取り出す時に何とかすればいいだけだと思うが
0199 【大吉】 【51円】 05/01/01 13:55:39ID:???
ん
0200 【大吉】 05/01/01 22:56:40ID:???
さて
0201nobodyさん05/01/02 21:49:55ID:???
>>193
回答ありがとうございます。
でも知りたいのはSQLiteではなくPostgreSQLなんですが。
0202nobodyさん05/01/02 23:29:35ID:???
>>192,201
バージョンが書いてないので何ともいえないが、
PEAR DBパッケージにはprepareが実装されてるはず。
■ このスレッドは過去ログ倉庫に格納されています