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

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

レス数が1000を超えています。これ以上書き込みはできません。
00011様2007/02/22(木) 22:37:41ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html
00021様2007/02/22(木) 22:39:19ID:???
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 29
http://pc8.2ch.net/test/read.cgi/php/1158434799/
【PHP】下らねぇ質問はここに書き込みやがれ 30
http://pc8.2ch.net/test/read.cgi/php/1159979905/
【PHP】下らねぇ質問はここに書き込みやがれ 31
http://pc8.2ch.net/test/read.cgi/php/1161733546/
【PHP】下らねぇ質問はここに書き込みやがれ 32
http://pc8.2ch.net/test/read.cgi/php/1162818436/
【PHP】下らねぇ質問はここに書き込みやがれ 33
http://pc8.2ch.net/test/read.cgi/php/1164209222/
【PHP】下らねぇ質問はここに書き込みやがれ 34
http://pc8.2ch.net/test/read.cgi/php/1165519374/
【PHP】下らねぇ質問はここに書き込みやがれ 35
http://pc10.2ch.net/test/read.cgi/php/1166676139/
【PHP】下らねぇ質問はここに書き込みやがれ 36
http://pc10.2ch.net/test/read.cgi/php/1168395610/
【PHP】下らねぇ質問はここに書き込みやがれ 37
http://pc10.2ch.net/test/read.cgi/php/1169644229/
【PHP】下らねぇ質問はここに書き込みやがれ 38
http://pc10.2ch.net/test/read.cgi/php/1170520777/
00031様2007/02/22(木) 22:40:36ID:???
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/

(以下英語)
■Smarty       http://smarty.php.net/
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
00041様2007/02/22(木) 22:41:41ID:???
【簡易FAQ】
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
7.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
00051様2007/02/22(木) 22:43:03ID:???
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
 → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
  http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40  
15. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
 →19.を参照
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
0006nobodyさん2007/02/22(木) 22:48:33ID:???
乙鰈
0007nobodyさん2007/02/22(木) 22:54:32ID:DRqW6V/h
PHPで画像にExif情報って書き込めますか?
Exifじゃなくてもコメントみたいなのを書き込められればいいんですが。
0008nobodyさん2007/02/23(金) 00:24:55ID:kn9G5EQ+
table hoge
seq type
1  a
1  b
2  b
3  a
3  a
4  a

MySQLと絡めた質問なのですが、上のようなデータが格納されていたとき、
GROUPした後のseqの数(上の場合だと4)を取得したいのですが、どのようにすればいいでしょうか?
SELECT COUNT(*) FROM `hoge` WHERE `type`='a' GROUP BY `seq`
これではできませんでした。
このクエリをcountした数を現在は取得しています
0009nobodyさん2007/02/23(金) 00:26:39ID:???
UTF-8だとたまにメールが文字化けします。
なぜでしょうか?
0010nobodyさん2007/02/23(金) 00:32:41ID:???
>>8
PHPの質問なので sort ですね。
0011nobodyさん2007/02/23(金) 00:35:50ID:awTHtUaF
初代PHP質問スレの過去ログURL教えてください。
昔の人がどんなことで悩んでいたのか勉強したいんです。
よろしくおねがいします。
0012nobodyさん2007/02/23(金) 00:37:28ID:???
>>9はネタなのでスルーおながいします。
IDださないで質問する態度は釣りにしかみえない。
0013nobodyさん2007/02/23(金) 00:53:31ID:DxH8hg7x
>>前972
>見た目に関するロジックは全部Smarty側でやってる。
>(htmlspecialcharsみたいなエスケープとかは除く)
そういう表示にのみ関係する処理こそSmartyで。
{$foo|escape:"html"}
0014nobodyさん2007/02/23(金) 00:56:27ID:???
現在、
$a = "aaa\n";
$a .= "bbb\n";
$a .= "ccc\n";
の様な記述で、変数に複数行を代入しています。

質問なのですが、Perlの
$a=<<"EOB";
aaaa
bbbb
ccc
ddd
EOB
の様に、変数に複数行を一度に代入する方法はありませんか?
0015142007/02/23(金) 00:58:21ID:???
自己解決しました。
0016nobodyさん2007/02/23(金) 00:59:40ID:mvdvT2ju
$s_id = "guest";
$s_pw = "guest";

この状態で

SELECT * FROM account WHERE id='$s_id', pass='$s_pw'

を実行すると

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' pass='guest'' at line 1

というエラーが発生します。

idもguestもあるのになぜこのようなエラーが出てしまうのでしょうか?
0017162007/02/23(金) 01:00:50ID:mvdvT2ju
追記です。
PHP 5.1.4
MySQL 5.0
WindowsXP
0018nobodyさん2007/02/23(金) 01:13:29ID:???
exciteで訳せ
0019nobodyさん2007/02/23(金) 01:14:06ID:???
>>16
ちゃんとしたコードだせ
0020nobodyさん2007/02/23(金) 01:16:57ID:mvdvT2ju
合っていると思うのですが・・・
バグですかね?
0021nobodyさん2007/02/23(金) 01:38:23ID:???
phpファイルの1行目にミスがあるだけだろw
0022nobodyさん2007/02/23(金) 01:41:55ID:mvdvT2ju
>>21
特にそれらしいものは見つかりません。
0023nobodyさん2007/02/23(金) 01:43:16ID:???
' pass='guest'' at line 1
    ↑なぜシングル?
0024nobodyさん2007/02/23(金) 01:43:58ID:???
$s_id = "guest";
$s_pw = "guest";

こう書いてないで
$s_id = "guest";
$s_pw = 'guest";  ←こうやってないか?
0025nobodyさん2007/02/23(金) 01:46:01ID:mvdvT2ju
>>23
$sql = "SELECT * FROM account WHERE id='$s_id', pass='$s_pw'";
だからです
0026nobodyさん2007/02/23(金) 01:48:46ID:mvdvT2ju
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "root";
$dbName = "name";

function Do_MySQL($sql){
    global $dbHost,$dbUser,$dbPass,$dbName;

    $dbHandle = mysql_connect($dbHost,$dbUser,$dbPass);
    if ($dbHandle == False) {
        print ("#can not connect db\n");
        exit;
    }

    $dbLocate = mysql_select_db($dbName);
    if ($dbLocate == False) {
        print ("#can not connect db2\n");
        exit;
    }
    $result = mysql_query($sql);
    echo mysql_error();      ←ここでエラーを吐き出しています。
    mysql_close($dbHandle);
    return $result;
}
$s_id = "guest";
$s_pw = "guest";
$result = Do_MySQL("SELECT * FROM account WHERE id='$s_id', pass='$s_pw'");

正確にはこのように実行しています。
0027nobodyさん2007/02/23(金) 01:49:22ID:mvdvT2ju
>>24
ダブルクォーテーションで囲っています。
0028nobodyさん2007/02/23(金) 01:58:20ID:???
SELECT * FROM account

だけでやったらどうなる?
0029nobodyさん2007/02/23(金) 02:14:39ID:???
つーかさ
WHERE id='$s_id' AND pass='$s_pw'
0030nobodyさん2007/02/23(金) 02:29:37ID:???
SELECT * FROM account WHERE id='$s_id' AND pass='$s_pw'

カンマとかふざけてるのかと
0031nobodyさん2007/02/23(金) 04:48:20ID:???
>>26
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "root";
$dbName = "name";
ここらへんは普通定数にしないか?
そしたらglobalなんてやる必要もないし。
0032nobodyさん2007/02/23(金) 04:55:38ID:???
普通は定数にすべきじゃないけどな
0033nobodyさん2007/02/23(金) 05:34:19ID:???
全部引数でいいよもう
0034nobodyさん2007/02/23(金) 06:28:51ID:???
>>8
http://dev.mysql.com/doc/refman/4.1/ja/select.html
にあるSQL_CALC_FOUND_ROWSの説明を見るよろし。
0035nobodyさん2007/02/23(金) 08:27:49ID:???
PHPの勉強に簡単な掲示板のプログラムを作っています。
mysql> CREATE TABLE KIJI(
-> id MEDIUMINT NOT NULL AUTO_INCREMENT,
-> name VARCHAR(50),
-> mail VARCHAR(50),
-> naiyou VARCHAR(50),
-> PRIMARY KEY(id));

この様なテーブルがあって、ここから記事一覧を取得しようとしているのですが、
Fatal error: Call to a member function query() on a non-object in C:\Program Files\xampp\htdocs\sample_bbs\bbs.php on line 14
となってしまいます。
何かアドバイスいただけませんか?
--ソース抜粋--
$sql = <<<EOS
select id,namae,mail,naiyou from kiji
EOS;

//クエリ実行
$result = $con->query($sql);//ここが14行目
--ここまで--

環境:WindowsXP,XAMPP最新版
0036nobodyさん2007/02/23(金) 08:29:46ID:???
ドンマイ
0037352007/02/23(金) 08:55:48ID:AmbF/Hk9
どうやらコネクション周りに問題があるようです。PEAR接続とmysql_connect接続とが混同されているのが問題みたいです。勉強してきます。
0038虚弱PHP2007/02/23(金) 09:18:26ID:???
>>13
そういうのサニタイズ脳だと思うんだ。
いや、別にdefault_modifiers使ってもいいんだけど、
オレオレフレームワークの思想で、
ViewオブジェクトでSmartyアサイン直前にやってるの。
0039nobodyさん2007/02/23(金) 11:52:49ID:???
>>35
クラスがインスタンス化されてないんじゃ
0040nobodyさん2007/02/23(金) 11:56:27ID:???
>>39
インスタンス化されているけど、
コンストラクタがデフォルトになっているんじゃないか?
0041nobodyさん2007/02/23(金) 12:30:57ID:???
>>9
メール処理じゃないけど、UTF-8とUTF-8Nの違いを知らなくて、どえらい悪戦苦闘したことがありました。
それ以来、PHPのスクリプトファイルは、UTF-8Nで保存するように意識しています。
UTFの「BOM」が邪魔してるって可能性は?
0042nobodyさん2007/02/23(金) 12:47:23ID:???
>>26
SQL文を組み立てるときの処理についてですが、
SQLインジェクション対策として、プリペアードステートメント、プレースホルダーという仕組を利用した方がいいと思います。
http://www.ipa.go.jp/security/awareness/vendor/programming/a02_01.html

SQL文をプレースホルダー(=「?」)を使って、簡単にエスケープする関数が、PHPオンラインマニュアルで紹介されているから参考にされてみてください。
http://php.benscom.com/manual/ja/function.mysql-query.php
↑$phsにプレースホルダーに対応する文字列を配列で渡して使うようです。
0043422007/02/23(金) 12:55:11ID:???
>>26
あれ?URLが違ってた。

http://www.php.net/manual/ja/function.mysql-query.php#70686

function mysql_prepare ($query, $phs = array())を以下のように使います。

$s_id = "guest";
$s_pw = "guest";

$sql = "SELECT * FROM account WHERE id = ? AND pass = ?";
$phs = array($s_id, $s_pw);
$sql_prepare = mysql_prepare($sql, $phs);

$result = Do_MySQL($sql_prepare);
0044nobodyさん2007/02/23(金) 13:04:51ID:???
>>38
出力するデータをどこでエスケープするか?
Smartyに渡す直前の段階でエスケープした値を、Smartyに渡すのが良いと思う。
テンプレートファイルに処理(ロジック)が乗っかっているのは、保守性が中途半端になりそうな予感。
テンプレートファイルは、DreamweaverでデザインをいじることだけできればOK
0045nobodyさん2007/02/23(金) 14:37:52ID:???
mysqlでdeleteするときにjoinってできないんですか?
0046虚弱PHP2007/02/23(金) 14:51:30ID:???
>>45
そういえばdeleteでjoinやったことないなぁ。
where句で繋げばいいんじゃない?
0047nobodyさん2007/02/23(金) 15:02:56ID:???
MySQLにはFKがないからDELETEのJOINはないんじゃない?
0048nobodyさん2007/02/23(金) 15:19:41ID:X1ZVe2VS
質問です。
複数の画像をアップロードするコードを書いたのですが、
長辺が1500px超える画像をアップするとうまく動きません。

photoshopで1600*1200の真っ白なファイル(76kb)をアップロードするとエラーになり、デジカメで撮影した1280*960の画像(250kb)をアップロードすると、普通にアップできます。

GDを使ってリサイズする処理が途中に入るのですが、その辺が原因でしょうか?

レンタルサーバでphp.iniでmemory_limitを16Mにしています。

よろしくお願いします。
0049nobodyさん2007/02/23(金) 15:28:18ID:???
>>41
BOMなしで保存してます
が、たまに文字化けしてしまいます
ttp://www.res-system.com/item/500
この辺を読んでみたのですがUTF-8のメールで
文字化け自体は直らないことなのでしょうか?
0050nobodyさん2007/02/23(金) 15:40:02ID:???
>>48
GDで画像処理はかなりメモリ食うからそうかもね
1600*1200だと32ビットカラーにしても8Mバイトになるからね
memory_limitあげたらいいんじゃないの
0051nobodyさん2007/02/23(金) 15:50:25ID:ynqfDxVO
メールを配信するとき
UTF8からISO-2202-JPに変換する場合はmb_convert_encoding
で行うと変換できない文字でメールが切れてしまうのですが
日本語のメールを配信する場合、mb_convert_encodingを使って
変換するのが一般的なのでしょうか?
なにかよいライブラリがありましたら紹介していただけないでしょうか?

0052nobodyさん2007/02/23(金) 15:55:18ID:qX2geE0Z
age
0053nobodyさん2007/02/23(金) 16:02:23ID:???
>>47
JOINしたテーブルの値を条件としたDELETEとか出来ますよ。
JOIN先のテーブルの値は無理だけど、
適宜CASCADEとかでリレーション貼っておけば一緒に消えますね。
0054nobodyさん2007/02/23(金) 16:29:05ID:???
>>53
どうやればいいんですか?
select * from table1 natural join table2 where table2.id = 10
でヒットするレコードを消すために
delete from table1 natural join table2 where table2.id = 10
と実行してみたのですが構文エラーが出て消せないんですよ
0055nobodyさん2007/02/23(金) 16:32:34ID:???
>>54
LEFT JOJN
0056nobodyさん2007/02/23(金) 17:24:19ID:???
left joinでも同じですね
0057nobodyさん2007/02/23(金) 18:23:22ID:???
マニュアル読んだけどやっぱりInnoDBでFKつけないと無理じゃん。
delete join なんて聞いたことないしな。
0058nobodyさん2007/02/23(金) 18:28:52ID:???
>>55
それ、なんていう命令?
0059虚弱PHP2007/02/23(金) 19:01:40ID:???
delete from table1, table2 where table2.id=10 and table1.id=table2.id;
みたいな感じで行けないの?
0060nobodyさん2007/02/23(金) 20:20:02ID:mvdvT2ju
携帯の固有IDを取得する方法とかないですか?
モバゲーのように自動的にログインさせたいのですが、
何か方法などはないのでしょうか・・・。
0061nobodyさん2007/02/23(金) 20:31:10ID:???
>>60
http://pc10.2ch.net/test/read.cgi/hp/1141800196/l50
0062nobodyさん2007/02/23(金) 20:37:34ID:mvdvT2ju
>>61
いってきます
0063nobodyさん2007/02/23(金) 20:43:31ID:???
for($_SERVER as $key => $value){
echo "[".$key."] = ".$value."<br>\n";
}

これで一気に書き出せると思ったが無理だったorz
0064nobodyさん2007/02/23(金) 20:52:18ID:???
forじゃ無理だろうそりゃ
0065nobodyさん2007/02/23(金) 20:56:00ID:???
var_dump($_SERVER);
とか言って見るテスト
0066nobodyさん2007/02/23(金) 21:03:50ID:mvdvT2ju
foreachと間違えてたwwwサーセンwwww

携帯でアクセスして、foreachでまわしたときは、
[HTTP_X_UP_SUMBO] = 携帯固定ID
が表示されたのですが、
直接 echo $_SERVER['HTTP_X_UP_SUMBO'];
だとページが表示されないのはなぜなのでしょうか・・・?
0067nobodyさん2007/02/23(金) 21:32:32ID:???
>>66
スレ違い
ここは初心者が集まる全員初心者スレだ
0068nobodyさん2007/02/23(金) 21:34:10ID:???
HTTP_X_UP_SUBNOじゃないかね
0069nobodyさん2007/02/23(金) 21:34:31ID:???
>>66
ソース見してみ?
0070662007/02/23(金) 21:42:15ID:mvdvT2ju
>>67
俺も実務経験なしの初心者です

>>68
echo $_SERVER['HTTP_X_UP_SUBNO'];
にすると、「リクエストされたページは表示できません。」と出ます。

>>69
ソースは
<?
echo $_SERVER['HTTP_X_UP_SUBNO'];
?>
だけです。

0071nobodyさん2007/02/23(金) 21:47:35ID:???
<? 
var_dump($_SERVER);
echo $_SERVER['HTTP_X_UP_SUBNO']; 
?> 
してみ?
0072nobodyさん2007/02/23(金) 21:48:45ID:mvdvT2ju
>>71
var_dumpの45行と、最後のechoの個別IDが表示されました。
$_SERVER['HTTP_X_UP_SUBNO'];を実行するにはそれ以前に何か実行しておかないといけないのでしょうか?
0073nobodyさん2007/02/23(金) 21:52:00ID:???
>>72
出力結果見してみ?
0074nobodyさん2007/02/23(金) 21:53:12ID:mvdvT2ju
>>73
すまん、携帯だからコピペできない
0075nobodyさん2007/02/23(金) 21:55:35ID:???
ナゼ携帯でそんなマンドクサイことやっているのか
0076nobodyさん2007/02/23(金) 21:56:34ID:mvdvT2ju
>>75
>>60
0077nobodyさん2007/02/23(金) 21:56:48ID:???
>>74
すまん、じゃあもう無理
0078nobodyさん2007/02/23(金) 22:12:34ID:???
>>66
な?言った通りだろ?
0079nobodyさん2007/02/23(金) 22:24:37ID:???
ちょっと前のレスで、出てた質問について疑問に思ったんだけど、
会員制のWEBでパスワードをスクリプト側で暗号化してDBに保存する
のって意味あるの?

DBサーバーが乗っ取られても大丈夫ということかもしれないけど、
DBサーバーが乗っ取られたらパスワードが分かろうと分かるまいと、
全てのデータが盗まれるわけだからもう終わりだよね?
0080nobodyさん2007/02/23(金) 22:27:54ID:???
passを使い回してる人がいたりするからでね?
0081nobodyさん2007/02/23(金) 22:32:28ID:???
DBサーバが乗っ取られるから暗号化するというより
システム上誤って(セキュリティの不備とか)パスワードが
盗まれたり漏れた場合に平文のパスワードが漏れるのと
不可逆暗号のパスワードが漏れるのとじゃ全然意味合いが違うっしょ
0082nobodyさん2007/02/23(金) 22:34:13ID:???
>>79
管理者であってもユーザのパスを知る必要がないからだろ
もちろん暗号化には単方向アルゴリズムのを使う
0083nobodyさん2007/02/23(金) 22:38:47ID:???
>>80-82
あ〜、なるほどね。サンクス。そういう意味か…
大手の企業サイトでも、結構パスワード再送機能で、再度同じパスワードが
送られてくるケースが多いけど、それは逆にそれらを全然考慮していないってことなのかな?
0084nobodyさん2007/02/23(金) 22:46:59ID:???
>>83
実装に関してはユーザから見えないでしょ
勘違いしてると思うからこれを
ttp://php.benscom.com/manual/ja/function.crypt.php
0085nobodyさん2007/02/23(金) 23:24:13ID:???
>>84
実装が見える見えないは関係ないだろうが。

パスワード再送が可能ということは、パスワードをハッシュ化してないか、
またが可逆暗号で保存しているということであり、
これは万が一のときに非常に危険である。

普通、サイトごとにパスワードを全部変えているという人は少ない。
だから、ほぼ絶対に復号できない方法、すなわちランダムSalt付きでのハッシュ化がベスト。
0086nobodyさん2007/02/23(金) 23:28:35ID:???
ああ、同じパスワードの再発行か
ランダムの生成して送っといて変更してもらうっていう手とってるな
0087nobodyさん2007/02/23(金) 23:48:58ID:???
銀行のシステムのように第二暗証とかまであったりすると高級感が出てくるよなw
0088nobodyさん2007/02/23(金) 23:51:21ID:???
>>87 セキュリティーを強化すれば、利便性が悪化する。要はバランス。
0089nobodyさん2007/02/24(土) 00:04:43ID:???
>>85
前にその話題を出したものなんですが

>ランダムSalt付きのハッシュ
これの使い方が良くわかりません。

これは、それぞれのユーザーのパスワードを暗号化するときに、
それぞれ別の文字を与えるということであってますか?

で、その与えた文字はどこに保存すればいいのでしょうか?
DBクラックされたらその文字もわかってしまうと思うのですが
別のところに保存しておくということが必要なんですか?
0090nobodyさん2007/02/24(土) 00:07:31ID:???
非可逆保存で済むのはWebのみで閉じた単純なシステムだけでしょ。
0091nobodyさん2007/02/24(土) 00:24:00ID:SolPpwuf
HTTP_X_UP_SUMBOって検索してもでてこないんですけどなんですか?
0092nobodyさん2007/02/24(土) 00:26:56ID:???
日本では使われてないからじゃね?w
0093nobodyさん2007/02/24(土) 00:54:17ID:???
HTTP_X_UP_SUBNO
0094nobodyさん2007/02/24(土) 01:18:32ID:???
>>90
お前はPHPをweb以外のどんなシステムに使いたいんだ?ww
100字以内で回答せよ。
0095nobodyさん2007/02/24(土) 01:32:21ID:???
>>89
ハッシュ化された文字列をばらつかせるために使うから一緒に持ってていい

>>94
共有するのはDBでしょ
0096nobodyさん2007/02/24(土) 01:35:00ID:???
なんかここの面子で面白いPHPアプリ作れないかな
実用さとか追求せずに適当な感じで
0097nobodyさん2007/02/24(土) 01:37:42ID:???
formにutnつければそれで終わりでしょうに
0098nobodyさん2007/02/24(土) 01:43:49ID:i51GRfpk
MySQLでテーブルが複数個あるのですが、
これらのテーブルのフィールド名とか型とかを一括して取り出して表示したいんですけど、
なんか便利な関数かライブラリってありますでしょうか?

イメージとしては、配列の中身を整形出力するvar_dump()みたいな感じで、
テーブルの構造を整形出力して確かめたいんです。
今のところphpMyAdminを使って一つ一つのテーブルを手動で開いてカラム名とか確認してるので面倒で・・・
0099nobodyさん2007/02/24(土) 01:51:21ID:???
mysql_fetch_field()
0100nobodyさん2007/02/24(土) 01:55:20ID:TWO55K1R
指定した文字が最初に出た以前の文字を取得したいです
例
$sitei = 'C';
$str = 'ABCDEFG';
指定したCまでの文字 ABC と出力したい
0101nobodyさん2007/02/24(土) 02:07:07ID:???
substr( $str, 0, strpos( "C" ) );
0102nobodyさん2007/02/24(土) 02:07:39ID:???
substr( $str, 0, strpos( $sitei ) );
0103nobodyさん2007/02/24(土) 02:19:09ID:/9A/DTQN
FCKEditorを掲示板に組み込むことを考えました。
もちろん、そんなことをすれば、穴だらけになります。

そこで、FCKEditorから受け取った値を正規表現を使って変換することを考えました。

例:
<p>→[p]
<strong>→[strong]
<table width="200" cellspacing="1" cellpadding="1" border="1">
→
[table---200---1---1---1]

tableタグも正規表現を使えば、上手く表現できそうな感じです。
その後でhtmlspcialcharsすれば、セキュリティ的にも問題ないと思います。
表示するときは、正規表現を使って逆に変換します。

質問は、上記のような事をやっている方・プロジェクトは無いですか?
便利なので、誰かやってそうな気がしますが。
0104nobodyさん2007/02/24(土) 04:12:21ID:XQwWa3rh
変数に入ってる文字列からファイル名に使えない文字だけを置換したいのですが
htmlspecialchars() のように手軽にできるものありますか?

今は str_replace を使って個別に置換してるんですけど

$str = str_replace("/", "/", $str);
0105nobodyさん2007/02/24(土) 04:35:34ID:???
>>104
ファイル名に使えない文字なんて、
ファイルシステムで変わるし、自分で関数作っちゃうのが早いんじゃないかな。

>今は str_replace を使って個別に置換してるんですけど
個別というと1個ずつおきかえてるのかな?
str_replaceはしらないけど、
preg_replaceなら配列に入れて全部いっぺんに置き換えれるよ。
0106nobodyさん2007/02/24(土) 05:22:30ID:???
>>104
ファイル名に2バイトを使うのもいただけない。
ただの例なのかもしれないがエスケープするほうがいいよ
0107nobodyさん2007/02/24(土) 05:53:52ID:???
>>106
ファイル名に2バイトなんて普通だろ。
1バイトしか使えないような馬鹿なOSがあるのかw
2バイト文字に神経質すぎだろ、オマエ
01081042007/02/24(土) 06:02:24ID:XQwWa3rh
>>105
対象の文字って結構たくさんあるんですかねぇ
preg_replace や strtr を使ってやってみます
先人が便利な関数作ってくれていないかなぁと

>>106
日本語ファイル名を扱うのでとりあえず
2バイト有りでやってみてます
0109nobodyさん2007/02/24(土) 06:29:00ID:???
>>108
Shift JISだと表とかで失敗する
strtrだと1バイト->2バイトの置換は無理
0110nobodyさん2007/02/24(土) 06:35:27ID:???
え?
0111nobodyさん2007/02/24(土) 06:38:12ID:???
>>107
こういう奴がいると引き継いだ時苦労する。
0112nobodyさん2007/02/24(土) 07:17:27ID:???
windowsしか使った事ないんだろ
ほっとけよ
0113nobodyさん2007/02/24(土) 07:54:50ID:xkGH8kMq
おはようございます

>>97
utnつけてるHTMLを読み込まれるだけで良いのでしょうか?
アクセスしたら自動的にログインされた状態にしたいのです
0114nobodyさん2007/02/24(土) 10:51:52ID:???
>>113
utnはDoCoMoのFOMAしか対応していない。 ユーザーが「端末情報を送信しますか?」とでるので、いいえと選択したら送信されず、自動ログインはできない。
HTTP_X_UP_SUBNOはauで、携帯本体で「端末情報送信する」に設定してる人のみ。
softbankは知らない。
0115nobodyさん2007/02/24(土) 11:25:55ID:SolPpwuf
おねがいします。HTTP_X_UP_SUBNOはなんなのか教えてください。
0116nobodyさん2007/02/24(土) 11:39:47ID:???
いくら下スレだからといってもgoogleくらい使おうよ
0117nobodyさん2007/02/24(土) 11:48:08ID:???
ガタガタうるせーなw
01181152007/02/24(土) 11:52:04ID:???
自己解決しました
01191172007/02/24(土) 11:56:52ID:???
ポルターガイストでした
0120nobodyさん2007/02/24(土) 12:26:34ID:???
|ω^)
0121nobodyさん2007/02/24(土) 12:34:10ID:???
ってか、なんでいきなりutnとかの話になってるの??
>>97が突然その話を始めたわけだが。。。
0122nobodyさん2007/02/24(土) 13:24:08ID:???
>>107
今日は釣れませんね
0123nobodyさん2007/02/24(土) 13:25:28ID:???
昨日の夜からいる携帯厨だろ
HTMLタグ書くようにPHPコード書けば動くと思ってるのかもしれんぞw
0124nobodyさん2007/02/24(土) 13:34:14ID:???
php5で以下のコードと結果はあってます?
php5って変数から変数への代入って参照渡しじゃなかったっけ?
それともオブジェクトのみの話?

$a = 100;

echo $a."<br>";



$b = $a;

echo $b."<br>";



$a = 'a';

echo $a."<br>";



echo $b."<br>";



100
100
a
100
0125nobodyさん2007/02/24(土) 13:43:29ID:???
>>124
マニュアルくらい読もうぜ僕ちん。

ってかPHPがそんな仕様になったらえらいことになりそうだな
0126nobodyさん2007/02/24(土) 13:54:26ID:???
>>125
PHP4は値渡し、PHP5は参照渡し

だよ
0127nobodyさん2007/02/24(土) 13:57:05ID:???
>>126
んなわけねーだろボケが
0128nobodyさん2007/02/24(土) 14:21:28ID:???
前スレでオブジェクト指向勉強始めたって書いた奴だけど、
のたうちまわった挙げ句カウンタができた。
多分ツッコミどころ満載というか、オブジェクト指向になりきれてないような気が。
誰かネ申な人アドバイスください。
ttp://sakuratan.ddo.jp/uploader/source/date33554.zip

わかんねーよお武家うtk指向。
0129nobodyさん2007/02/24(土) 14:38:52ID:???
>>128
まだぜんぜん読んでないが
>$IPcount = "yes";
うーん(^ω^;)
0130nobodyさん2007/02/24(土) 14:41:23ID:???
とりあえずもっと抽象度を高めたら?
あとyes/noの文字列じゃなくてtrue/falseや1/0使ったら?
$flagの意味もわからんけど
01311282007/02/24(土) 14:48:41ID:???
>>129 え、ひょっとしてもうダメッぷり発揮すか?
>>130
抽象度。ってなにy=ー( ゚д゚)・∵.

同一IPでも日付が変わってればカウントしたいので、
とりあえず$flagたててます。

うあ、住人がたでも「?」なコーディングしてるらしい('A`)
0132nobodyさん2007/02/24(土) 15:17:35ID:???
細かいところは見なかったことにして

Counterというクラス名なのに、カウンター固有のロジックはほとんどクラス外にあるし。
staticなfunctionをまとめてるだけだから、クラスのインスタンスを作る意味ゼロだし。
0133nobodyさん2007/02/24(土) 15:19:15ID:???
関数をclass{}で囲っただけじゃねーかw
0134nobodyさん2007/02/24(土) 15:21:16ID:???
>>128
カウンタだから、必要なメソッドはカウントアップと
各データ取得だけでよいよ後は隠して
インターフェイスこんな感じで

class Counter
{
var $_logdir = '';
var $_options = '';

function Counter($logdir = './log/', $options = array()) {}
function setLogDirectory() {}
function setOptions() {}
function countUp() {}
function getCountTotal() {}
function getCountToday() {}
function getCountYesterday {}
function getLastAccess() {}
function _write() {}
function _read() {}
}
0135nobodyさん2007/02/24(土) 15:21:56ID:???
インデントもいい加減だしコーディングスタイルも統一されてない。
見てて気持ち悪い。
0136nobodyさん2007/02/24(土) 15:26:03ID:???
>>127
>んなわけねーだろボケが

ttp://f3.aaa.livedoor.jp/~matukazu/php5/php5_hensu.php
ttp://blog.so-net.ne.jp/nakagami/2005-11-10
01371282007/02/24(土) 15:46:46ID:???
>>132-133
やっぱ全然オブジェクト指向になりきれてないすか…。
ベタ書きとそう変わらないorz

>>134
ありがとです。
とりあえずその示してくれた型に入れて作り直してみます。

>>135
きっとよくわかってないことの裏返しですorz

やっぱりわかったようでわかってなかったようで…。
ググって、ちょっとしたら作り直します。
0138nobodyさん2007/02/24(土) 15:47:31ID:???
>>136
124で変数から変数への代入は値渡し?参照渡し?
125でそんなわけない
126でPHP4は値渡しだよ、PHP5は参照渡しだよ
127でんなわけねーだろボケ
136で意味不明なリンク

やっぱりボケだったようで
0139nobodyさん2007/02/24(土) 15:49:33ID:???
>>137
あのね、わかってないんだったらコード書く前に基礎を学んだほうがいいと思うよ
言われたことそのまま取り入れても、なぜそうするのかが分かってないだろ?
そもそも「〜〜」すればオブジェクト指向になるってもんじゃないし。
0140nobodyさん2007/02/24(土) 15:57:31ID:26WGt2h1
phpでパス関連はdifineでするのが良いでしょか

それともDBの中に入れちゃっても大丈夫かな
保存ディレクトリまでのパスとかURLとか
皆さんどうしてますか?

TABLE1
商品カテゴリ   URL      パス          ページimg         (略
事務用品     ttp://ry    /usr/html/jimu   /user/html/img/jimu
パソコン用品   ttp://ry   /usr/html/paso   /user/html/img/jimu

TABLE2
商品名 商品カテゴリ
机     事務用品
モニタ    パソコン
棚     事務用品
鉛筆    事務用品

結果セットテーブル
商品名   URL      パス          ページimg         (略
机    ttp://jimu/ry   /usr/html/jimu   /user/html/img/jimu
モニタ  tttp://paso/ry   /usr/html/paso   /user/html/img/paso
棚     ttp://jimu/ry   /usr/html/jimu   /user/html/img/jimu
鉛筆    ttp://jimu/ry   /usr/html/jimu   /user/html/img/jimu

結果セットを foreachで 表示やら各種処理です。
アドバイスお願いします。

0141nobodyさん2007/02/24(土) 16:04:08ID:???
相対パスだけ入れとけば?
0142nobodyさん2007/02/24(土) 16:07:35ID:???
>>138
無知をさらすなよw
0143nobodyさん2007/02/24(土) 16:15:52ID:???
あのね、ここは
素人が質問して、
素人が答えるスレ
わかってるか?
0144nobodyさん2007/02/24(土) 17:08:56ID:???
よく言うと、みんなで助け合おうって事です。
0145nobodyさん2007/02/24(土) 17:50:20ID:???
>>144
いいこというね。
0146nobodyさん2007/02/24(土) 18:04:12ID:C5SeaRxM
サーバ上の画像ファイルのパーミッションを
変更したいのですがchmod()、ftp_chmod()以外でも可能でしょうか?
環境はwinのPHP5です
0147nobodyさん2007/02/24(土) 18:10:30ID:???
>>146
Windowsにパーミッションはありません。 ので、変更は出来ません。 さらにchmod,ftp_chmod以外ではパーミッションの変更はできません。
0148nobodyさん2007/02/24(土) 18:19:53ID:???
>>147
hint: 読み取り専用属性
0149nobodyさん2007/02/24(土) 18:26:14ID:???
>>148
http://php.benscom.com/manual/ja/function.chmod.php
注意: この関数は Windows 環境にはまだ実装されていません。

0150nobodyさん2007/02/24(土) 18:37:48ID:wnb8mZxA
http://jsgt.org/mt/archives/01/cat_eo.html

このページにあるようなアクセス推移をグラフするスクリプトがほしいんですが、
公開されてるところはないでしょうか?ライブラリなどがわかれば知りたいです。
スクリプトは英語でもOKです。
0151nobodyさん2007/02/24(土) 18:55:25ID:???
$var に全角文字が含まれているかどうか、
の判断ってどのようにすればいいでしょうか。
01521152007/02/24(土) 19:13:46ID:???
>>151
strとmbstrの長さと比較する。

USキーボードで認識されちまった…アンダーバーどこだ!!
0153nobodyさん2007/02/24(土) 19:23:32ID:???
その発想はなかったわw
0154nobodyさん2007/02/24(土) 19:48:25ID:???
>>150
そのサイトで公開されてねーの?
0155nobodyさん2007/02/24(土) 19:48:26ID:???
>>150
「php グラフ ライブラリ」でググルだけで相当出て来るんだが
0156nobodyさん2007/02/24(土) 20:31:35ID:YJBwbPsK
1、id passを自由に記入して登録してもらい、
2、その後、ログインする機能をつけたいと思っています

1でフォームを通じてデータベースに登録するところまではできました

2ではどうしたらいいのでしょうか 
ログインするページで、データベースから登録された全てのIDパスを読んで、フォームに入れられた情報が合致するかどうかをチェックしているのでしょうか?
0157nobodyさん2007/02/24(土) 20:34:15ID:???
whereでID探してPassの整合性をチェック
0158nobodyさん2007/02/24(土) 20:34:18ID:???
select * from idとpass入れたテーブル
where id=入力されたid
and pass=入力されたpass
0159nobodyさん2007/02/24(土) 20:44:34ID:YJBwbPsK
>>157-158
すばやい解答ありがとうございます!

プログラムど素人で、phpは勉強し始めて一ヶ月でわからないことだらけですが、
すごく面白いですね
ここのスレの人たちも親切ですし、すごくやる気がでてきます

本当にありがとうございました
0160nobodyさん2007/02/24(土) 20:46:43ID:YJBwbPsK
>>157-158
すばやい解答ありがとうございます!

プログラムど素人で、phpは勉強し始めて一ヶ月でわからないことだらけですが、
すごく面白いですね
ここのスレの人たちも親切ですし、すごくやる気がでてきます

本当にありがとうございました
0161nobodyさん2007/02/24(土) 20:55:06ID:???
何で二回言ったん?
0162nobodyさん2007/02/24(土) 21:41:31ID:???
>>161
僕は>>159-160ではないが、サーバの調子が悪いみたい。
0163nobodyさん2007/02/24(土) 21:45:33ID:???
>>161 
僕は>>159-160ではないが、サーバの調子が悪いみたい。 
0164162 ◆4M/QOnfmpY 2007/02/24(土) 21:53:21ID:???
ありゃ、どうやら本当のようだな。
どうなってんのよおぃ……
0165nobodyさん2007/02/24(土) 23:05:59ID:???
ん?
かける?
0166nobodyさん2007/02/24(土) 23:16:39ID:???
ん? 
かける? 
0167nobodyさん2007/02/25(日) 01:05:09ID:gfMJR4ri
PHP初心者です よろしくお願いします
dbから取り出すプログラムを組みたいのですが
エラーが出てしまうのでよろしくお願いします。
16:$con=mysql_connect("localhost","y","p","test1");
17:$query="select*from db;";
18:$res=mysql_query($con,$query);
19:
20:while ($row=mysql_fetch_array($res)){
21:print('<tr><td>'.$row["id"].'</td><td>'.$row['db'].'</td><tr>');
22:}
23:mysql_free_result($res);
24:mysql_close($con);

エラー内容
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files line 18
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files line 20
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\Program Files line 23
取りあえず以上なんですがよろしくお願いします。
0168nobodyさん2007/02/25(日) 01:15:25ID:/w8sKU8x
PEARスレより誘導されてきました。

Authについて質問です。
MySQLにパスワードと名前を入れておいて、そこを読み取って認証するという
単純な認証を試しに作ってみたのですが、どうも巧く行きません。

具体的には、どのような入力をしても、以下の「MyAuth.php」のswitch($status)でdefaultが選ばれてしまうので、困っています。
どなたか、アドバイスをください。

以下のURL先がソースコードです。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29230
0169nobodyさん2007/02/25(日) 01:17:44ID:???
>>167
まずDBに接続出来ていない。

mysql_connect("localhost","y","p","test1")
の条件で本当に接続できるか確認。

出来ているなら、mysql_connectのマニュアル読んでさらに確認。
0170nobodyさん2007/02/25(日) 01:22:57ID:???
mysql_query
(PHP 4, PHP 5)

mysql_query ? MySQL クエリを送信する

説明
resource mysql_query ( string query [, resource link_identifier] )
0171nobodyさん2007/02/25(日) 01:24:26ID:???
$query="select*from db;";
がおかしいだけだな。


$query="select * from db";
にして味噌

0172nobodyさん2007/02/25(日) 01:26:16ID:???
>>168
var_dump($status);
01731682007/02/25(日) 01:29:01ID:???
>>172
>var_dump($status);

string(0) ""
でした。
0174nobodyさん2007/02/25(日) 01:32:16ID:???
だったらdefaultになるの当たり前やん
01751682007/02/25(日) 01:33:36ID:???
string(0) ""になる原因に何が考えられるのか、
どのようにその原因を探せば良いのかが分からないのです。
0176nobodyさん2007/02/25(日) 01:39:09ID:???
$status をたどっていくしかないと思うが・・
01771682007/02/25(日) 01:45:18ID:???
無知な上に、理解力が無くて申し訳ないのですが、
$statusをたどるという事の意味がよくわからないです。
Auth.phpのコードを読むという事でしょうか?
0178nobodyさん2007/02/25(日) 01:50:06ID:???
PEAR使ったことないぺーぺーだが
"loginFunction"ってのはログイン画面だけを書く場所じゃないの?
その後に認証されてるかどうかをチェックしていくようだが
http://www.phpbook.jp/pear/pear_auth/index.html
0179nobodyさん2007/02/25(日) 01:52:00ID:???
>>177
ドキュメントでも読めばいいじゃん
0180nobodyさん2007/02/25(日) 01:53:06ID:???
俺PEARって使ったことないんだけど便利なの?
ログインごときでハマるぐらいなら使わないほうがよっぽど早いと思うが。
01811782007/02/25(日) 01:58:53ID:???
読み進めていったらその書き方で"loginFunction"に色々書くみたいね
statusに何も入らないって事はセッションが確立できてないとか?
とりあえずさっきのURLの奴を最初から順に追ってくべきだと思うが
01821682007/02/25(日) 02:15:30ID:???
>>178
先ほどのURLの文書は参考にさせていただきます。
今のところ、MySQLを動作させていない状態でも挙動が一緒なので、
きっと、データベース周りがおかしいのだと思います。
しかし、PEAR::DBを使ったデータベース接続は問題が無いので、
なかなか、問題点の予想がつきません。


>>179
http://pear.php.net/manual/ja/package.authentication.auth.php
は、一通り目を通したつもりなのですが、原因が分かりませんでした。
再読してみます。

>>180
便利だと聞いて、使ったら痛い目に遭ってます(三日ほど
勉強と思って、使ってみているつもりです。

0183nobodyさん2007/02/25(日) 02:23:47ID:0G38USQn
定数とかロケールの設定とか例外ハンドラーなど
システム全体で使う物を定義したphpをいちいち全php(というか実際には一番下の)
にrequire_once書かないで、自動的に読み込む方法ってありますか?

DBにアクセスする基底クラスとか、いろんな場所から使う物にrequire_onceしとけば
たいてい、読み込むだろうけど、なんか管理しづらいというか、
「ああ、ここには読み込まれてないのか」的なエラーは面倒なので
あったらお願いします。
0184nobodyさん2007/02/25(日) 02:28:11ID:???
>>183
Ctrl+C → Ctrl+V
01851682007/02/25(日) 02:30:37ID:???
.htaccessに
<IfModule mod_php.c>
php_value auto_prepend_file "hoge.php"
<IfModule>
って入れればOKだったはず。

適当なURLが見つからないが、
http://www.shigeweb.jp/php/project_p/?section=setup&page=htaccess
あたりを参考にしてください。
01861852007/02/25(日) 02:42:09ID:???
訂正。スラッシュ入れ忘れてた。

.htaccessに
<IfModule mod_php.c>
php_value auto_prepend_file "hoge.php"
</IfModule>

だった。
01871852007/02/25(日) 02:44:48ID:???
訂正。数字入れ忘れてた。
グダグダやな。

PHP4なら
.htaccessに
<IfModule mod_php4.c>
php_value auto_prepend_file "hoge.php"
</IfModule>

だった。

PHP5なら、5で。
0188nobodyさん2007/02/25(日) 02:56:59ID:???
>>182
PEARが便利に感じないなら、無理に使う事はない。
取捨選択自分でしないと
01891832007/02/25(日) 03:53:14ID:0G38USQn
>>187
ありがとうございます

とうぜんですがphp.iniでもいけるみたいですね。
.htaccessを使えばディレクトリ単位で変えられますね

ふむ。便利だ。
ありがとうございました。

どうでもいいけど。phpの公式日本語マニュアルが出ない・・・
まあ、他にもいろいろあるから良いけど。
0190nobodyさん2007/02/25(日) 06:03:56ID:t/+ZOEaw
質問です

www.x.com と secure.x.com で一つのクッキーやセッションを共有することはできますか?
やり方を教えてください

よろしくお願いします
0191nobodyさん2007/02/25(日) 06:11:50ID:t/+ZOEaw
190ですが補足します
完全な共有でなくても、擬似的に共有したような状況にできる方法があったら
ご教授ください

0192nobodyさん2007/02/25(日) 06:22:31ID:t/+ZOEaw
連投スミマセン

フォームにデフォルトで " と ' を含む文を表示させたいのですが崩れてしまいます・・・
フォームの中の " ' をちゃんと表示させる方法はありますか?
0193nobodyさん2007/02/25(日) 07:23:40ID:???
>>190
is_numeric
01941902007/02/25(日) 08:18:49ID:t/+ZOEaw
>>190は自己解決しました
>>192をご存知の方、よろしくお願いします。

0195nobodyさん2007/02/25(日) 08:36:48ID:???
\
0196nobodyさん2007/02/25(日) 08:39:16ID:???
特殊キャラ
0197nobodyさん2007/02/25(日) 10:47:00ID:???
>>194
phpじゃなくてhtmlの話だな
既に二人が答えてるけど、マジッククオート関係を調べれば意味がわかると思う
0198nobodyさん2007/02/25(日) 13:31:33ID:???
$str_m = "あああ";
echo "結果$str_m";

例なんですが、↑は大丈夫で↓は駄目です。

$str['m'] = "あああ";
echo "結果$str['m']";

そこで中括弧で括るとOKな事は分かったんですが、
{$str['m']} 、 ${str['m']} 両方動作するのですが、どっちがいいのでしょうか?
echo "結果".$str['m']; にしろってのは無しの方向でお願いします。
0199nobodyさん2007/02/25(日) 13:39:54ID:???
どっちがいいかはどんなプログラムかによって変わるのでお答えできましぇーん
0200nobodyさん2007/02/25(日) 13:49:17ID:???
>>198
どっちでもいいよ意味は同じ
むしろパーサからしたら echo "結果" . $str['m'];
の方が早いだろうしダブルクォート内に
変数を入れ込まないと相当読みづらくなるっていう
場合でもない限り俺は最後のスタイルで書く
02011982007/02/25(日) 14:05:36ID:???
ありがとうございます。
ぐぐっても分からなかった(検索キーワード的にも難しかった)のでスッキリしました。

速度に関しては、以前から連結が最速というのは知ってますが、
実際はヒアドキュメント内で$_SERVER['']などの記述をどうしようか模索してました。

出力部がスクリプト内に点在しているのが管理的にも嫌だったので、
変数にためて最後に出力したり、ヒアドキュメントなど利用しているのですが、
そもそもその方法が駄目なのかなとも思います。

最後に>>200さんの改行スタイルを解析中です。
0202nobodyさん2007/02/25(日) 14:11:11ID:0G38USQn
>>200に一票
早いって言うのは
}を見つけるまでそれが変数だとPHPが解らないからって感じかな?
まあ、微々たるモンだろうけど。

それにクォート内の色が変わるエディタを使っていたら
一番下のやり方が見やすいし。

たしかに一度ドットで抜けて、また戻ってって面倒なときあるけどね。
どうしても{}を使うなら{$hoge}が見やすいかな?
02031822007/02/25(日) 14:31:00ID:???
>>188
おっしゃる通りです。
どうしても無理なら、あきらめます。
0204nobodyさん2007/02/25(日) 14:39:11ID:???
echo "結果" , $str['m'];の方が早いって聞いたけど、ホント?
0205nobodyさん2007/02/25(日) 14:54:51ID:???
えー、カンマ?ピリオドで連結が最速じゃね?
0206nobodyさん2007/02/25(日) 15:08:59ID:???
結果<?php echo str['m'];?>
これで十分
0207nobodyさん2007/02/25(日) 15:13:27ID:???
単純なのならいいけど、 <? ?>で全部区切るのは相当読みづらいと思うが。
0208nobodyさん2007/02/25(日) 15:15:35ID:???
負荷削減
0209nobodyさん2007/02/25(日) 15:17:02ID:???
>>206
そんな全角スペースで動作すると思ってんのか貴様ー!!
0210nobodyさん2007/02/25(日) 15:17:32ID:???
俺はカンマで追加していく派。
ついでに言うと$output .= ってやってって最後にどんと。

zen-cartだったかな?
<? ?>で書いてあってすげー読みづらかった…
しかも同じようなコード繰り返してるし。
0211nobodyさん2007/02/25(日) 15:18:40ID:???
この板でずうずうしい奴が常駐するスレ一覧

【おまえらに作らせよう】
http://pc10.2ch.net/test/read.cgi/php/1172328149/

【恥を知れ】
http://pc10.2ch.net/test/read.cgi/php/1161784348/

【著作権ってなんですか?】
http://pc10.2ch.net/test/read.cgi/php/1162123400/

【口だけクン】
http://pc10.2ch.net/test/read.cgi/php/1170317609/

【Mr.へりくつ】
http://pc10.2ch.net/test/read.cgi/php/1171955922/
0212nobodyさん2007/02/25(日) 16:29:35ID:???
すごく・・・・どうでもいいです
0213nobodyさん2007/02/25(日) 16:29:38ID:???
デザイナーといっしょに仕事したことがないやつがたくさんいるな
0214nobodyさん2007/02/25(日) 16:30:44ID:???
smartyとかテンプレート知ってるだけで鼻高々ってのもどうかと思うが
0215nobodyさん2007/02/25(日) 16:41:44ID:???
おれはsmartyをパソコンにインストールできるだけで偉いと思ってるぜ!
0216nobodyさん2007/02/25(日) 16:55:06ID:XAraiK/y
ユーザーが自分で投稿したコメントを編集できる掲示板を作っています
そこで質問です

フォームで改行された場合、 str_replaceで\r\nを<br>で置き換えます
投稿された文章を見る場合だけなら問題ないのですが、
投稿したコメントを編集しようとした場合、<br>タグが出てきますよね

編集の際、
普通に書き込む時と同様に、<br>を表示させないようにするためにはどのようにすればいいのでしょうか
0217nobodyさん2007/02/25(日) 16:59:33ID:???
俺がやっている仕事ではデザインは仕様で既にきまっているから
デザイナーの入る余地はない。
っていうかデザイナーの絡む仕事って言うのやったことない
0218nobodyさん2007/02/25(日) 16:59:50ID:???
>>216
DBには投稿されたまま保存して
画面上に表示するときだけ<br>に変換する
textareaに表示するときはそのまま表示
0219nobodyさん2007/02/25(日) 17:21:26ID:???
掲示板作っているのですが、投稿された文の文字コードチェックをすべきでしょうか?
if (mb_detect_encoding($str) != 'EUC-JP') {
  mb_convert_variables('EUC-JP', mb_detect_encoding($str), $str);
}
これ必須だったりします?別になくてもおk?
0220nobodyさん2007/02/25(日) 17:30:21ID:???
君のシステムでは
1.異なった文字コードで投稿される場合があるのか
2.異なった文字コードを変換して保存する必要があるのか
による
0221nobodyさん2007/02/25(日) 17:53:25ID:???
素朴な疑問なんだけど、コメント箇所ってどういう風に書いてる?
俺は今まで

/*入力確認*****************/

〜ソース〜

/*DB登録処理***************/

〜ソース〜

みたいに書いてたんだけど、なんか分かりづらい気もして。
気にする事はないだろうけど、、綺麗なソースを書きたいので、気になりました。
0222nobodyさん2007/02/25(日) 17:56:49ID:???
>>221
zendやpearのコーディング規約でも見るがよろし
0223nobodyさん2007/02/25(日) 18:00:13ID:???
>>222
そんなのあるのかー。ググって見ます。ありがとです。
0224nobodyさん2007/02/25(日) 18:01:35ID:???
PEARっぽく無理して英語で書いて、
グダグダになるに$1
0225nobodyさん2007/02/25(日) 19:31:15ID:XAraiK/y
>>218
なるほど!
ありがとうございます
0226nobodyさん2007/02/25(日) 19:45:40ID:eI7feJlv
PHPスクリプトを公開していらっしゃる作者さんへ質問です。
どこのレンタルサーバを使われていらっしゃいますか?
あと、PHP4とPHP5のスクリプト互換性は合った方がいいですか?
0227nobodyさん2007/02/25(日) 19:59:22ID:???
仕事で鯖からなにからこっちで立ち上げるのなら5で。
レン鯖をつかうような掲示板とかのちょっとした小物だったらphp4で書いてる。

よく使うレン鯖は今んと頃軽くて使い勝手が良いので勘弁。
0228nobodyさん2007/02/25(日) 20:57:21ID:???
>>221
Para poder salvar mi servidor de todo ese
02291902007/02/25(日) 20:58:19ID:IYDfC2eT
>>197
説明不足ですみません
htmlspecialcharsで変換するのは知っていますが、ユーザーがフォームに " ' を入れた場合、それを
修正してもらうためにもう一度 フォームの中に " や ' が表示された状態で画面を再表示させたいの
です。

フォームのvalueにhtmlspecialcharsで修正した値を入れると、"e;などの文字列がフォーム内に直接
表示されてしまいますよね。しかしhtmlspecialcharsで修正しないと " のせいでフォームが途中で途切れ
てしまいます。これをなんとかしたいのです。
02301902007/02/25(日) 20:59:42ID:IYDfC2eT
>>229の "e; は &quot; の誤りです
0231nobodyさん2007/02/25(日) 21:00:18ID:???
>>229
マジッククオートは調べたか?
0232nobodyさん2007/02/25(日) 21:08:21ID:???
>>231
マジッククォートはoffだし、onでもフォーム内にバックスラッシュが表示されるだけでしたが。
そうではなくて、例えばユーザーがフォーム内に「Arcator"bar"Baalouse」と入力したら、まったく
同じものが修正要求のメッセージと共に表示されないと困るのです。
0233nobodyさん2007/02/25(日) 21:10:16ID:???
htmlspecialcharsの引数をもうちょっとよく調べれば解決するんじゃね
0234nobodyさん2007/02/25(日) 21:11:51ID:???
フォーム内で&quot;表示したら普通に”になるんでないの?
0235nobodyさん2007/02/25(日) 21:13:59ID:???
症状をもっと最初に丁寧に書け
何をどうしたくて現状どうなってるのかサッパリわかんねえ
0236nobodyさん2007/02/25(日) 21:20:20ID:IYDfC2eT
つまり
$val = "&quote;";
<input type="text" name="test" value="{$val}">
↑これでは変換前の実体参照がそのまま表示されるだけですね
$val = '"';
<input type="text" name="test" value="{$val}">
↑これでもフォームが途中で途切れてしまいますね

フォームのデフォルトバリュー内に " や ' が混在するとき、どうすれば正常な
表示が可能なのか、というのが質問の趣旨です。マジッククォートやhtmlspecialchars
では、この問題を解決できないと思うのですが。
0237nobodyさん2007/02/25(日) 21:26:20ID:???
         \   ∩─ー、    ====
           \/ ● 、_ `ヽ   ======
           / \( ●  ● |つ
           |   X_入__ノ   ミ   
            、 (_/   ノ /⌒l
            /\___ノ゙_/  /  =====
            〈         __ノ  ====
            \ \_    \
             \___)     \   ======   (´⌒
                \   ___ \__  (´⌒;;(´⌒;;
                  \___)___)(´;;⌒  (´⌒;;  ズザザザ
0238nobodyさん2007/02/25(日) 21:29:18ID:???
>>236
> ↑これでは変換前の実体参照がそのまま表示されるだけですね
されない。

以上。
0239nobodyさん2007/02/25(日) 21:30:57ID:???
>>238
         \   ∩─ー、    ====
           \/ ● 、_ `ヽ   ======
           / \( ●  ● |つ
           |   X_入__ノ   ミ   
            、 (_/   ノ /⌒l
            /\___ノ゙_/  /  =====
            〈         __ノ  ====
            \ \_    \
             \___)     \   ======   (´⌒
                \   ___ \__  (´⌒;;(´⌒;;
                  \___)___)(´;;⌒  (´⌒;;  ズザザザ
0240nobodyさん2007/02/25(日) 21:33:14ID:???
quoteじゃなくて
quotって事か?
何言ってるのか本当に意味わからん
0241nobodyさん2007/02/25(日) 21:39:37ID:CDvbRnfg
関数の説明で 戻り値 の説明(@param string ... のように)をしたいのですが
戻り値がオブジェクト(http://jp2.php.net/manual/ja/language.types.object.php)の
型名はどうなるのでしょうか?

それから、PHPの標準関数はどこに定義されているのでしょうか?
見てみたいのですが、見られますか?
0242nobodyさん2007/02/25(日) 21:44:55ID:???
@param
じゃ引数じゃないか?

@return foo
だと思うが
0243nobodyさん2007/02/25(日) 21:47:23ID:???
@return objectでいいんでないの?
PEARの書式でもながめてみたら?

関数はPHPのソースにあるでひょ
Cで書かれてるはずだけど
0244nobodyさん2007/02/25(日) 21:56:00ID:???
>>241
http://manual.phpdoc.org/HTMLSmartyConverter/PHP/phpDocumentor/tutorial_tags.return.pkg.html
02452412007/02/25(日) 21:57:24ID:???
Ooooooooooops!!
@returnでした。

>>243
なるほど。素直に'object'ですね。
参考にPEARを覗いてみます。

>関数はPHPのソースにあるでひょ
>Cで書かれてるはずだけど
grepで検索して覗いてみます。
ありがとうございました。
0246nobodyさん2007/02/26(月) 01:29:31ID:MqypCXgA
ちょっと行き詰まったので、質問します。mysqlと絡んだ内容です(php4.4.2、mysql4.0.27)。

テーブル名:list_table
-----------
id | name |
-----------
1 | tato |
-----------
2 | hanako|
-----------

これをWEBフォームよりnameを一括変更するのが目的です。
やり方としては全レコードをmysql_fetch_assocで抽出し、
フォーム部分<input name="name" type="text">のvalue部分に表示させ、
そのフォーム部分の名前を変えて送信すれば、データベースのレコードも変わる、という感じです。

各個人を一人ずつ変える事なら出来たのですが、
一括変更がなかなか出来ません・・・。
どなたかお知恵をお貸し下さい。
宜しくお願いします。

次に現在の内容を晒します。
02472462007/02/26(月) 01:30:02ID:MqypCXgA

//php該当部分抜粋
$editFormAction = $_SERVER['PHP_SELF'];
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "edit")) {
$updateSQL = sprintf("UPDATE list_table SET name=%s WHERE id=%s",
GetSQLValueString($_POST['name'], "text"),
GetSQLValueString($_POST['id'], "int"));

mysql_select_db($database_MyDB, $MyDB);
$Result1 = mysql_query($updateSQL, $MyDB) or die(mysql_error());
}

//フォーム部分抜粋
<form method="post" name="edit" action="<?php echo $editFormAction; ?>">
<?php do { ?>

<?php echo $row_Recordset['id']; ?>
<input type="text" name="name" value="<?php echo $row_Recordset['name']; ?>">
<input type="hidden" name="id" value="<?php echo $row_Recordset['id']; ?>">

<?php } while ($row_Recordset = mysql_fetch_assoc($Recordset)); ?>

<input type="submit" value="送信"><input type="hidden" name="MM_update" value="edit">
</form>

如何でしょうか?
宜しくお願いします。
0248nobodyさん2007/02/26(月) 01:37:37ID:???
複数行のデータが送られてくるのにUPDATEを1回しか発行してないぞ
0249nobodyさん2007/02/26(月) 01:51:29ID:???
>>247
var_dump($_POST['name'])
0250nobodyさん2007/02/26(月) 03:32:17ID:???
初めて知ったけど、includeやrequireに括弧は付けないんだね。
include "hogehoge.php"; ってことか。
0251nobodyさん2007/02/26(月) 03:33:57ID:???
このすれれべるひきいwwwwwwwww
0252nobodyさん2007/02/26(月) 04:15:30ID:???
>>251
こういうのが沸いてくるからな
0253nobodyさん2007/02/26(月) 04:15:31ID:???
メールのヘッダ情報において、「詐称できないもの」って、
Received:の経路情報だけ?

他にも詐称が不可能なヘッダ情報ってある??
0254nobodyさん2007/02/26(月) 04:58:19ID:7mBYKw3T
正規表現の中に変数を含めることって出来ますでしょうか?

たとえば、
$var = "abc";
preg_match('/^aaa{$var}zzz/', $str, $result);
のように、$varを正規表現の中に入れて中身を展開させたいのですが・・・
0255nobodyさん2007/02/26(月) 05:02:33ID:???
自分で試せ
0256nobodyさん2007/02/26(月) 05:02:35ID:???
なんでまずやってみないの?
アホだろ
0257nobodyさん2007/02/26(月) 05:42:18ID:???
>>254
何故、変数展開させたい文字列をシングルクォートで括るか。
0258nobodyさん2007/02/26(月) 05:49:25ID:???
ヴァカしかいねーのな
0259nobodyさん2007/02/26(月) 05:58:24ID:???
質問者の10割と回答者の9割がアホ
それがここの仕様
02602542007/02/26(月) 05:59:13ID:7mBYKw3T
>>255-256
254で記載したコードで試したうえで出来ないので質問いたしました。

>>257
あっ、すいません、ここには手打ちで書いたのでうっかりシングルにしちゃいましたが、
実際のソースのほうではダブルで括ってます。

でも正規表現では{}は意味を持つので、変数を囲うのに使えないし・・・
0261nobodyさん2007/02/26(月) 06:04:57ID:???
>>260
使えるって。先に変数展開されてから関数に渡されるんだから。
試してもいないで言ってるだろう、お前。
つか、正規表現の「{}」って何?
02622612007/02/26(月) 06:12:37ID:???
あ、前の表現の回数指定か。忘れてた >「{}」
でも問題ないよ。たとえば
$s = "aaaabbbcccddd";
$x = "bbb";
print preg_replace("/a{3}{$x}c{2}/", "ZZZ", $s);
というコードで結果は
aZZZcddd
ってなるから。
0263nobodyさん2007/02/26(月) 06:43:34ID:xTDxI0kc
MySQLのテーブルtableのレコードnameには a?b が入ってます

$name = "a'b";
select * from table where name = '$name';
PHPでこれを実行するとちゃんとname = a'bが取得できます。

しかしこれは
select * from table where name = 'a'b';なわけで、危険なのでは?と思い質問しました。

magic_quotes_gpc は Offです。
問題なしでしょうか?
02642632007/02/26(月) 06:46:01ID:xTDxI0kc
>MySQLのテーブルtableのレコードnameには a&#39b が入ってます
↑半角&#39bです。
0265nobodyさん2007/02/26(月) 07:09:31ID:???
a'bなんてname入れんな
0266nobodyさん2007/02/26(月) 07:27:19ID:???
>>263
問題あります1スレに10回は出る質問なので
上を探せばでてきます
0267nobodyさん2007/02/26(月) 07:31:17ID:???
>>265
は?
0268nobodyさん2007/02/26(月) 07:33:25ID:???
>>263
> PHPでこれを実行するとちゃんとname = a'bが取得できます。
どう実行したのか具体的に書いてよ。
単にライブラリの方で自動エスケープしてくれただけじゃないの?
0269nobodyさん2007/02/26(月) 07:38:00ID:???
>>263が何らかのwebサービスを開始したら、ぜひ教えてほしい。
そしたら、速攻でSQLインジェクションやってあげるから。
0270nobodyさん2007/02/26(月) 07:40:24ID:???
>>263
> select * from table where name = 'a'b';なわけで、危険なのでは?と思い質問しました。
危ない以前にSQLシンタックスエラーで実行できない。
02712632007/02/26(月) 07:47:26ID:xTDxI0kc
ちょっと略しました。申し訳ないです。
正確には
$name = "a'b"; ではなく
$nameはPOSTまたはGETで送られたa'bです
02722632007/02/26(月) 07:52:29ID:xTDxI0kc
>$nameはGETで送られたa'bです
↑GET
02732632007/02/26(月) 07:59:42ID:xTDxI0kc
あ、違いますね。
間違いです。勘違いしてました。
忘れてください。
0274nobodyさん2007/02/26(月) 08:00:52ID:???
>>272
>>266
0275nobodyさん2007/02/26(月) 08:55:20ID:???
>>190
htmlspecialchars($変数, ENT_COMPAT, EUC-JP);
第二引数をつけないと脆弱性がある。 190が悩んでるような"や'を入力された場合のことね。
http://au.php.net/manual/ja/function.htmlspecialchars.php
0276nobodyさん2007/02/26(月) 09:01:08ID:???
>>275
オーストラリア在住ですか?
0277nobodyさん2007/02/26(月) 09:11:49ID:???
>>246
<input type="text" name="name" value="<?php echo $row_Recordset['name']; ?>">
を
<input type="text" name="name[<?php echo $row_Recordset['id']; ?>]" value="<?php echo $row_Recordset['name']; ?>">
にする。

で、$_POST['name'][1]〜$_POST['name'][最後]までループで回して、毎回UPDATEする必要がある。

246のソースのままじゃ、1人分しか対応できない。
<input type="hidden" name="id">は消す。

mysql_select_db($database_MyDB, $MyDB);
foreach ($_POST['name'] as $key => $value) {
$updateSQL = "UPDATE list_table SET name = '" . $_POST['name'] . "' WHERE id = " . ($key + 1);
$Result1 = mysql_query($updateSQL, $MyDB) or die(mysql_error());
unset($updateSQL);
}
でいいんじゃないかな。

一括で変換したい場合は、フォーム1つの中で、idとnameの組み合わせをレコード数分見つけられないといけないから、作り方に工夫が必要。 1フォーム1レコードだったらhiddenでidとか埋め込めるけどね。
02782752007/02/26(月) 09:13:50ID:???
orz
ENT_QUOTESだ。
0279nobodyさん2007/02/26(月) 10:53:00ID:???
>>271
普通に考えたらGETだろうとPOSTだろうと「a'b」は「a'b」のままなんだが、
ひょっとしてテーブルに格納されてるのも検索で使った入力値も
「a'b」じゃなく「a&#39b」だって話か?
画面で見ると where name='a'b' に「見える」というだけで実は where name='a&#39b' ?

じゃあ一体何の問題が言うんだね、君は。
0280nobodyさん2007/02/26(月) 11:11:07ID:???
文字コードやら文字エスケープ程度でつまずく奴は何やっても駄目
0281nobodyさん2007/02/26(月) 11:59:30ID:???
どこかで自分のソースをチェックしてくれるサイト・もしくはサービスって無いかな?
HTMLの書き方についてはネットでも自動チェックできるところがあるけど、
PHPについては、どういう書き方が正しいのか?処理がスムーズに行われるのか?
について、いつも悩む。書き方によってパフォーマンスも違うだろうし。
0282nobodyさん2007/02/26(月) 12:18:42ID:???
>>281
プログラムとHTMLは違う。
PHPは構文エラーがあれば教えてくれるんだし。

コーディングなら、他人が書いたソースでも読んでみて
参考になるところがあれば、どんどん真似をして自分のものにしなさい。
コーディング規約を読んでみるのもよし。
0283nobodyさん2007/02/26(月) 12:19:04ID:???
>>281
HTMLだって文法チェックはしてもデザインの良し悪しなんてチェックはしてくれないのだよ。
0284nobodyさん2007/02/26(月) 12:19:19ID:???
Perlなら↓とかあるのはあるんだが
ttp://www.e777.co.jp/perlcw/perlcw.html

まあIDE使ったほうが良さげ
02852842007/02/26(月) 12:20:51ID:???
な、なんだお前ら!
昼休み暇だからって被りすぎだろ コラー!
0286nobodyさん2007/02/26(月) 12:21:45ID:???
>>284
文法チェックだけなら
php -l ソースファイル
でいいじゃん。
0287nobodyさん2007/02/26(月) 12:44:43ID:eLbz34G2
皆さんphp4で開発する時、クラスを多用します?
0288nobodyさん2007/02/26(月) 12:59:51ID:???
サッカーやる時、ボールよく蹴ります?って聞いてるようなもんだよそれは
0289nobodyさん2007/02/26(月) 13:04:35ID:???
http://localhost/test.php?keyword=?
これをそのまま?と表示させたいときどうしたらいいでしょうか?
0290nobodyさん2007/02/26(月) 13:06:58ID:???
そうなのね。
関数でべた書きしてました・・
出直してきます。
02912892007/02/26(月) 13:07:28ID:???
http://localhost/test.php?keyword=&hearts;
これをそのまま♥と表示させるにはどうしたらいいですか?
0292nobodyさん2007/02/26(月) 13:08:29ID:???
>>289
愛が必要です
0293nobodyさん2007/02/26(月) 13:15:59ID:blVK8UOL
1つのファイル上で「入力」→「確認」→「完了」を行い、
それぞれの用途に合わせたテンプレートを読み込む仕様にしたいと思っています。

例えば、最初にアクセスした時にform.phpというテンプレートを読み込むとします。
必須項目をすべて入力したら、次のconfirm.phpを読み込む。
入力してなかったら、form.phpを再度読み込んでエラーをフォームの上に表示する。

ここまではよくあるパターンだと思うのですが、入力エラーの場合
最初に入力した内容もリセットされます。
form.php内のフォームを
<input name="test" type="text" value="<?=$_POST["test"]?>">
とすれば元の入力値も表示されますが、ラジオボタンやチェックボックスの場合は
このような方法は使えません。

そこで質問ですが、確認を入力フォーム上で行う場合、どのような
構築の仕方・ソースの書き方をすればいいのでしょうか?
02942892007/02/26(月) 13:16:10ID:???
>>292
おもしろいけど・・・
02952892007/02/26(月) 13:23:26ID:???
>>293
sessionでもよいかと
0296nobodyさん2007/02/26(月) 13:24:31ID:???
>>293
フォーム内容をポストの際にセッションに入れてから
判定処理
02972892007/02/26(月) 13:27:51ID:???
http://localhost/test.php?keyword=&hearts;
これをそのまま♥と表示させるにはどうしたらいいですか?
<?php
$keyword = $_GET['keyword'];
echo $keyword;
?>
これだとうまくいきませんでした
0298nobodyさん2007/02/26(月) 13:29:24ID:???
XAMPP使っている人いますか?
0299nobodyさん2007/02/26(月) 13:29:55ID:???
使ってるよ
03002932007/02/26(月) 13:33:31ID:???
>>295-296
テキストボックスやテキストエリアの場合、それでもいいのですが、
チェックボックスやラジオボタンの場合は、どうするのでしょうか?

if ($_POST["items"]=="あああ") {
echo <input name="items" type="radio" value="あああ" checked="checked" />
} else {
echo <input name="items" type="radio" value="あああ" />
}

みたいなのを数だけ用意するのでしょうか?
でも、それだとソースが増えすぎる気が。。
03012892007/02/26(月) 13:42:03ID:???
checkedだけ変数に入れてもよいかと

if ($_POST["items"]=="あああ") {
$aaa = "checked";
}
echo <input name="items" type="radio" value="あああ" $aaa />
03022932007/02/26(月) 13:53:37ID:???
>>301
じゃ、テキストボックスが10個あったら

if ($_POST["items"]=="あああ") {
$aaa = "checked";
}

を数だけ用意する事になりますよね?それだとソースが増えすぎる気が・・。
(それが普通の書き方なら、分かるのですが・・・
03032932007/02/26(月) 13:54:11ID:???
じゃ、テキストボックスが10個あったら
↓
じゃ、チェックボックスが10個あったら

すみません、書き間違いです。
03042892007/02/26(月) 14:06:39ID:???
switch($items){
case "あああ" : $aaa = " checked"; break;
case "いいい" : $iii = " checked"; break;
case "ううう" : $uuu = " checked"; break;
・
・
・
}
増えすぎますね でもこれしかわかりません ごめん
詳しい人いたらよろしくです
>>297の質問もよろしくです
0305nobodyさん2007/02/26(月) 14:17:13ID:???
おいらはフォーム関連はHTML_quickformで処理してる。
投稿された、及びセッションからの値を 
デフォルト設定arrayに流してるなあ
0306nobodyさん2007/02/26(月) 14:28:15ID:???
チェックボックスの値の保持&再現か・・・うーん。
そのHTML自体をPHPで生成して、checkedにしたい項目だけ置換して使うとか?
03072932007/02/26(月) 14:35:58ID:???
>>305-306
ありがとうございます。
自分でも色々考えたりググったりしているのですが、
どうしても問題が解決しません。

今回のケースでは「登録時」ですが、「編集時」はどうなるのか?
とか考えると、SESSIONで保持する方法は合わないと思うんです。

フルコントローラぽっく、ひとつのファイル上でテンプレートを読み込む
形を考えてるのですが、現状では難しそうなので、個々のファイルに
アクセスする方法に変えた方がいいかもしれませんね。
0308nobodyさん2007/02/26(月) 14:40:54ID:???
>>297
rawurlencode( "♥" );
03092892007/02/26(月) 14:58:22ID:???
<?php
$keyword = $_GET['keyword'];
$keyword = rawurlencode( "$keyword" );
echo $keyword;
?>

>>308
ありがとうございます だめでした・・・
0310nobodyさん2007/02/26(月) 15:03:13ID:???
>>309
ちがうよ。元のURLをエンコードしないと。
http://localhost/test.php?keyword=%26hearts%3b
0311nobodyさん2007/02/26(月) 15:06:40ID:???
>>293
多次元配列にしてループで回せばいいじゃん
配列の配列で$valueと$checkedの値もってさ
0312nobodyさん2007/02/26(月) 15:22:45ID:???
xxx.php?mode=regist&type=form (入力
($_get[type]==form){$tpl='form.php'}
白紙表示 :セッション[formdata]が在ればセッションから表示
↓
ポスト->セッションへ格納

xxx.php?mode=regist&type=confirm (確認画面表示
($_get[type]==confirm){$tpl='confirm.php'}
エラー戻りはエラーメッセをセッション[error等]へ格納してformへ、 OKで完了はcomplateへ

xxx.php?mode=regist&type=complate (完了
保存処理&リダイレクト等

編集は
xxx.php?mode=modify&type=
(略
こんな感じじゃないのかねえ
なんとでもできそうな・・

<文法適当です
03132892007/02/26(月) 15:24:13ID:???
>>310
違います 説明が下手でごめんなさい 元のURLは
http://localhost/test.php?keyword=&hearts;
で ♥と表示させたい です
0314nobodyさん2007/02/26(月) 15:28:06ID:???
>>313
無理だよそんなの。URLのパラメータの仕組みを理解してください
0315nobodyさん2007/02/26(月) 15:30:18ID:???
>>293
結局の所
チェックボックスの再現問題のみ?
03162892007/02/26(月) 15:53:41ID:???
>>314
無理ではありません
一応正規表現で置換するとできます
特殊文字全部置換しろってことでしょうか?
0317nobodyさん2007/02/26(月) 16:00:25ID:???
>>316
RFC1738を参照: http://www.faqs.org/rfcs/rfc1738

URIに含むことが許されていない文字は、全てRFC1738に基づいて
URLエンコードしなければならない。

もちろん「?」もそのままではURIに含むことができないので、URLエンコード
する必要がある。rawurlencode("?") の結果をパラメータに指定するだけ。
03183172007/02/26(月) 16:01:37ID:???
&harts; が 「?」に化けた。
脳内変換しておいてくれ。
0319nobodyさん2007/02/26(月) 16:05:19ID:???
>>304
>>293=>>297かよ
checkboxの話はどうなったんだ
ったく手当たり次第に思いつくまま質問しやがって
03202932007/02/26(月) 16:08:21ID:???
>>311-312
ありがとうございます。セッションに関してですが、
if (isset($_POST["name"])) {
$_SESSION["name"]=$_POST["name"]; //フォームの数だけ用意
}
みたいな感じになるのでしょうか?
それとも一括でポストをセッションに格納するのでしょうか?
>>315
自分で検討してみたところ、チェックボックスやラジオボタンについては

if (isset($_POST["name"]) {
$checked = "checked=checked";
}else{
$checked="";
}

みたいなのでいけました。(チェックボックスなら配列に入れてarray_search)
ただ、あまりスマートじゃありませんね。求める方法としては
312さんが書かれているような方法が最適だと思っています。
}
03212932007/02/26(月) 16:09:32ID:blVK8UOL
>>319
いえ。自分はひとつの事しか質問してません。
それにパラメーターにハートは無理だと思いますし・・。
0322nobodyさん2007/02/26(月) 16:10:05ID:Sd3D9dFc
クラス内で定義された関数をコールするには $this->関数名(...) でできる
と思ったのですが、「Fatal error: Call to undefined function」が返ってきます。
どうすればできるのでしょうか? PHPのバージョンは PHP 4.4.4 です。

class MyClass
{
    function foo()
    {
        return "にゅるぽ";
    }

    function bar()
    {
        echo $this->foo()
    }
}
0323nobodyさん2007/02/26(月) 16:11:52ID:???
>>316
そりゃ、QueryStringから抽出すればできるけど
そういう質問じゃないだろ。だったらURLエンコードするべき。
そんなURLが来るようなら元のURLを作ってる部分のバグ。
ためしに&heartsでググったらURLがどうなるかやってみろ。
03242912007/02/26(月) 16:22:03ID:???
>そりゃ、QueryStringから抽出すればできるけど
>そういう質問じゃないだろ。

最初からそういう質問ですけど・・・
URLはエンコードされてることくらいわかってるつもりですごめんなさい
0325nobodyさん2007/02/26(月) 16:27:21ID:???
>>324
>最初からそういう質問ですけど・・・

自分で書いた>>297のソース見てみろよ。
普通にGETパラメータから取得しようとしてるじゃんか。
あれでやるならURLエンコードするしかないし
QueryStringから抽出するなら正規表現なり、substrなりご自由に。

>URLはエンコードされてることくらいわかってるつもりですごめんなさい

わかってるやつが書く文章とは思えない。「されてる」んじゃなくて「する」んだから。
0326nobodyさん2007/02/26(月) 16:37:08ID:???
盛り上がってきました
03272912007/02/26(月) 16:42:02ID:???
>>325
QueryStringで取得してもGETで取得してもrawurlencodeするでしょ

>ためしに&heartsでググったらURLがどうなるかやってみろ。
URLはエンコードされてることくらいわかってるつもりですごめんなさい

googleに「されてる」と言う意味です
0328nobodyさん2007/02/26(月) 16:48:37ID:???
>>327
何度も言うけど、URIに含まれてはいけない文字は、URLエンコード
する必要があるんだってば。

パラメータで指定する際に、
http: //localhost/test.php?keyword=%3F (Shift-JISの場合)
03292912007/02/26(月) 16:53:57ID:???
>>328
わかってます 何度も言うけどそれはわかってます
しかしもし特殊文字を入れられたときそれをちゃんと表示させたいのです
完璧を求めちゃいけませんか?
0330nobodyさん2007/02/26(月) 16:54:01ID:???
>>327
>QueryStringで取得してもGETで取得してもrawurlencodeするでしょ

この文章も意味がわからないし・・・

1.$_GET["target"]で取得する

 元のテキストをrawurlencodeしてください

2.QueryStringから取得する

 $_SERVER["QUERY_STRING"]を使って
 正規表現、strpos、substrなどで抽出してください。

これのどちらかです。好きなほうを選んでください。
個人的にはrawurlencodeするのをそこまで渋る理由がわからない。
03312912007/02/26(月) 17:06:08ID:???
>>330
違います URLに特殊文字を直接入力されたとき
置換するとそのまま表示できるので
特殊文字全部を置換しなければいけないのでしょうか?

特殊文字全部を置換するとできますが、他に簡単な方法はないのでしょうあk?
0332nobodyさん2007/02/26(月) 17:06:44ID:???
>>329
       / \  /\ キリッ
.     / (ー)  (ー)\      
    /   ⌒(__人__)⌒ \    < 完璧を求めちゃいけませんか?
    |      |r┬-|    |      
     \     `ー'´   /      
    ノ            \
  /´               ヽ              
 |    l              \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.    
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
0333nobodyさん2007/02/26(月) 17:10:01ID:???
>>331
フォームからの入力じゃなくて
URLをエンドユーザーにいじらせるの?新しいなw
0334nobodyさん2007/02/26(月) 17:12:40ID:eLbz34G2
皆さんアドバイス下さい!

PHPからmySQL等でDB取得する際にSQL文が必要ですが、

1,パターンに応じてPHPでSQL文を色々と生成して一つの取得関数からdataを取る
2,取得関数を沢山つくりそれぞれで取得

検索やら、WHERE後の条件が複雑な時、皆さんどうしてますか!
03352912007/02/26(月) 17:15:38ID:???
ようするに
ttp://ja.wikipedia.org/wiki/PHP♥
これは特殊文字全部置換してるの?と疑問に思ったので

フォームからもURLからもいけるって楽じゃないですか

>>334
1,パターンに応じてPHPでSQL文を色々と生成
0336nobodyさん2007/02/26(月) 17:16:22ID:???
>>334
テスト的にコンソールからSQLを実行するときに
コピペだけで済んでラクだから2
03372462007/02/26(月) 17:17:50ID:nxJeXNNs
返事が遅くなりました。
>>248
>>249
ヒント、ありがとうございます。
なるほど、確かに1回しか発行してませんね・・・。
機能している個別の修正フォームを使い回した為、
その部分は問題ないと思いこんでおりました。

>>277
詳しいご説明、ありがとうございます。
自宅に戻り次第、試してみます!
一括で変換する場合は注意が必要と、勉強させてもらいました。
ありがとうございました。
0338nobodyさん2007/02/26(月) 17:19:45ID:???
>>335
やっぱりURLパラメータじゃないじゃん。substrしなよ、簡単でしょ。
03392912007/02/26(月) 17:23:22ID:???
>>338
substrですか? ちょっと意味がわかりません
詳しくお願いします
0340nobodyさん2007/02/26(月) 17:33:39ID:???
>>339
<?php
  //$requestURI = $_SERVER["REQUEST_URI"];
  $requestURI = "http://ja.wikipedia.org/wiki/PHP&hearts;";
  $lastIndexOfSlash = strrpos( $requestURI, "/" );
  echo substr( $requestURI, $lastIndexOfSlash+1 );
?>
0341nobodyさん2007/02/26(月) 17:34:31ID:???
>>335
それはPATH_INFO使ってるかApacheのmod_rewriteじゃないかと思う
0342nobodyさん2007/02/26(月) 17:36:14ID:???
くそ、Janeで化けた

<?php
  //$requestURI = $_SERVER["REQUEST_URI"];
  $requestURI = 'http://ja.wikipedia.org/wiki/PHP&hearts;"e;';
  $lastIndexOfSlash = strrpos( $requestURI, "/" );
  echo substr( $requestURI, $lastIndexOfSlash+1 );
?>
0343nobodyさん2007/02/26(月) 18:14:53ID:???
>>342
また君か…
0344nobodyさん2007/02/26(月) 18:15:13ID:???
>>342
おまえは何がしたいんだ
0345nobodyさん2007/02/26(月) 18:27:30ID:???
質問です。

ページを表示した際、
<!--kokotitle-->と記した箇所を、任意のページタイトルに置き換える様に

$title = str_replace('<!--kokotitle-->', $pagename, $title)

とPHPを記述したのですが、Yahoo、googleなどの検索エンジンで
タイトル部分を読み取ってくれません。
ロボットはPHPを実行してはくれないのでしょうか?
ご教授お願いします。
0346nobodyさん2007/02/26(月) 18:34:15ID:???
>>345
<?php
  $pagetitle = "下らねぇ質問はここに書き込みやがれ 40";
...
?>



<html>
...
<?= $pagetitle ?>
...
</html>

googleかなにかではGETでidっても文字使ったのは極力使うなと言われてるかな
hogehoge.php?id=777
03473452007/02/26(月) 18:38:47ID:???
>>346
idに文字は使ってません。
テンプレート型のアルバムで
<title><!--kokotitle--></title>
このタイトルが可変部分で、表示した時にタイトルが置き換わる様になってるんです。

ちなみに$pagetitleが含まれてるのが別スクリプトなので、
<title><?include("../../../../../title.php"); print $pagetitle?></title>
といちいちincludeしなきゃいけないのも何だか負荷かかりそうですね。
0348nobodyさん2007/02/26(月) 18:46:10ID:???
>>347
ひょっとしてそれはギャ(ry

>>346は1つのファイルの中に記載
phpの場合はhtmlとphpが共存できる
<?php ... ?>の部分はphpで処理されてそれ以外はhtml
0349nobodyさん2007/02/26(月) 18:51:54ID:???
ん?別ファイルじゃダメな理由は?
例えばSMARTYだとタイトルきちんとなってない?
0350nobodyさん2007/02/26(月) 18:54:44ID:???
思うに
<!--
これ使うから表示されないんじゃね?
03512912007/02/26(月) 19:26:00ID:???
もういいです。
0352nobodyさん2007/02/26(月) 19:34:14ID:???
>>351

>>339-340で抽出できたんじゃないの?
0353nobodyさん2007/02/26(月) 19:51:42ID:FYsfyk0l
zendやpearにもあるインデントでタブの使用をすすめないのはなぜでしょうか?
タブのほうが楽なんですけど理由があるなら空白に移りたいです
0354nobodyさん2007/02/26(月) 19:54:46ID:???
>>353
見る人のタブのインデントサイズによって見え方が変わるから
0355nobodyさん2007/02/26(月) 20:25:31ID:???
なるほど、それなりの理由があるのですね。
ありがとうございます。
0356nobodyさん2007/02/26(月) 20:36:32ID:Sd3D9dFc
class MyClass
{
    function foo()
    {
        return "にゅるぽ";
    }

    function bar()
    {
        echo $this->foo()
    }
}

同一クラス内で定義されたメンバにアクセスしたいのですが
$this->関数名() や self::関数名() では「Fatal error: Call to undefined function」が返ってきてしまいます。

どうすればできるのでしょうか?
PHPのバージョンは PHP 4.4.4 です。
0357nobodyさん2007/02/26(月) 20:44:23ID:???
echo MyClass::foo();
こうならできるんですか……
0358nobodyさん2007/02/26(月) 20:48:14ID:Sd3D9dFc
>>357
それならできます。

が、あるスクリプトのソースを読んでみたら
$this->関数名() や self::関数名() が使われていました。
その関数は同一クラス内でコールされた関数です。

ちなみに self::関数名 だと「Fatal error: Undefined class name 'self'」が返ってきます。
0359nobodyさん2007/02/26(月) 20:51:56ID:???
undefinedなら普通に関数名間違えてるだけじゃないの
0360nobodyさん2007/02/26(月) 20:54:37ID:P0Om59/A
for($ore=0;$ore<100;$ore++){
if($ore==50) die;
}
0361nobodyさん2007/02/26(月) 20:56:06ID:Sd3D9dFc
>>359
それが何度も見直したし、関数名をコピー&ペーストしてみたんですが
やはり結果は同じです。関数名は間違えていないと思います。

そのあるスクリプトというのが、PHP5で書かれているとあったので
$this->関数名() や self::関数名() は PHP4.4.4 では使えないのかしら?
0362nobodyさん2007/02/26(月) 20:58:27ID:???
とりあえずテストした原文そのまま張った方が早いんじゃなかろうか
0363nobodyさん2007/02/26(月) 21:05:54ID:???
echo $this->foo()のセミコロンが抜けてるあたりからして
実際のコードとは違うんだろうな

実は タ イ ポ なんじゃないか?
0364nobodyさん2007/02/26(月) 21:06:58ID:Sd3D9dFc
>>356 をテストしたら
「Fatal error: Call to a member function on a non-object」が返ってきました。

うーん、素直に クラス名::関数名() でアクセスするしかないか……。
0365nobodyさん2007/02/26(月) 21:09:07ID:???
クラスnewしてないとかそういうオチじゃなかろうな
0366nobodyさん2007/02/26(月) 21:09:15ID:Sd3D9dFc
>>363
すみません。

でも、実際のコードを貼ると何百行にもなってしまいます。
しかもそのクラスはincludeされる方なので……。
0367nobodyさん2007/02/26(月) 21:10:21ID:Sd3D9dFc
>>365
それかも知れません。
詳細情報をお願いします。
0368nobodyさん2007/02/26(月) 21:12:56ID:???
>>356
の下に
$obj_myclass = new MyClass();

$obj_myclass->bar();
追加して php -f test.phpしたら にゅるぽ って普通に出るが
WinBinary php 4.4.5
0369nobodyさん2007/02/26(月) 21:13:17ID:???
>>367
$hoge = new MyClass();
$hoge->foo();
0370nobodyさん2007/02/26(月) 21:13:34ID:???
>>367
工エエェェ(´д`)ェェエエ工
0371nobodyさん2007/02/26(月) 21:20:54ID:???
なんだかどっと疲れが出たぜ…
0372nobodyさん2007/02/26(月) 21:24:09ID:Sd3D9dFc
なるほど、MyClass::bar() のように静的にアクセスするのではなく
new でオブジェクトを生成しないと、$this->関数名() でコールできないんですね。

今度はうまくいったみたいです。
ありがとうございました。
0373nobodyさん2007/02/26(月) 21:43:00ID:lOqD3fXr
すいません質問です

ユーザーが自由に登録できるフォームで、半角英数しか使わせたくないのですが、
/や\などの記号を禁止するにはどうしたらいいのでしょうか?
strstrで特定の記号を含むかどうかチェックしていくのでしょうか?
0374nobodyさん2007/02/26(月) 21:58:57ID:???
>>373
正規表現使うか、ctype_alnum()を使う
フォームでJavaScriptでチェキするとコスト削減になる(PC)
0375nobodyさん2007/02/26(月) 22:09:53ID:lOqD3fXr
>>374
すばやい返答ありがとうございます
ジャバスクリプト使えないので、ctype_alnum()を調べてみます

ありがとうございました
03763752007/02/26(月) 22:14:04ID:lOqD3fXr
>>374
ctype_alnum()で一発でできました
本当にありがとうございます

あなたが今晩良い夢を見られますように
0377nobodyさん2007/02/26(月) 22:51:50ID:bnCsMm+y
初めましてよろしくお願い致します。
$con=mysql_connect("localhost","us","pas","test1");
$query="select*from kate;";
$res=mysql_query($con,$query);
while ($row=mysql_fetch_array($res)){
print('<tr><td>'.$row["id"].'</td><td>'.$row['name'].'</td><tr>');
}
mysql_free_result($res);
初めてのPHPで、データベースからidとnameを取り出したしたいんですが
以下のようなエラー表示がされます
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in
が表示されます。
自分で調べてみたのですが良くわからなくなってしまって・・・
よろしくお願いします。
0378nobodyさん2007/02/26(月) 22:59:43ID:???
>>377
はじめましてじゃないし。>>167、>>169
引数が多すぎてDBに接続できてない。
03793452007/02/26(月) 23:00:34ID:???
>>345の問題原因分かりました。
http://******.jp/test.php?a=orangeだとtitleがorange、
http://******.jp/test.php?b=rangeだとtitleがrange
と置き換えられる様に組んでたんですが、
検索エンジンではどうやら?以降が無視されて
全部クエリー無しのtest.phpで認識されちゃうみたいです。

これは静的ページを作る以外どうしようも無いんでしょうか?
03803452007/02/26(月) 23:07:37ID:???
以下の方法で自己解決しました;
ttp://blog.tanaka-cs.com/archives/2004/09/post_11.html
お騒がせしました皆さん。
おやすみなさい。
0381nobodyさん2007/02/26(月) 23:17:25ID:7mBYKw3T
フォームからアップされた画像、またはメール添付で来た画像を
そのまんまファイルとして保存するときに注意するべきことってありますか?
特にセキュリティ的な観点で。

JPEGはいろいろ埋め込めるとかいう情報を聞いたので不安になって。
あと画像に偽装したexeファイルとかがありうるのか??とか。
0382nobodyさん2007/02/26(月) 23:43:39ID:???
>>377
自分で調べてみたとのことですがまずどう調べたのかを教えてください
0383nobodyさん2007/02/26(月) 23:45:53ID:???

これって怖くねーか?
何のアプリなの?
ttp://www.phppro.jp/phptips/archives/vol28/#2
0384nobodyさん2007/02/27(火) 00:03:09ID:???
>>378>>382
氏ね
0385nobodyさん2007/02/27(火) 00:10:08ID:???
>>384
死ねボケ
0386nobodyさん2007/02/27(火) 00:23:44ID:vlBw/BNp
ある文字から一文字を取得する正規表現を書いたのですが配列が無駄に作られてしまいます。

自分が求めている結果はArrya([0]=>a)なのですが、配列の中に配列ができてしまいます。
どなたかご教授お願いいたします。

$str="abcdefg";
preg_match_all("[a]",$str,$hensu);

$hensuの中身
Array(
[0] => Array([0] =>a)
)

0387nobodyさん2007/02/27(火) 00:56:25ID:???
>>386
一文字あるかどうかなら preg_match のほうがいいんじゃね。
んであれば preg_match が1を返すから

if(preg_match("[a]",$str)){
print "aあるよ!";
}

でいいんじゃない?
いまいち使用目的が分からんから的外れかもしれんけど。
03883872007/02/27(火) 00:58:01ID:???
見つけた回数数えたいなら、preg_match_allの返り血も見つけた回数返すからそっちでもいいと思うけど。
0389nobodyさん2007/02/27(火) 01:19:31ID:???
>>386
それがpreg_match_allの機能だが。
自分の無知を棚に上げて無駄とかほざくんじゃねぇカスが。
関数リファレンスみてパラメータや関連関数を使えばお望みの出力が得られるんじゃね。
03903862007/02/27(火) 01:19:51ID:vlBw/BNp
preg_matchだとArrya([0]=>a)という結果ができました。ありがとうございます。
preg_match_allだと無駄に配列ができてしまうのですが解決策はないでしょうか?

正規表現で結果を配列に取得したときにArrya([0]=>a)としたいのですがなかなか解決しないっす。
0391nobodyさん2007/02/27(火) 01:22:03ID:???
>>384-385>>389があぼ〜んされてる
0392nobodyさん2007/02/27(火) 01:36:16ID:???
>>390
無茶言うな
0393nobodyさん2007/02/27(火) 01:43:59ID:???
>>390
自分でCで関数書くので無い限り、道具に自分を合わせるべきだと思う。
そこにこだわる必要性も感じないし。
柔軟に考えたほうがいいんじゃない。
0394nobodyさん2007/02/27(火) 01:45:55ID:???
>>381
なにかの本に、「画像ファイルは拡張子がついてても信用するな!」って
書いてあった(気がする)。
0395nobodyさん2007/02/27(火) 02:44:34ID:???
>>381
>>394
まずその脳みその脆弱性にパッチを当てて下さい。
0396nobodyさん2007/02/27(火) 03:42:18ID:kRyot4Bb
2バイト文字をエンコード?(言葉違ってたらすみません)したいのですが、
http://ja.wikipedia.org/wiki/ウィキ
を、
http://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A3%E3%82%AD
といった感じにするには、どのような関数を使えば実現できるのでしょうか?
0397nobodyさん2007/02/27(火) 03:55:44ID:???
>>396
http://jp.php.net/manual/ja/function.rawurlencode.php
0398nobodyさん2007/02/27(火) 04:12:48ID:UeI7w9y/
file_exists()ってURLだと機能しないんだね。何年もphp使ってるけど今日はじめて知ったよ。
それで、家にある本しらみつぶしに調べたけどどの本にもそんな注意書きないんだよね。
php.netのマニュアルにも明確に書かれてないし。。
file_exists()がURL指定ではダメで、fopenなら大丈夫って言う境界線は何なんだろう。
0399nobodyさん2007/02/27(火) 04:15:31ID:LoXhV5hd
DBをMySQLやめてSQLiteにしたほうが速度が出るとかってあります?
DBサーバーがクソ遅いれんさばを借りてしまったんです。
0400nobodyさん2007/02/27(火) 04:25:48ID:???
>>399
ここのスレタイ知っています?
0401nobodyさん2007/02/27(火) 06:18:42ID:L7ggisbu
半角二十字前後、2500行程のファイルを処理したいのですが、これはPHPで扱う上で大きすぎる物でしょうか?

プログラミング歴が浅く、自分が扱うファイルが大きい方なのか小さい方なのか検討が付きません。
もし大きすぎるようであればファイルを分割する等して対処しようと思っています。
0402nobodyさん2007/02/27(火) 06:27:14ID:???
>>390
allは複数の結果を一発で取得するために用意されてる機能なんだから
配列の配列じゃなきゃ意味がないじゃない。
なんでallにこだわるの?
0403nobodyさん2007/02/27(火) 06:28:45ID:???
>>401
ごく普通かと。
0404nobodyさん2007/02/27(火) 06:47:33ID:L7ggisbu
>>403
普通ですか、有難う御座います。
そのまま処理する事にします。
0405nobodyさん2007/02/27(火) 07:10:57ID:???
すみません、質問です。
phpにアップロードされたJPGファイルを複製して
サイズを変更した上でサーバーに保存するみたいな機能ってありますか?

たとえば画像掲示板とかって、書き出し時にAタグのwidth属性とかで
縮小版を表示⇒クリックして元のサイズの画像表示してますけど、
縮小版ではなく、完全にオリジナルとは別の小さいサイズの画像を表示させるとか
出来たらいいなぁと思ってるんですが、、
phpで無理なら、他のやり方ってありますか?
0406nobodyさん2007/02/27(火) 07:30:08ID:???
>>405
GDとか使えるようになってれば簡単にできるよ。
マニュアルのこの辺参照。
ttp://www.php.net/manual/ja/ref.image.php
04073902007/02/27(火) 07:51:20ID:vlBw/BNp
う〜ん、仕様なら仕方ないですよね。
allを使わず、preg_matchで求めてる結果になるよう挑戦してみます
0408nobodyさん2007/02/27(火) 08:02:11ID:???
>>407
仕様っつーか、マッチするもの全部(複数個)取得→match_all()、1件だけ→match()と
使い分けるものなのに、何故わざわざ1件のみの取得にallを使おうとするのかが意味不明。
そもそも元のコードで
$str="abcdefg";
preg_match_all("[a]",$str,$hensu);
とあったけど、
$str="abcadefg";
preg_match_all("[a]",$str,$hensu);
という内容だったらどういう結果が返ってきて欲しいわけ?
0409nobodyさん2007/02/27(火) 08:40:27ID:???
>>406
おお、ありがとうございます。
助かりました!
0410nobodyさん2007/02/27(火) 08:50:18ID:???
>>395
お前は氏んだほうがいいよwww
こういう馬鹿なド素人ばかりだから、システムの脆弱性はいつまでも無くならない。
0411nobodyさん2007/02/27(火) 08:54:52ID:vlBw/BNp
すみませんでした。
乗せたコードの$strに入っているaは一つだけですが、
複数存在した場合Array([0]=>a,[1]=>a,[2]=>a・・・)のような結果を期待しております。
match_allですと配列の中にまた配列というふうに多重になってしまい期待した通りにはならないアドバイスを受けました。
0412nobodyさん2007/02/27(火) 09:43:40ID:???
$hensu[0]で扱えばいいんじゃね?
0413nobodyさん2007/02/27(火) 10:09:43ID:???
>>411
ふーん。
じゃあ、
$str="abcadabefg";
preg_match_all("(a)(b)",$str,$hensu);
の場合は?
0414nobodyさん2007/02/27(火) 10:13:35ID:???
>>411
preg_match_all("[a]",$str,$hensu);
$hensu = $hensu[0];
でいいんじゃないかな。
0415nobodyさん2007/02/27(火) 10:38:27ID:dFVIrde4
変数の中身見て振り分けで。 :D
0416nobodyさん2007/02/27(火) 10:40:02ID:???
foreachで回せ!
0417虚弱PHP2007/02/27(火) 11:07:41ID:???
>>372
staticメソッドとか、インスタンスとか勉強した方がいいと思うよ。

>>374
javascriptでのチェックはユーザーの利便さのためであって、
サーバー側でのチェックがいらなくなるわけじゃない。
再チェック絶対必要。

>>379
本題とは関係ないけど、ひとまずXSSされないように気をつけてね。

>>399
ベンチマークをとりましょう(ローカル環境でね)。
SQLiteの方が速い場合はあるよ。
0418nobodyさん2007/02/27(火) 11:46:50ID:???
よく使う変数名について解説・表示しているサイトってないですかね?

どういう変数名を付ければいいか悩んで
なかなか進まない時があります…。
0419nobodyさん2007/02/27(火) 11:59:02ID:???
カコイイ変数名を考えてるだけで一日が終わってしまう事ってよくあるよね〜
0420nobodyさん2007/02/27(火) 12:04:00ID:???
>>418
・普通に英語にする
・わからなかったら辞書引く
・ライブラリやフレームワークのソースをたくさん読んでみる
0421nobodyさん2007/02/27(火) 12:08:20ID:???
$result にするか $res にするか迷うよね〜♪
0422nobodyさん2007/02/27(火) 12:08:22ID:???
上部で 
/*  変数名+番号:顔写真
    変数名+番号:身分証写真 */

って感じでコメント付けちゃってるな
コード使い回すときに便利良いかなとおもって。
0423nobodyさん2007/02/27(火) 12:20:35ID:???
そういえばコメントの付け方も迷うよな。

/**
* 会員登録
*/

とかするのが、コーティング規約なんだろうけど、これだとわかりづらいしな。。
0424nobodyさん2007/02/27(火) 12:27:56ID:???
>>418
仕事でやっていないなら、変数名なんて、自分が分かりやすいのをつければいいだけど。
昔、VBの変数名を日本語でやっている人もいたけど、それで分かりやすければ、それもありかと。
仕事でなら、プロジェクト内のネーミング規約を作るはずだから、それに従えばOK。
0425nobodyさん2007/02/27(火) 12:28:42ID:???
>プロジェクト内のネーミング規約を作るはずだから

作るものなの?
0426nobodyさん2007/02/27(火) 12:29:33ID:???
作らないものなの?
04274242007/02/27(火) 12:32:25ID:???
>>425
>作るものなの?
普通は作るよ。
たまにドキュメント不要論を声高に主張する人がいる現場だと、
作らないこともあるけど、違う人がソースを読む時に、混乱する。バグの元。
同じつづりなのに、全く違う意味を持ってたら、読みにくいでしょ。
0428nobodyさん2007/02/27(火) 12:34:15ID:???
>>427
ある程度の構築仕様書は作るんだけど、ネーミングは作ってないな。
最初にネーミングを考えて作るより、作りながら考えた方が早いと思って。

が、実際に悩むもんな〜
0429nobodyさん2007/02/27(火) 12:36:13ID:???
揉めるのが変数に型名を入れるかどうか。
この変数は見た目でブーリアンとか分からない!とかかんとか。
0430nobodyさん2007/02/27(火) 12:39:05ID:???
クラスやメソッド、定数の命名規約はあるけど、さすがに変数の規約は経験ないなぁ。
命名規約っていっても、キャメルケースとか、特定のPrefixをつけるとかそんなもんだけどね。
0431nobodyさん2007/02/27(火) 12:41:48ID:???
作ってて後から変数名を変えたくなるの、結構あるもんな。

最初はnameだけにしてた箇所も、後からc_name(会社名)とかm_name(会員名)
に分けたいとか言った場合とかさ。

なんしか、悩むべき箇所だよな
04324242007/02/27(火) 12:42:42ID:???
>>428
俺は、詳細設計の段階で変数となりそうなものを、ピックアップしてリストにしちゃうけど、
# クラス設計の際にクラス名、メソッド名で使うから、その流れで。
その後は、情報を共有してなるべく統一するように心掛けるって感じかな。
設計段階で、全て割り出せエスパーはいないから。

>>429
VBだとプリフィックスでstrとかblnとかつけるけど、javaやphpはつけないなぁ。
javaはコンパイラでエラーがでるから早期に分かるけど、phpはバグの時に気付く...orz
0433nobodyさん2007/02/27(火) 12:44:04ID:2btkWh5g
ini_setの質問です php5.1.6
でかい動画のアップロードをしようと思っています。ini_setで↓POSTとUPLOADを変えようと思っても、変わらないのです…メモリーは変わりますが…
ini_set('post_max_size', '500M');
ini_set('upload_max_filesize', '450M');
ini_set('memory_limit', '500M');
phpinfo();

マニュアルを見る限り、少なくともupload_max_filesizeは変わるはずなんです…
upload_max_filesize "2M" PHP_INI_PERDIR PHP <= 4.2.3では、PHP_INI_ALL
post_max_size "8M" PHP_INI_PERDIR PHP <= 4.2.3 では PHP_INI_SYSTEM。 PHP 4.0.3 以降で利用可能。
ttp://jp2.php.net/manual/ja/ini.php

php.iniの方を変えれば勿論大丈夫ですが、流石にアタック食らったりしたら…と言うことで、一部だけ変えたいのです。何故変更できないかご存知の方いませんか?;;
0434nobodyさん2007/02/27(火) 12:45:59ID:???
ネーミング規約はないなあ
せいぜい大文字を使う場合とか_を使う場合とか
そのへんのフレームワークと同じ程度

ちょっと長いクラスを書くと関数名が被って
面倒になってxxxxx1とかつけちゃって読みにくいったら
0435nobodyさん2007/02/27(火) 12:51:29ID:???
それに動作も書くと余計に長くなる。
例えば、「会員用のプロフィールにある名前」
とか言う場合だったら $member_profile_nameとか、$m_profile_nameとか
$memberProfileNmaeとかになるだろうけど、いかんせん長い。

だから434みたいに数字付けるけど、たしかにわかりにくい。
0436nobodyさん2007/02/27(火) 13:05:03ID:???
Cとかコンパイル言語は変数名長くても気にしないんだけどPHPはどうなの
長いと少し遅くなるのか(といっても誤差範囲だろうけど)

>>433
PHP_INI_PERDIR は .htaccessまで ini_setじゃ無理
0437nobodyさん2007/02/27(火) 13:06:33ID:???
>>433
両方ともPHP_INI_PERDIR
ini_setからは変えられない
0438nobodyさん2007/02/27(火) 13:27:51ID:???
>>435
だんだん長くなってきて、むかついてきて、
そのうち $member_profile_name_getを
$m_p_n_g1 とかやっちゃって余計に分からなくなる。
0439nobodyさん2007/02/27(火) 13:30:37ID:???
>>438
あるあるwww
0440nobodyさん2007/02/27(火) 13:31:47ID:2btkWh5g
>435>437
ありがとうございます
でも、 PHP <= 4.2.3では、PHP_INI_ALL
って、php4.2.3以上では、ALLで何処でも変更可能って、解釈してたんだけど、違いますか?
0441nobodyさん2007/02/27(火) 13:34:04ID:2btkWh5g
>440
取り消す… ごめん、不等号読めてなかった。。。w
素直にiniいじります
0442nobodyさん2007/02/27(火) 13:36:12ID:???
POSTのデータをPHPに渡す時、
外部サーバからデータを送信されるのを防ぐのに一番適切な方法は何ですか?

当初リファラでチェックしてたんですがi-modeでエラー出るみたいで。
0443nobodyさん2007/02/27(火) 13:59:30ID:???
>>442
携帯の時だけリファラチェック外せば?
0444nobodyさん2007/02/27(火) 14:08:33ID:???
やっぱりリファラでチェックするのが一番いいって事ですか?
0445nobodyさん2007/02/27(火) 14:10:16ID:???
もっと自分に自信を持てよ
0446nobodyさん2007/02/27(火) 14:12:35ID:???
自分がやってる事がほかの人と同じかどうか気になるってなんだろうね
日本人気質か
セッション使うとか、いろいろやり方はあるだろ
0447nobodyさん2007/02/27(火) 14:14:35ID:???
>>445-446
一番セキュリティにいい方法は何かなと意見仰いだだけなのに何でそこまで言われるのか…orz
0448nobodyさん2007/02/27(火) 14:16:48ID:???
受けたw
0449nobodyさん2007/02/27(火) 14:22:53ID:???
「××使うとか色々あるだろ?」とか言うのは
知識だけ知ってて実際のやり方は知らない
所謂知ったかぶりの典型
日本人気質か
0450nobodyさん2007/02/27(火) 14:25:41ID:???
携帯(docomo)でエラーがでているという時点で
セッションも潰れるのは確定。
もちろんプロキシ変数もだめ。
携帯も使えてなるべくセキュアにというのなら
携帯のみ別ルーチンしなければならない。
0451nobodyさん2007/02/27(火) 14:27:47ID:???
ドコモでセッション駄目だったっけ?
リファラーやクッキーは怪しいけどセッションは通ったような。
0452nobodyさん2007/02/27(火) 14:28:51ID:???
「意見を仰ぐ」という用法はおかしい
0453nobodyさん2007/02/27(火) 14:30:19ID:???
で、携帯以外での方だけど確実って言える方法はまずないです。
ある程度自分で決めて実際にやっていったら良いと思う。
リファラを抜けるくらい必死な奴だとちょっとした串チェックも
抜けてくるので焼き鳥等でブラックリスト化するってくらいかな
0454nobodyさん2007/02/27(火) 14:32:36ID:???
なるほど。どうもです。
0455nobodyさん2007/02/27(火) 14:33:26ID:???
また日本語に五月蝿いやつか
0456nobodyさん2007/02/27(火) 14:35:38ID:2KFAKokD
>>353-354
それはいつも思うんだが、タブ(の幅)っつうのはエディタの設定でしょ?
そのプロジェクトのルールで、タブ幅は4文字分って決めればいいだけの話じゃない?
空白ははっきりいって効率が悪い。
0457nobodyさん2007/02/27(火) 14:36:10ID:???
>>451
もしかしたらクッキーとまちがいたかも…
以前docomoでクッキーかセッションかで渡したら
んなもんないぞゴルァっていわれたのしか覚えてないんだ
適当言ってゴメン
0458nobodyさん2007/02/27(火) 14:46:26ID:???
>>456
同意! 前の会社は半角スペース2文字だった
確かに見た目はそれなりに良いとは思うが面倒くさくてたまらんかった・・・・
しかしながら、ソース内のテーブル定義を編集する時
カラム毎の複数行にわたる部分コピペとかでは楽だった。
0459nobodyさん2007/02/27(火) 14:46:44ID:???
ドコモはリファラとクッキーは駄目
クッキーが駄目なんでURLに付加するセッションなら可
0460nobodyさん2007/02/27(火) 14:51:11ID:???
>>459
ああ、URLに何もくっつけないでとばしてたからか…
0461nobodyさん2007/02/27(火) 15:03:41ID:???
>>442
優しい俺が教えてやろう。
お前がやろうとしてることは「CSRF対策」と本質的に同じだ。
したがってCSRFについてググれ。
0462虚弱PHP2007/02/27(火) 15:48:20ID:???
>>456
タブ幅とインデントを区別しないと
4インデント、8タブとか使ってるような
Emacsユーザーに「は?」とかムカつく反応されるぞw
0463nobodyさん2007/02/27(火) 16:12:33ID:???
>>456
別にそのプロジェクトだけだったらそれでいいんじゃない
ただアンカー先の話題はpearやzfの話だろ
公開ライブラリみたいに不特定多数が使う場合は
環境によって見え方が変わらない方がベターって事
あとスペースで効率が悪いのは
スペース設定のタブ使ってないからじゃないの
それこそエディタ設定の話
0464nobodyさん2007/02/27(火) 16:27:36ID:???
まぁ文句はコーディング規約に言えという事で
0465nobodyさん2007/02/27(火) 16:28:49ID:???
まぁエディタだけでソースを見る訳じゃないからね。
lessでちょっとだけ見たいときもあるし、csvwebとかから見ることもある。
diff -u で作ったパッチをわざわざエディタで確認することは滅多にないけど、
良く見る情報だからズレるとちょっとイヤかな。

そんなわけで分割スペース派
0466nobodyさん2007/02/27(火) 17:58:47ID:???
GNU-GPL-Q3(オープンソースなquake3エンジン)使えば一括インストーラーになってインストールもラクチンになるよな!
なんて夢を一瞬見ました。
0467nobodyさん2007/02/27(火) 18:35:29ID:???
>>434
そうやって意味の無い数字で名前つけるのはやめれ
引継ぎが発生すると後から面倒見るやつが地獄を見る
そうでなくても未来の自分は他人と同じ

>>435
クラスを使えばそんな名前付ける必要は出ないんじゃ
0468nobodyさん2007/02/27(火) 19:00:42ID:DCSYlRNJ
指摘されてこちらに来ました。

どなたかご存知でしたらご教授下さい。
$_POST に渡される文字列で "." が "_" に自動的に置換されてしまいます。
Apache もしくは PHP の設定かと思うのですが、良く分かりません。
原因をご存知でしたら教えて下さい。
よろしくお願いします。
0469nobodyさん2007/02/27(火) 19:56:31ID:???
>>468
http://jp.php.net/manual/ja/language.variables.external.php
0470nobodyさん2007/02/27(火) 21:13:50ID:WfwsS845
http://www.php.net/manual/ja/ref.simplexml.php
の例えば”例 2102. 値を設定する”で、
$xml->movie[0]->characters->character[0]->name = 'Miss Coder';
ってあるんですけど、
[0]って必要なんでしょうか?
0471nobodyさん2007/02/27(火) 21:33:32ID:???
必要ないです
0472nobodyさん2007/02/27(火) 21:45:20ID:???
サンプルのXMLの場合はmovieもcharacterも1つだからどっちでも値は取れる
ただ映画情報のXMLでmovieとcharacterのエレメントは
複数登録されるようなフォーマットのイメージだから
そういう取り方をしてるのかと
0473nobodyさん2007/02/27(火) 21:47:50ID:???
関数内の global って、
多次元配列変数を指定した場合、その配列内の3次元以上のものは
取得できないのでしょうか?

関数内で print_r してみると、
配列変数内の、3次元以上のものが表示されません。
0474nobodyさん2007/02/27(火) 22:02:59ID:???
*recursion*してるだけじゃない?
0475nobodyさん2007/02/28(水) 00:12:30ID:???
>>473
普通に関数外のものと同じものが得られるはずだが。
サンプルコード出せる?
0476nobodyさん2007/02/28(水) 01:22:24ID:???
>>474-475
ありがとうございます。呼び出し元自体が関数で、
そこに global で呼び出していないのが原因でした。
凡ミス恥ずかしい限りです。ただ、

function func1() {
  global $test; // これを書いていなかった

// 〜配列の生成処理等〜

  $test["items"] = $_tmp["items"]; // これのみ二次元配列の代入
  $test["prices"] = $_tmp["prices"]; // 一次元配列の代入
  $test["data"] = $_tmp["data"]; // 一次元配列の代入
print_r($test); // 正常に出力
Test_Class::viewArray(); // global $test; print_r($test); を処理
}

のような処理をしていたのですが、最後の処理で、$test["items"] の配列のみ
出力されないのが理解できませんでした。(多分どこか自分の書き方がおかしいのだと思いますが・・)
とりあえず、ありがとうございました。
0477nobodyさん2007/02/28(水) 03:23:13ID:NIuJbHw3
pngやjpeg画像などを、GD関数を使ってリサイズし、サムネイルを作る場合の質問です。

たとえば縦横サイズをある任意の値(元の半分とか)にリサイズした場合、
たしかにピクセルサイズは指定した通りになるのですが、ファイルサイズ(バイト数)が増えてしまいます。
普通、サイズが小さくなればファイルサイズも小さくなると思うのですが。。。
たとえば240*192で4374バイトのpng画像を120*96にリサイズしたら、8094バイトになってしまいます。
これはどうにかならないのでしょうか??

ちなみにソースは、レッツPHPの写メールBBSのthumb_create関数をほぼそのまま借りました。
0478nobodyさん2007/02/28(水) 04:14:19ID:???
>>477
pngで出力してるなら、
imagepngのqualityパラメータで調整。
PHP4ならzlibのデフォルトの圧縮レベルが使われる。

jpegで出力してるなら、
画像パターンによってはファイルサイズが大きくなる事もある。
imagejpegのqualityパラメータを下げてもいいけど、たぶん激しく汚くなる。
jpegの仕様だから仕方ない。
0479nobodyさん2007/02/28(水) 04:17:42ID:???
phpの画像生成ってやっぱり普通の処理に比べて負荷かかるの?
レンタル鯖使ってるからわからん
0480nobodyさん2007/02/28(水) 05:06:04ID:NIuJbHw3
>>478
> imagepngのqualityパラメータで調整
特に調整してないのでデフォルト値になっていると思います。PHP4です。
デフォルト設定(100%?)で、ファイルサイズが大きくなってしまうものなんでしょうか?

なお、PNGでもJPEGでもどちらでも、なぜか見た目のサイズは小さくなってるのにファイルサイズは増えてしまいました。
もちろん元の画像サイズがかなり大きい場合にはこの限りではないのですが、
「元の画像サイズが小さい&サムネイル化した画像と元画像との差が小さい」という条件では、
このような逆転現象(?)になってしまうようです。
0481nobodyさん2007/02/28(水) 05:45:30ID:mYjvryh6
Win9x、PHP4です。

キー入力があったかを調べる標準関数
みたいなのがありましたら教えてください。

コンソールプログラムならkbhit、
ウィンドウズプログラムならWM_KEYDOWNみたいなのです。
0482nobodyさん2007/02/28(水) 06:02:21ID:???
まずはクライアントサイドとサーバサイドの用語から覚えろ。
話はそれからだ。
0483nobodyさん2007/02/28(水) 06:04:57ID:???
>>481
なんか斬新な質問だな
javascriptでやれば?
04844812007/02/28(水) 06:20:21ID:mYjvryh6
>>482>>483
ありがとうございます。

phpの内容はhtmlに変わるので無理っぽいですね。
ボタンの送信みたいなのを使えば代用はできるかもしれませんが。
→のボタンをチェックした状態で送信したら
キャラクターが右に移動した状態で再読み込み、みたいな。

jsは構文チェックしてくれるエディタが見つからなかったので、
すっ飛ばしてphpを勉強していました。
0485nobodyさん2007/02/28(水) 06:32:05ID:???
PHPだけでできるわけがない。自分でエクステンション作ってやるなら別だが
0486nobodyさん2007/02/28(水) 08:34:19ID:???
>>477
元のPNGが8ビットで縮小版が24ビットになってる
とか
0487nobodyさん2007/02/28(水) 09:33:59ID:???
>>469
ありがとうございます。
見てみます。
0488nobody2007/02/28(水) 10:46:21ID:???
「ページの有効期限切れ」で困っています。
(環境)IE6、WinXP-sp2、Apache、PHP5

画面A(検索画面)でPOST実行し、画面Aに結果表示した後、
画面A内のリンクから画面Bに遷移し、画面Bから
画面Aにブラウザの戻るをしたら、ページの有効期限切れとなってしまいます。
ケスケやFireFox、Operaでは発生せず、IEだけです。
PUKIWIKIの対策ページを参考にしましたが、解決しません。
何か解決方法や参考サイトがあれば、宜しくお願いします。
セキュリティ上どうしようもないのでしょうか?
解決したような事を書いてるHPも複数あるので、なんとか
なると思っていますが。。。
04894882007/02/28(水) 10:51:23ID:???
書いててなんですが、板違いのような気がするので移動します
ごめんなさい。。^^;
0490nobodyさん2007/02/28(水) 10:54:32ID:???
新たにHPを開設しようと思っているのですが、phpとjavaで迷っています。
大手の銀行や上場企業のサイトを見るとjavaがほとんどですが、
phpって企業サイトには向かないのでしょうか?

私は数人の会社なので、どっちでもいいのかもしれませんが、
javaに比べてphpだとセキュリティーとかに不安があるとか、
処理速度が遅いとかっていうことがあるのでしょうか?
0491nobodyさん2007/02/28(水) 11:05:38ID:???
>>490
セキュリティーは関係ない。JAVAに比べてphpはメモリー関係で融通が効かないから。
大規模になればなるほど、その辺がまず問題なるが、アクセスが多くなるほど、phpはクラッシュして不安定になる。
小規模ならphpで十分だ。JAVAは運用がその分面倒だし。
0492nobodyさん2007/02/28(水) 11:12:32ID:???
数人の会社ならPHPで十分。いろんな面で敷居が低いから。
0493nobodyさん2007/02/28(水) 11:14:58ID:???
セキュリティは設定とプログラムの問題だからどうでもいいけど
処理速度は遅いと思うよジャヴァと比べたら
0494nobodyさん2007/02/28(水) 11:55:52ID:???
>>488
ここらへんとか
http://www.glamenv-septzen.net/pukiwiki/index.php?PHP%2F%A1%D6%A5%DA%A1%BC%A5%B8%A4%CE%CD%AD%B8%FA%B4%FC%B8%C2%C0%DA%A4%EC%A1%D7%C2%D0%BA%F6#content_1_1
http://memo.xight.org/2006-06-13-2
0495nobodyさん2007/02/28(水) 11:59:42ID:???
>>493
そらぁ何台もアプリケーションサーバがあるようなシステムではJavaだろうけど、
一台のホストにWebサーバもデータベースもぶちこむ安システムならPHPもそう負けないだろ。
0496nobodyさん2007/02/28(水) 12:01:10ID:???
何をやるかによる。会社HPだったらHTMLだけで十分なわけだし。
0497nobodyさん2007/02/28(水) 12:15:02ID:???
PHPで作って*.jspをPHPでパースでいいよもう
0498nobodyさん2007/02/28(水) 12:22:00ID:???
>>497
話をちゃんと聞けよw
今は、PHPとPHP研究所とどっちがいいか言ってんだろ。
0499nobodyさん2007/02/28(水) 12:41:26ID:NIuJbHw3
>>486
> 元のPNGが8ビットで縮小版が24ビットになってるとか

GD関数ではビット数を調べたり、変換させたりが出来るのでしょうか?
ざっとマニュアルを見たところ、ビット数に関する記述は見つかりませんでした。。。
0500nobodyさん2007/02/28(水) 12:42:45ID:???
ちょっと聞きたいんだけどSmartyのデリミタ何にしてる?
参考までに教えてほしい。
0501nobodyさん2007/02/28(水) 12:42:55ID:mYjvryh6
win9x、php5.2.0(先ほどのは違っていました)、apache2

ローカルサーバーでクッキーの実験をしているんですけど、
以下のようにしても何も表示されません。
原因を教えてください。
output_bufferingをonにして警告を出なくはさせました。

<?php
setcookie ("Test_Cookie", "syuturyoku", time() + 3600);
echo $_COOKIE['Test_Cookie'];
setcookie ("Test_Cookie", "", time() - 3600);
?>
0502nobodyさん2007/02/28(水) 14:12:33ID:???
>>501
何も表示されなくて当たり前。
setcookieはレスポンスヘッダに値を書く命令。
$_COOKIEはリクエストヘッダから読まれた値。
0503nobodyさん2007/02/28(水) 14:35:16ID:???
youtubeのRelatedVideoの仕組みがわからないんだけど、どういう風に表示してるのかな?

投稿されてからある程度だったビデオは他の動画からのリファラとかクリックでカウントすればできそうだけど、
投稿されたばかりのビデオとかはどうするんだろ・・・。

0504nobodyさん2007/02/28(水) 14:38:06ID:???
リファラでやってんのかよ・・・
0505nobodyさん2007/02/28(水) 15:08:01ID:Y6O44be+
質問です。
ブログの最新記事を表示させてるのですが
<?php get_archives('postbypost', '10','custom' ,'<li>' ,'</li>'); ?>
これで記事は取得できるんですが
取得した記事の後に時間を表示させたいのですがどう組み合わせたらいいのか
教えて下さい。
<?php the_time('Y.m.d H:i') ?>
時間取得は上記で取得してます。

試行錯誤したのですが組み合わせができなくて困ってます。
助けて下さい。
0506nobodyさん2007/02/28(水) 15:12:00ID:???
>>505
なんなんだお前は。
独自関数が入ったコードで、さも当たり前のように質問するな。
それで回答できる超エスパーは存在しないぞ。
0507nobodyさん2007/02/28(水) 15:12:12ID:???
>>505
get_archives なんて標準関数は無くない?
何の質問をしてるか分かりにくい。
0508nobodyさん2007/02/28(水) 15:17:12ID:dDErVMbV
知っている関数が問題だと思うのですが、とあるサーバーでフォームで簡体字を渡したいです

html(UTF8)入力⇒html(UTF8)一部文字化け、となります。
最初は日本語でも文字化けしていたのですが
調べたらEUCで受け渡しているようです。

とりあえず渡れされたものを、EUC⇒UTF8で日本語や繁体時など普通の字は元に戻るのですが
簡体字はEUCで渡す時点で?に文字化けしてるようで対処しようがありません。

受け渡しをUTF-8に統一したいのですが
どういった指定方法があるのでしょうか?
.htaccessに
php_value default_charset utf-8
php_value mbstring.internal_encoding UTF-8
など書いて見ましたが何も変わらず・・・
mb_language("uni");
mb_internal_encoding( UTF-8 );
とかも・・・
0509nobodyさん2007/02/28(水) 15:19:26ID:???
>>508
それは、単に化けているんじゃなくて、フォントがないだけ。
繁体字は、MingLIUだぞ。
05105052007/02/28(水) 15:25:24ID:Y6O44be+
すいません。wordpressのブログ改造でした。
独自仕様なのわかりませんでした。
すいません;;
0511nobodyさん2007/02/28(水) 15:38:23ID:???
>>510
それが分からないようなら、PHPの基礎から勉強できる書籍でも買って勉強してください。

その部分のソースを張れば誰か答えてくれるかもしれません。
またはwordpressを知ってる人が答えてくれるかもしれませんが・・。
0512nobodyさん2007/02/28(水) 15:45:35ID:miuFrXG1
table1からaddress1とaddress2の重複を取り除きたい
select address1 from table1 union select address2 from table1
このSQLをPHPでmysql_fetch_arrayするとエラーがでます。

エラー:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

しかしデータベースを直接操作するとエラーは出ずうまく取得できます。
なぜでしょうか?
0513nobodyさん2007/02/28(水) 15:47:29ID:???
>>512
多分SQLが失敗してる。
05145122007/02/28(水) 15:58:14ID:miuFrXG1
ええと
2つ以上のレコードから重複を取り除きたい

コード 住所1 住所2
1 東京都 中央区
2 東京都 新宿区
3 大阪府 中央区

住所1は東京都と大阪府
住所2は中央区と新宿区
を取り出したいのです。
1つのレコードなら
select distinct address1 from table1
で取得できますが2つ以上の場合どのようにすれば取得可能でしょうか?
0515nobodyさん2007/02/28(水) 16:00:20ID:???
>>514
質問以前に、個人情報をこういう匿名掲示板で出してはいけないことは分かるよね?
0516nobodyさん2007/02/28(水) 16:04:18ID:???
>>515
笑わせんな
麦茶吹いたじゃねr−か
0517nobodyさん2007/02/28(水) 16:04:22ID:???
>>510
<?php get_archives('postbypost', '10','custom' ,'<li>' , the_time('Y.m.d H:i').'</li>'); ?>
0518nobodyさん2007/02/28(水) 16:10:20ID:???
>>509
UTF-8で受け渡しのする他のサーバーでは文字化けしないので
使用しなければならないサーバーでEUC渡しになってしまうようです。

その段階で?になっているので、内部エンコーダーを
レンタルサーバーなりの範囲で変えればいいと思うんですが
何をいれても変化がなく・・・(うけつけない?)

05195052007/02/28(水) 16:11:53ID:Y6O44be+
>>511
phpサイトを見て勉強してきます。
丁寧にありがとうございます。

>>517
神様ありがとうございます。
本当に助かりました
感謝です!
05205092007/02/28(水) 16:12:51ID:???
>>518
そういうことか。
おれも中国語扱っているから分かるが、それなら、プログラムの先頭で
mb_internal_encoding("UTF-8");
を使え。それで、解決だ。
0521nobodyさん2007/02/28(水) 16:34:28ID:???
>>520
mb_internal_encoding("UTF-8");
        ・・・・
print_r(mb_detect_encoding ( $name ,$arr, TRUE ));


EUC-JP

なぜでしょうorz
0522nobodyさん2007/02/28(水) 16:42:38ID:???
>>521
$nameがEUC-JPだから
$name = mb_convert_encoding($name, "utf-8", "euc-jp");
rint_r(mb_detect_encoding ( $name ,$arr, TRUE ));
でどう
0523nobodyさん2007/02/28(水) 16:46:21ID:???
ソースがEUCだから
0524nobodyさん2007/02/28(水) 16:50:06ID:???
>>512
unionって列の名前が異なっててもいいの?

select address1 from table1
union
select address2 as address1 from table1

だったらどう?
05255142007/02/28(水) 16:50:24ID:miuFrXG1
自己解決するしかないみたいなので、がんばってみます。
ありがとうございました。
05265142007/02/28(水) 16:52:49ID:miuFrXG1
>>524
同じエラーがでますた。
0527nobodyさん2007/02/28(水) 16:59:12ID:???
>>522
今のところ後ろの方は
そういう感じで集計しているのですが
結局?は?のままなのです。
そして.htaccessで、変換関連は拒絶されました・・・
0528nobodyさん2007/02/28(水) 17:02:06ID:???
コンソールとかphpMyAdminからはSQL通るの?
それ通らなければSQLのエラー。ちなみにMySQL3ではunion使えないよ。
0529nobodyさん2007/02/28(水) 17:02:10ID:???
>>526
SELECT DISTINCT address1,address2 FROM table1
でいけない?

なんのDB使ってるか分からんからなんとも言えんけど;
0530nobodyさん2007/02/28(水) 17:04:11ID:???
あと、group byも検討してみたら。
なんかsqlだけなのでスレ違いな気もするけど。
0531nobodyさん2007/02/28(水) 17:09:21ID:AnB9SYoh
今月の月数(例えば二月の2)を
テキストボックスの初期値にできるんでしょうか?
0532nobodyさん2007/02/28(水) 17:09:53ID:???
>>531
出来る
05335142007/02/28(水) 17:12:03ID:miuFrXG1
>SELECT DISTINCT address1,address2 FROM table1
重複を取り除けません

>SELECT address1,address2 FROM table1 GROUP BY address1
address2を取得できません
0534nobodyさん2007/02/28(水) 19:54:21ID:???
>>512,514
まず
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
は直ったの?SQLの問題じゃないし
mysql_fetch_arrayの引数が適当なリソースじゃないってエラー
;
$result = mysql_query(....);
$row = mysql_fetch_array($result);
mysql_queryのリターンを指定してるかい?
0535nobodyさん2007/02/28(水) 19:54:23ID:???
てst
0536nobodyさん2007/02/28(水) 20:00:26ID:???
test
0537nobodyさん2007/02/28(水) 21:18:42ID:???
配列のキー操作について質問です。
現在、$array[0]=a $array[1]=b $array[2]=c
となっています。

これらのキーをそれぞれプラス1して、
$array[1]=a $array[2]=b $array[3]=c;
…としたいのですが、どうやったらいいでしょうか?
標準関数一発で出来そうな関数は無かったので質問しました。
0538nobodyさん2007/02/28(水) 21:29:47ID:/OxDoLcN
hoge.dat の中身
ほげほげ,ほげ\n
もげもげ,もげ\n

PHP
$fx = fopen("hoge.dat", "r");
while (!feof($fx)) {
 $str = fgets($fx);
 trim($str);
 $elem = explode(",", "$str");
 $print "$elem[0] $elem[1] ";
}
fclose($fx);

結果
ほげほげ ほげ
もげもげ もげ

期待する結果
ほげほげ ほげ もげもげ もげ

というわけでtrim関数が期待通り動いてないみたいなんですが
俺のせいですかorz
0539nobodyさん2007/02/28(水) 21:33:57ID:ZCmQSNG7
そんな糞みたいな処理を標準関数で用意しろというほうがどうかしてる
0540481, 5012007/02/28(水) 21:49:59ID:mYjvryh6
ありがとうございます。

>>502
できました。

>>485
$_COOKIEでロードし変化させてsetcookieでセーブ
みたいなのを考えていたんですけど、
呼び出す順番に制約があるので無理っぽいです。
エクステンションというのも調べてみます。
0541nobodyさん2007/02/28(水) 23:11:57ID:???
オブジェクト指向で作っていくときクラスの数が大量になると思うけど、
クラスフォルダ(classes等)の中でさらに機能ごとに分類して設置したりしてる?
05425372007/02/28(水) 23:24:41ID:???
自己解決しました
05435372007/02/28(水) 23:37:16ID:???
>>538
hoge.datの
ほげほげ,ほげ\n
は本当に\nだけ?
0544nobodyさん2007/03/01(木) 00:07:48ID:???
$str = trim($str);
とか
0545nobodyさん2007/03/01(木) 00:15:29ID:???
>>514
住所1 重複不可
住所2 重複おk

ってことかな?
既存のデータベースに対する操作ならEXISTSあたりでできそうだけど
新規にテーブル作ってつっこむならコードと住所1をプライマリキーに
0546nobodyさん2007/03/01(木) 00:35:17ID:d9i72hOu
php5です。
ユーザー関数functionの引数の型の
指定の仕方がありましたら教えてください。
0547nobodyさん2007/03/01(木) 00:38:55ID:a/RduvQD
掲示板の文字表示の制限をする処理で悩んでいます。
どんな場合でも10行以上の表示をさせない為には
どうすれば実現できますか?(最後の行には[続き]リンクを入れる)
mb_strpos関数で\nを検索して、改行数をカウントする方法で
やっていますが、これだと改行いれずに文字を多く書かれてしまうと
スルーされます。改行と文字数をいっぺんにカウントする
関数を作っていますが、複雑でよくわからなくなってきました。
何か良い方法や解説しているサイトなどあればご紹介お願いします。
0548nobodyさん2007/03/01(木) 00:40:03ID:???
>>546
受け取ってから関数内でif文とgettype使う
0549nobodyさん2007/03/01(木) 00:46:26ID:???
>>547
投稿した文字の改行を取り除いて、指定した文字数ごとに改行いれればいいんじゃない?

文字ごとに切り抜いていって配列に格納して、countで10以上なら10までは表示して以降は[続き]リンクを
続きリンクはview?id=1002&mode=allみたいな感じで普通の閲覧(10行までの表示)と全て表示を切り替える
0550nobodyさん2007/03/01(木) 00:49:16ID:???
>>514
鯖移転で返せなかったが
二回SQL発行でいいんじゃね
05515472007/03/01(木) 00:57:40ID:a/RduvQD
>>549
レスありがとうございます。
なるほど〜改行とった後で文字列のカウントですか〜
いや〜まったく思いつきませんでしたw
解決できそうです。ありがとうございました!
0552481, 5462007/03/01(木) 02:05:12ID:d9i72hOu
>>548
分かりました。ありがとうございました。

後、自分は>>481でもあります。
キー入力でのキャラの移動は無理でしたが、
フォームとクッキーを使ってならできました。
ただ、遅すぎて実用は難しそうです。

うpローダーがtxtでアップしても内容がhtmlになってしまうみたいなので、
ソースは表示→ソースで確認してください。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3719.txt
05535472007/03/01(木) 02:05:28ID:a/RduvQD
一旦解決しましたが、改行も入力したまま反映したいと思い
再度考え直しました。以下の方法で実現できそうです。
1列の文字数を30と仮定して、30文字までを抜き出し
mb_strpos関数で改行を探し、あった場合、その位置までを
変数に格納、次のmb_strpos開始位置を改行のあったところから
30文字分を抜き出し検索、改行がなかった場合、抜き出した文字全てを
変数に格納、これを10回繰り返し、まだ文字が残っていた場合、
[続き]リンクを入れて終了。
しかし問題もありそうです。ブラウザの文字の大きさはそれぞれ違うし、
人によっても大きさを変えています。その場合の対処が
できそうもありませんが、それはそれとして置いときますw
あと、mb_strpos関数の挙動が不審なのも気になりますが、
文字コード等の問題かな?ま〜置いときますw
一応、事後報告として。。。^^;
0554nobodyさん2007/03/01(木) 02:47:30ID:???
俺は単に文字数だけで切ってるな
改行も投稿内容のうちってことで
携帯ユーザーに多い改行しない投稿も携帯らしさってことでね
0555nobodyさん2007/03/01(木) 06:33:32ID:???
昨日このスレ見てたら、いきなり人が多いとかいって、
スレッドが消えちゃったんですが、掲示板に戻るで戻ったら、
このスレが再度見つかりました。これって何??
俺だけ?!
0556nobodyさん2007/03/01(木) 06:38:46ID:???
板移転
0557nobodyさん2007/03/01(木) 06:59:15ID:???
>>547
trim()は標準でスペースもタブも\rも削除するから多分大丈夫
>>538
Perlやってるやつが良く陥る罠
05585472007/03/01(木) 09:28:54ID:???
>>554
文字数だけってことは
あ
い
う
って感じに入れられると、場合によってはすごい行数を
使ってしまう場合がありますよね?
それが嫌だったので、なんとかしようと思ってました。
全く手付かずで、1日悩んでしまいました ><
0559nobodyさん2007/03/01(木) 09:39:17ID:???
>>558
そもそも
「どんな場合でも10行以上表示させない」
とかいう要求が無茶すぎるのでは。
05605472007/03/01(木) 09:47:05ID:???
>>559
投稿する人に負担になってしまうかもしれませんね〜^^;
でも投稿文字制限は1000文字なんですが、558のようにやると
すごい行数を表示してしまうので、やはりなんとかしたいですねw
行数を増やそうかな。。。
0561nobodyさん2007/03/01(木) 10:02:39ID:???
・1行あたりの最大文字数
・N行までの改行数制限
・全体の最大文字数
でそれぞれ制限かけたら?
0562nobodyさん2007/03/01(木) 10:34:22ID:???
1文字1文字改行するような荒らしまがいのやつの画面に
1000行表示されたところで自己責任だろ。そういうバカなユーザーは切り捨てろ
05635382007/03/01(木) 10:39:56ID:mfeLki9Q
>>544
これでうまくいきました。
ありがとうございました。

>>557
ご指摘の通りPerlやってるやつです。
本当にあり(ry
0564nobodyさん2007/03/01(木) 10:44:44ID:???
本文を改行コードでexplode。
配列10個のstrlenの合計が規定値より多ければ字数で。
少なければ改行コードで。
ってのはどう?
05655472007/03/01(木) 11:06:34ID:???
>>561
文字数の制限というより、改行の制限ですね。
文字は1000文字以内ならいくらでも問題ないですが、
改行がいっぱい入れられて、行数を稼がれることが問題です。
>>562
荒し対策は難しいですね〜^^;
レスポンスを考えると、今作ってる処理はforの中にfor文があって、
さらにifが多数。。。ほんとはやりたくないんですが。。
>>564
良さそうですね!改行コードでexplodeは素晴らしいかもw
もう少し煮詰めてみます。ありがとうございます!
0566nobodyさん2007/03/01(木) 11:18:41ID:???
亀ですが、>>386の場合って$strに特定の1文字が存在する場合なので
別に正規表現使わずにstrpos()でするのが最適ですよね?
0567nobodyさん2007/03/01(木) 11:35:01ID:???
>>566
特定の1文字が何回含まれているか、になると
strposの場合ループ処理になるから微妙かな。
関数で一発処理できる場合はその方が速いことも多々ある。
05685472007/03/01(木) 11:43:08ID:???
以下のように考えてみました。
1列の文字数を30と仮定して、
>>546 さんの言われた改行コートでexplodeして配列格納。
配列ごとに、30文字以内ならそのまま表示用変数に文字格納して、
改行カウントを+1し、30文字より大きければ、
その時の改行カウント×30を300から引いた数値Aと比較し、
大きければその数値Aまでを表示して[続き]リンク表示して終了。
数値Aより少なければ、表示用変数に配列の文字を格納して、
(配列の文字数÷30)+0.99=改行カウント(整数部)とする。
改行カウントが10超えて配列に文字が残っていれば、
[続き]リンク表示して終了。

なんとかいけそうな感じです^^
mb_strpos関数が不審だったので、explodeでの処理はテストも減るし
大助かりですw ありがとうございます!
05695472007/03/01(木) 11:43:50ID:???
>>546ではなくて>>564でした^^;
0570軟式PHP2007/03/01(木) 11:46:21ID:???
substr_countはいらない子ですか。
05715472007/03/01(木) 12:02:51ID:a/RduvQD
>>570
私に言っていただいてると仮定して。。w
substr_count関数を使うということは、300文字までに
改行が10個あればそこまでを表示して、なければそのまま表示する。
という処理に使えますね。。。。あれ?使えるのかなw
9個なら30文字、8個なら60文字まで、1個なら270文字まで、
今まではこの関数だと、強制10行処理はムリと思ってましたがw
。。。しばらく考えます。レスありがとうございます!
0572nobodyさん2007/03/01(木) 12:05:18ID:KfGKDn9N
mb_eregですが

事務系<br>
IT系<br>
サービス・接客系<br>
介護・福祉系<br>
工場・作業系<br>
その他<br>

という物が入っている変数から
"サービス・接客系"をマッチさせようとすると、なぜか検知しません。
中身を変えて "サビス・接客系"で
erge("サビス" というように ー を抜かすとマッチするんですが
いったいどういうことでしょう?

05735472007/03/01(木) 12:09:24ID:a/RduvQD
>>570
私に言ったのでなければ、すいませんw
substr_count関数だと最後の改行位置が分らないので
やはりムリと思います。いや〜昨日から悩みっぱなしですw
05745662007/03/01(木) 12:32:50ID:???
>>567
ありがとうございます。
ttp://selfkleptomaniac.org/archives/44
この辺り読んでstrpos()が最適だと思いました。

そして567さんは日本語の理解力が足らないなとも思いました まる
0575nobodyさん2007/03/01(木) 12:37:06ID:???
>>571
>>386の場合だろ。お前は関係ない。
05765472007/03/01(木) 13:09:15ID:a/RduvQD
>>575
やはり。。すいません^^;
0577虚弱PHP2007/03/01(木) 13:18:48ID:???
>>572
SJIS??
0578nobodyさん2007/03/01(木) 14:00:04ID:Ji+dT1nk
>>576
いや、この場合アンカーを付けない奴が悪い。君の対応は紳士的だと思うよ。
0579質問 ◆Hx0p2cgJeA 2007/03/01(木) 14:19:40ID:???
ある本に「インスタンス化は、一般的に負荷の大きな処理です」と書いて
あったのですが本当ですか?
0580nobodyさん2007/03/01(木) 14:22:11ID:???
>>579
メモリ確保とかメンバ変数初期化とかコンストラクタ検索して実行とか
やること多いからな。
05815472007/03/01(木) 14:25:27ID:a/RduvQD
>>578
どうもです^^
でも自分の勘違いが周りも勘違いさせる可能性があるので、
一種の荒らしかもしれませんw
0582質問 ◆Hx0p2cgJeA 2007/03/01(木) 14:28:54ID:???
>>580
では、一度インスタンス化したら、クラス内や関数内で
もう一度インスタンス化しないほうがよいのですね?
0583虚弱PHP2007/03/01(木) 14:44:43ID:???
>>582
どんな負荷要求があるのか…。

ひとまずインスタンスが使いまわせるなら、
Singletonパターンのようなもの使ったりすればいいと思う。
本来使いまわせないものを使いまわそうと工夫するぐらいなら、
パフォーマンスを犠牲にした方がマシだと思う。

PHPでのインスタンス化ってそんなに負荷かかるかな?
0584nobodyさん2007/03/01(木) 15:11:33ID:???
Arrayとそんなに変わらないと思うよ。なんか中身は似てるし。 array()がどんだけ遅いかはまぁ、自分の環境でテストするしかない。
0585nobodyさん2007/03/01(木) 16:42:43ID:???
>>574
>>390
0586nobodyさん2007/03/01(木) 17:36:06ID:???
上のほうでも似たような質問がありますが、
URLが正当なものかチェックするプログラムを書いているのですが、
URLに含めてはいけない文字列があったらfalseを返すか、
全てエンコードしてtrueを返すかどちらがいいのでしょうか?
0587nobodyさん2007/03/01(木) 17:40:08ID:???
>>586
目的による
0588nobodyさん2007/03/01(木) 17:44:06ID:WjIfG4Om
画像処理で、↓のようにしたいのですが、どうするのが適切でしょうか?
http://up2.viploader.net/pic/src/viploader425975.jpg
0589nobodyさん2007/03/01(木) 17:46:03ID:???
>>588
グロ警報

コラだと思って気にしない事にする・・
05905862007/03/01(木) 17:46:54ID:???
目的は2chのようにリンクをはったら、
リンク先を確認する画面を出したいのですが、
その際にURLが不正だったらエラーを出して何もしないか、
エンコードしたURLを出して、
確認してクリックしてくださいというような
メッセージを出すかといった感じです。
0591nobodyさん2007/03/01(木) 17:51:56ID:???
>>588-589
???と思いながら3回ほど上下左右に視線を動かしてみたが、
どこがどうなのか分からなかった
もう見ない方がいいのか
05925472007/03/01(木) 17:52:28ID:a/RduvQD
掲示板の10行のみの強制表示に成功しました〜^^
forではなくてdo〜whileだったりと多少誤差はあるものの、
>>547 で書いたとおりにほぼ作りました。
レスくれた皆さんありがとうございました!
05935472007/03/01(木) 17:54:18ID:a/RduvQD
>>547 じゃなった >>568 です。すいません^^;
0594nobodyさん2007/03/01(木) 18:08:05ID:???
インスタンス化による負荷など、相対的に大きいだけで、絶対的には気にするほどじゃない。

いったい一度にどれだけの同時アクセスがあるんだ、と。
そんなレベルで悩んでるということは、たいしてアクセスの無いサイトを運営してると思われる。
だったら、負荷がどうのこうのとか悩む前に、アクセスアップを悩むほうが先じゃないか、と。
0595nobodyさん2007/03/01(木) 18:36:55ID:???
>>588
バカみたい。

列車に跳ねられたらそんなもんじゃすまないぞ。
もっとぐちゃぐちゃになるからね。
0596nobodyさん2007/03/01(木) 19:08:13ID:7eZkn0sw
タグの中にPHPの処理結果を反映させることってできませんか?
$_GET内によってリンク先などを変えたりする場合に
<a href=hoge.php?$_GETの内容>hoge</a>のようにできると条件分岐が必要なくなるので便利なのですが。
0597nobodyさん2007/03/01(木) 19:09:42ID:???
>>595
知りたくも無い人もいるし、いらんレスしないで下さい
0598nobodyさん2007/03/01(木) 19:19:39ID:???
>>590
ここでアンケートとってるの?
好みの問題だろ
0599nobodyさん2007/03/01(木) 19:21:07ID:???
それほどグロくない。
0600nobodyさん2007/03/01(木) 19:23:02ID:???
>>596
<a href=hoge.php?<?= $_GET['argv'] ?>>
0601nobodyさん2007/03/01(木) 19:24:30ID:???
>>596
それくらい出来ないと使えない言語ってことになる。
0602nobodyさん2007/03/01(木) 19:25:08ID:???
>>599
想像力の問題
見えてるものしか評価しないなら想像力が乏しいかと
0603nobodyさん2007/03/01(木) 19:25:45ID:???
>>596
いいから入門本読んできてください
0604nobodyさん2007/03/01(木) 19:39:40ID:???
>>602
ニヤニヤしながらコラ作ってるピザデブしか想像できません
0605nobodyさん2007/03/01(木) 19:54:37ID:???
>>604
そのワンパターンな思考がとb(ry
06065742007/03/01(木) 20:03:48ID:???
>>585
俺は390ではないんだが。

>>602
想像力とか関係ないだろ、単に免疫の問題

以下質問どうぞ
0607nobodyさん2007/03/01(木) 20:09:32ID:???
皆さんには糞スレ化した罰として画像合成のルーチソを書いてもらいます
0608nobodyさん2007/03/01(木) 20:16:33ID:???
>>607
言いだしっぺが書く法則
0609nobodyさん2007/03/01(木) 20:47:37ID:lXqb5ag8
IP から 県名とか国名を求めるのには
どうやればいいのですか?
0610nobodyさん2007/03/01(木) 20:48:35ID:???
国はまだしも県名を取得できるのは一部のプロバイダだけだ
0611nobodyさん2007/03/01(木) 20:49:39ID:???
>>609
IPアドレスをwhoisで検索する。whoisを利用するには、PEARを使うのが一番早い。
0612nobodyさん2007/03/02(金) 00:13:48ID:???
[email protected]というメールアドレスにメールが来た場合、
内部的にセッション入りの登録ページURLを返信してくれる

といった機能を
XREAで
実装したいのですが可能でしょうか?
0613nobodyさん2007/03/02(金) 00:27:46ID:???
どこにphpと関係してるんだ?
0614nobodyさん2007/03/02(金) 00:41:54ID:???
>>612
できるんじゃない?
POP3でhoge.hogeのメールを受信してくればいいんでしょ。
0615nobodyさん2007/03/02(金) 00:57:43ID:???
>>614

かんちがいしてない?
0616nobodyさん2007/03/02(金) 01:11:13ID:???
>>615
そう?
メールの送信先が@xrea.comでなく任意のhoge.hoge相手なら
.forwardやaliasesも使えないだろうから、
1.POP3でxreaサーバからhoge.hogeサーバのメールを受信
2.メールのFrom:を見て規定のフォーマットのメールを送信
っていうPHPスクリプトをcronで起動するって感じになりそな気がするけど。
(hoge.hogeからxrea.comにメールを自動転送する手もあるけど)
0617nobodyさん2007/03/02(金) 01:45:09ID:BzmNP0/K
>>607
配列にある全ての画像を合成するプログラムなら組んだ
0618nobodyさん2007/03/02(金) 02:12:38ID:2TC1CsXh
当たり確率1/12を2000回試行してちょうど180回当たりを引く確率を出す式をご伝授頂けないでしょうか。
0619nobodyさん2007/03/02(金) 02:21:34ID:???
宿題は自分でやれ
0620nobodyさん2007/03/02(金) 02:30:59ID:???
C[2000, 180]・(1/12)^180 (11/12)^1820
0621nobodyさん2007/03/02(金) 02:34:08ID:2TC1CsXh
宿題?学生でも無いリーマンです。パチスロでの設定看破に使おうと思いまして
0622nobodyさん2007/03/02(金) 02:35:31ID:2TC1CsXh
>>620
これをそのまま
echo C[2000, 180]・(1/12)^180 (11/12)^1820;
で表示されますか?今テスト環境が無いのですぐ確認出来ませんので…
0623nobodyさん2007/03/02(金) 02:35:35ID:???
確率を求めたいの?式を求めたいの?
0624nobodyさん2007/03/02(金) 02:37:25ID:???
愛を求めたいの
0625nobodyさん2007/03/02(金) 02:43:38ID:???
>>622
数式も分からんやつが看破プログラム作ろうとか考えるなよ。
最初から大金積んで人に作ってもらえ。
0626nobodyさん2007/03/02(金) 02:51:15ID:???
>>622
>これをそのままecho

orz あまりのバカぶりに萎えた
0627nobodyさん2007/03/02(金) 02:54:57ID:???
マルチ乙
http://pc11.2ch.net/test/read.cgi/php/1145308869/585
0628nobodyさん2007/03/02(金) 02:55:48ID:2TC1CsXh
式がわかってても、PHPでその式を使うにはどうやって書いたらいいか分からないってことなんだけど…
その表現として>>622みたいなこと書いたんですが。
0629nobodyさん2007/03/02(金) 02:56:28ID:2TC1CsXh
マルチというかCGIじゃ無理そうだからPHPに流れてきたんだけど。
0630nobodyさん2007/03/02(金) 02:58:42ID:???
マルチがバレルと急に偉い口調なった件
0631nobodyさん2007/03/02(金) 02:59:59ID:???
>>629
つまりマルチってことね
perl でできないわけないと思うけど
0632nobodyさん2007/03/02(金) 03:20:39ID:???
>>628
君は基本的な勉強からやり直しなさい。
それじゃ結局「仕様作成とそのコーディングまで全部書いてください」と言ってるだけだ。
0633nobodyさん2007/03/02(金) 03:40:41ID:???
>>628
式は分かってんの?
分かってんなら最初から書けよ。
俺らに無駄な労力を強いる気か
0634nobodyさん2007/03/02(金) 03:52:35ID:2TC1CsXh
計算は出来ます、約1.77%で合ってると思うのですが。
ただ、PHPでこの計算をする方法が全く検討つかないので。
たとえば10の3乗を出す、程度の計算なら思い浮かびます。
$a = pow(((12*1/2)+(2*2)),3)
自分で書けるのはこのくらいの式でして…pow()も最近覚えたばかりです。
0635nobodyさん2007/03/02(金) 03:59:13ID:???
マルチに対するコメントはないのか?
0636nobodyさん2007/03/02(金) 04:03:00ID:2TC1CsXh
マルチって、Perlの仕様とかをここで聞いてる訳じゃないし何でそこまで責められなきゃなんないのさ…
まして向こうでは式の事なんか触れてもいないし。
0637nobodyさん2007/03/02(金) 04:13:51ID:???
はい乙、迷惑なのでもう書き込みやめてください
0638nobodyさん2007/03/02(金) 04:25:40ID:???
ID:2TC1CsXhは50万円払ってからモノを言え。
0639nobodyさん2007/03/02(金) 04:28:37ID:???
どうでもいいけどシミュレーションはJavaScriptにしろよ。
0640nobodyさん2007/03/02(金) 09:20:42ID:DDcuD0TE
PDO覚えるのマンドクセ('A`)
06416342007/03/02(金) 10:51:36ID:???
何でこんな人を見下した発言する人ばっかなんですかね?
そんなに偉いんですか?優越感に浸りすぎじゃない?
マルチどうこうってのは完全にただの言いがかりだし。いくら何でも暗すぎ。
なんかスレ全体見ても、いくら教える側とは言え態度でかすぎだろ。
タメ口で話すとか、そういうんじゃなくて、知らないってだけでバカだのアホだの、
中には死ねとかいう発言まであるし。何でPC得意な奴って攻撃的なんだ?このスレは異質
0642nobodyさん2007/03/02(金) 10:58:19ID:???
前にこのスレでも話題になってたデザインパターンの本買ってみたけど結構良かったよ.前半のほうは。
0643nobodyさん2007/03/02(金) 11:03:39ID:???
>>642
もう少し詳しく
俺も買ってみようか迷ってる。
0644nobodyさん2007/03/02(金) 11:26:53ID:???
>>641
そんなに不満があるなら自力で調べろよww
そんな「攻撃的で異質」なヤツらにわざわざ質問してないでさ、自分で考えなよw
0645nobodyさん2007/03/02(金) 11:28:16ID:???
>>641
別人だとは思うが一応答えとくか。>>618の質問の内容からして

テンプレから飛んでマニュアルさえ見れば済むような内容。
仮に誰かがその式を教えたとしてもその後に1から10まで質問してくるとしか
思えないようなスキルの無さがレスの端々に伺える。
丸投げ風な質問内容。

逆に最近でいうと>>547みたいな質問者にはみんなちゃんと答えている。
自分で先ず基本的なところを勉強してからくるか丸投げ板にいくといいよ
0646nobodyさん2007/03/02(金) 11:49:22ID:???
特定の部分の require_once がまれに
Warning: failed to open stream : No such file or directory
を吐き、確認してもファイルパスは合っており、
試しに require に変更すると一時的に収まるのですが、
その後少しまた開発していると、今度はその require が同じエラーを吐き、
require_once に戻すと収まる始末。暫くするとまたエラーで変更の繰り返し・・

これなんでしょうかね?
PHP 5.2.1 on FreeBSD 6.1(VMware)
0647nobodyさん2007/03/02(金) 12:13:07ID:???
マルチうんぬんについては完全に言いがかりだなw
ちょっと引いた
0648nobodyさん2007/03/02(金) 12:16:34ID:???
http://pc11.2ch.net/test/read.cgi/php/1164617202/233
よろしくです
0649nobodyさん2007/03/02(金) 12:50:50ID:???
>>648
コードUP
0650nobodyさん2007/03/02(金) 13:46:07ID:???
>>646
どうしてもじゃないなら2007/2/14リリースの
こなれてないバージョンなんて使わないほうがいい。
06516482007/03/02(金) 14:00:11ID:???
>>649
これで再現できるかと

$socket = fsockopen ($host, $port);
fwrite ($socket, $req_hdr . $req_body);
// socket_set_timeout ($socket, $sec);
do {
 $dat = fread ($socket, $rbufsize);
 $res_data .= $dat;
} while (strlen ($dat));
fclose ($socket);
0652nobodyさん2007/03/02(金) 14:20:16ID:???
$enc = mb_detect_encoding($body);
if($enc != 'SJIS') {
  $body = mb_convert_encoding($body, 'SJIS', $enc);
}

投稿された文字列が
mb_detect_encodingで'SJIS'以外だった場合、
mb_convert_encodingで文字コードを'SJIS'に変換してDB保存したいのですが
mb_detect_encodingがうまく作動せず、英文だとASCIIと日本語だとFALSEを返してきます。

ちゃんとSJISを返す(SJISの場合)ようにできないのでしょうか?
0653nobodyさん2007/03/02(金) 14:22:43ID:???
>>652
何でもかんでもsjisに変換すれば良いよ
あとdetectは使い物にならない。
0654nobodyさん2007/03/02(金) 14:29:03ID:???
>>653さん
返レスありがとうございます。
$body = mb_convert_encoding($body, 'SJIS', 'auto');
をかければOKということでしょうか?

>あとdetectは使い物にならない。
そうなんですか(^^;
多用してました…
0655nobodyさん2007/03/02(金) 14:41:25ID:???
>>650
およ? PHP5.2.1はバレンタイン・デー時点での
最新安定版なんじゃないの?

さっき桜鯖にインストールしたばっかりなのに (;_;)
0656nobodyさん2007/03/02(金) 14:46:56ID:???
>>655
つまり最新バージョンにバグが混入してても情報が少ないということ。>2007/2/14 5.2.1
0657nobodyさん2007/03/02(金) 14:58:17ID:???
>>656
なるほど。でも、とりあえず無事に動いているみたいなので
私はこのままにしておきます。
「『動いているならそのままにしろ』が鉄則」と誰かが言っていたので。

何か問題があったらPHP5.1.xくらいにしてみます。
0658nobodyさん2007/03/02(金) 15:00:14ID:???
ああ、ちなみに:
>>646 ≠ (>>655 = >>657) です。
0659虚弱PHP2007/03/02(金) 15:06:31ID:???
>>646
>>650
FedoraCore5+PHP 5.2.1で動かしてるけど、
問題は起きてないなぁ。

アクセラレーターとか入れてない??
06606462007/03/02(金) 15:33:32ID:???
みなさん、レスありがとうございます
>>659
特にいれてないですね
$php -v
PHP 5.2.1 with Suhosin-Patch 0.9.6.2 (cli) (built: *)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

先日、開発環境の PHP 4.4.* をアップしてから症状が出だしたので、
やっぱりこちらの環境の PHP 5.2.1 の問題なんですかねぇ
自分のスクリプトの書き方がまずいどうこうの問題ではなさそうですし

もう少し様子をみてみます、どもでした
0661nobodyさん2007/03/02(金) 15:40:14ID:???
PHPのソースから差分を抜き出して自分で比較でいいよもう
0662nobodyさん2007/03/02(金) 16:06:07ID:???
function test()
{
static $a = 0;
}

とういう具合に、static変数に初期値を設定するのはOKでしょうか?
0663nobodyさん2007/03/02(金) 16:31:19ID:SAy252Rv
宜しくです
XAMPPを使ってDBを作って遊んでるんですが
PHPプログラムを動かすと文字化けするのですが?
ttp://phpspot.net/php/ 等で試したのですが・・・
UTF-8 でも駄目で路頭に・・・
0664nobodyさん2007/03/02(金) 16:34:03ID:???
>>663
;my.cnf
skip-character-set-client-handshake
0665nobodyさん2007/03/02(金) 17:07:33ID:???
ID:2TC1CsXh鹿馬…
0666nobodyさん2007/03/02(金) 17:18:39ID:SAy252Rv
664有難うです。
0667虚弱PHP2007/03/02(金) 17:47:43ID:???
>>660
そっか。
Suhosinパッチが当たってるね。
FreeBSDって標準でパッチ当たってるんだっけ?
問題切り分けのために、
できるならパッチが当たっていないPHPでテストした方がいいと思う。
0668nobodyさん2007/03/02(金) 18:26:29ID:???
皆さんお久しぶりです。元気で頑張っていますか。
下山伸二です。
あれから、色々引越しなどもありましてphpの勉強が進んでいないのですが、
なんとか自分のHPらしいものができあがりました。感謝感謝です。
また、ここで勉強させて頂きますので、どうもお手柔らかにお願いします。
今日は、これから出かけますので、この辺で。
0669nobodyさん2007/03/02(金) 18:38:14ID:???
asdf0002asdf.jpg
こんな文字列データから数字のみ取り出すのはどうしたら良いですか。
eregだとマッチはするのだけれども、その文字のみ取るというのが出来ません。
アドバイスお願いします。
0670nobodyさん2007/03/02(金) 18:41:21ID:???
>>668 おぉぉ、ご無沙汰!
HP出来たんだ。まぁ、頑張れよ。よかったら見せてくれぃ。
0671nobodyさん2007/03/02(金) 18:45:26ID:Q6VSKbxP
$array[]の中に、配列$valueの値をAND区切りで入れたいんですが、

for ($i=0;$i<count($value);$i++){
$array[] .= $value[$i];
$array[] = implode(" AND ",$array[]);
}

エラーが出ます。どうすれば良いでしょうか。
0672nobodyさん2007/03/02(金) 18:49:09ID:???
>>671
どういう配列状態でほしいのかもわからない
0673nobodyさん2007/03/02(金) 18:52:36ID:???
foreach ($Array as $val) {
for ($i=0;$i<count($value);$i++){
$array[] .= $value[$i];
$array[] = implode(" AND ",$array[]);
}

}
0674nobodyさん2007/03/02(金) 18:56:23ID:???
>>672
0675nobodyさん2007/03/02(金) 18:57:25ID:???
>>671
$array = implode(' AND',$values);
06766712007/03/02(金) 18:59:21ID:???
要は小配列を大配列の一つにしたいという感じです

>>675
それやると
Warning: implode(): Bad arguments. in /public_html/test.php
が大量に…
0677nobodyさん2007/03/02(金) 19:03:36ID:???
小配列大配列からして意味不明
0678nobodyさん2007/03/02(金) 19:05:20ID:???
>>669
$filename = "asdf0002asdf.jpg";
$number = preg_replace("/.*?([0-9]+).*?\.jpg/", "$1", $filename);
0679nobodyさん2007/03/02(金) 19:10:09ID:w2JedoDo
サニタイズについて質問です。

フォームの内のタグを排除する為に
$_POST = array_map("strip_tags",$_POST);
としているのですが、これだとタグを排除するだけで、<とか"は排除出来ません。
普通はhtmlspecialcharsを使うのでしょうが、これを使うと配列内の値は
適応されずに、エラーになりました。

フォームからの値を一括でサニタイズする場合、どういう書き方をするのが
一番ソースが少なく、最適だと言えるのでしょうか?
06806692007/03/02(金) 19:10:26ID:6EETpm2C
>>678
ありがとう!!
0681nobodyさん2007/03/02(金) 19:12:51ID:???
>>679
これぞサニタイズ脳。
入力値をサニタイズするんじゃなくて、
入力内容はそのまま受け取って
出力値をサニタイズするんです。
0682nobodyさん2007/03/02(金) 19:13:18ID:???
>>679
サニタイズ言うな
0683nobodyさん2007/03/02(金) 19:20:47ID:???
PHP4.3系での質問です。宜しく御願いします。
$aの配列の中身がこうなっています。

( 1=A, 1=B, 2=A, 2=K, 2=D, 3=SS, 3=AX, 4=A…)

この時、
(1=A / 1=B) + (2=A / 2=K / 2=D) + (3=SS / 3=AX) + (4=A …
という様に数字ごとに一組になる様に置き換えたいのですが、
いい方法ありますか?

ややこしくてすみません。
06846792007/03/02(金) 19:21:54ID:???
>>681
$name=htmlspecialchars($_POST["name"]);

こういうことですよね?でも、これだと必ずhtmlspecialcharsを付けないと
行けなくて、ソースが増えすぎると思うのですが・・。
0685nobodyさん2007/03/02(金) 19:21:56ID:???
>>679
サニタイズ脳に答えるなんて親切だろ?

preg_replace("/\'|\"|\&|\<|\>/", "", $str);
0686nobodyさん2007/03/02(金) 19:28:28ID:???
>>679
高木さんのこのエントリーでも読んで少し勉強してきな。
http://takagi-hiromitsu.jp/diary/20051227.html
0687nobodyさん2007/03/02(金) 19:31:09ID:???
サニタイズ言うな言うな
0688虚弱PHP2007/03/02(金) 19:34:20ID:???
>>684
array_walk_recursive()
0689nobodyさん2007/03/02(金) 19:35:51ID:???
嫌サニタイザー多いな。
コーディングスタイルなんて人それぞれだろ?
06906792007/03/02(金) 19:36:16ID:???
>>685-688
みなさんありがとうございます。
いただいたソースとURLを参考に勉強します。
0691nobodyさん2007/03/02(金) 19:52:02ID:???
>>689
サニタイズ言うな黙れ
0692nobodyさん2007/03/02(金) 19:53:35ID:???
>>683
配列を回してそれぞれの要素に対して内容を判別して新たに配列を組みなおせば?
0693nobodyさん2007/03/02(金) 19:54:21ID:g1P/5yv2
PHPで主成分分析をしたいんですが、フリーで使えるライブラリを
ご存知の方いませんでしょうか?
行列計算に関しての情報が全然見つからなくて困っています。
下らない質問ですいません…。
0694nobodyさん2007/03/02(金) 19:55:17ID:???
>>693
検索した?
0695nobodyさん2007/03/02(金) 19:59:25ID:???
>>693
主成分分析ってどういう分析なの?
06966832007/03/02(金) 20:01:52ID:???
>>692
すみません、ちょっとよくわかりません。
私が考えていたのはif文を使って、
数字が同じなら / で区切り、数字が変わったら )+( で区切る様にする
という感じですが、その数字の判別をどうやってやるのかよく分からなくて、、、
0697nobodyさん2007/03/02(金) 20:05:58ID:???
>>694レスありがとうございます!

はい、PHPのマニュアルから探しはじめて、PEAR、PECL、
検索エンジンでも探したのですが見付かりませんでした…。
ごめんなさい。

>>695
クロス集計したデータを要約する統計的分析です。
いろんな項目を集約して、分類できそな値を見つけるのが目的です。
ttp://www5.ocn.ne.jp/~shinya91/csm/331csm_multi.html
0698nobodyさん2007/03/02(金) 20:06:21ID:???
>>696
1=A
とかっていうのは文字列なのかしら?
0699nobodyさん2007/03/02(金) 20:07:01ID:???
ヒント:配列とキー
07006832007/03/02(金) 20:09:53ID:???
>>698
そうです。
1-A,2-B,2-X,3-AB…
という感じで「半角数字=文字」の束がコンマ区切りで格納されています。
0701nobodyさん2007/03/02(金) 20:12:29ID:???
=でexplode
0702nobodyさん2007/03/02(金) 20:14:47ID:???
>>700
左辺も右辺も重複する場合があるって言うのが結構面倒そうですね
07036832007/03/02(金) 20:17:38ID:???
>>700
1=A,2=B…イコールの誤りですすみません
explodeすると
1,A,2,B,2,Cという感じにバラバラになってしまうので余計やりにくい様な
0704nobodyさん2007/03/02(金) 20:20:07ID:???
カンマなら配列要素の区切りだと思うだろ常識的に考えて
0705nobodyさん2007/03/02(金) 20:20:40ID:???
テンプレも読めない奴は氏ね、帰れ
07066832007/03/02(金) 20:32:41ID:???
すいません、死にます;;
0707nobodyさん2007/03/02(金) 20:33:07ID:???
$test = [];
for ($i = 0; $i < count($arr); $i += 2) {
$test.push({key: MODEL[$arr[$i]], val: $arr[$i+1]});
}
すべてカンマ区切りならこうすれば結構やりやすいんじゃないかと。
0708nobodyさん2007/03/02(金) 20:36:45ID:???
>>697
pearやpeclも調べてないんだったら厳しいね。(っていうか調べてたんなら最初から書いてね)
やり方分かってるなら自分でモジュール作ってみたら?
他の人も助かるかもしれないし。
0709nobodyさん2007/03/02(金) 20:44:33ID:???
>>708
ってか、投稿前に調べておくなんて常識だろw
調べないで投稿する方が異常なんだよ。つまりお前は異常。
07106832007/03/02(金) 20:44:33ID:???
先頭が必ず数字なので、正規表現使って先頭の数字を変数に入れて、
その数字が変われば次の処理にいく、という感じにしたいと思います。
0711nobodyさん2007/03/02(金) 20:46:59ID:???
>>709
死ねボケ
0712nobodyさん2007/03/02(金) 21:17:48ID:g1P/5yv2
>>708
書き忘れてすみませんでした。

ライブラリは無さそうですか…。残念ですが、自分で作ることにします。
PEARとPECLに登録されるようがんばります。
わざわざレスありがとうございました。
0713nobodyさん2007/03/02(金) 22:43:15ID:iNFjaYc/
MySQL 4.0を使用している環境でWebアプリを構築する場合、
PHP側が文字コードをMySQLの設定文字コードに合わせないといけないのでしょうか?

PHPのinernal encodingをEUC-JP、MySQLの設定文字コードをSJISにすると、
正常に検索が行えませんでした。
(LIKE %日本語% を発行すると、一部しか拾って来ませんでした。)
0714nobodyさん2007/03/02(金) 22:55:46ID:???
>>713
>>664
0715nobodyさん2007/03/02(金) 22:55:57ID:???
エンコーディング合わせろって話ではなくて?
0716nobodyさん2007/03/02(金) 23:00:08ID:???
>>713
検索前に検索文字列を変換しとけばいいじゃん
07177132007/03/02(金) 23:13:02ID:iNFjaYc/
3件も回答ありがとうございます。

>>714 さん
レンタルサーバで、MySQLの設定をいじることができません。

>>715 さん
PHPの内部エンコーディングをMySQLの設定文字コードに合わせたくないという事です。

>>716 さん
追加したデータは、EUC-JPで入っています。
INSERT時も内部エンコーディングEUC-JPのPGを使っているので、
データ自体、EUC-JPになっています。
ですので、検索時だけ対処しても駄目だと思います。
0718nobodyさん2007/03/02(金) 23:19:02ID:???
>>717
SJISのデータベースにEUCのデータを格納するんじゃねEEEEEEE
あなた馬鹿ですか。
0719nobodyさん2007/03/02(金) 23:19:07ID:???
>>717
接続時に SET CHARACTER SET ujis; とか
0720713=7172007/03/02(金) 23:31:13ID:iNFjaYc/
>>718 さん
馬鹿です。
本番環境のエンコーディングが今まで分からなくて・・・

>>719 さん
MySQL 4.0だから、その手は使えません。
それで、最初の質問で「MySQL 4.0を・・・」と書きました。
皆さんは、どうされていたのか、知りたいと思いまして。

やはり、SQL投げる度に(INSERTもSELECTも)、
文字コードの変換を書く必要がありそうですね。
データ量が10万件規模なので、面倒だと思いましたが、
仕方ないようですね。
0721nobodyさん2007/03/02(金) 23:37:28ID:???
>>720
これはもうPHP全然関係なくて、さすがにMYSQL内部でがエンコードが違うと
likeで部分一致を試みようと思ってもうまく処理できないんだよ。
諦めてデータベースの中身を1度入れ替えるべし。
0722713=7172007/03/02(金) 23:40:16ID:iNFjaYc/
>>719 さん
失礼しました。
SET NAMESではないですね。
ただ、それを実行すると、
#1115 - Unknown character set: 'ujis'
となります。
SHOW VARIABLES LIKE 'character%'
とすると、
latin1 big5 czech euc_kr gb2312 gbk latin1_de sjis tis620 ujis dec8 dos german1 hp8 koi8_ru latin2 swe7 usa7 cp1251 danish hebrew win1251 estonia hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5
となるのですが・・・
0723nobodyさん2007/03/02(金) 23:41:26ID:???
>>722
MySQL4.0以下ならPHPのmbstringで文字コード変換してからinsert。
これが基本。
0724713=720=7222007/03/02(金) 23:44:26ID:iNFjaYc/
親切な回答ありがとうございます。

>>721 さん
なるほど。エンコードが違うと、部分一致がうまく処理されないんですね。

>>723 さん
何か上手いやり方があるかと思いましたが、地道にするしかありませんね。

皆さんのおかげで、無事、解決しました。
mb_convert_encodingで文字コード変換します。
ありがとうございました。
0725nobodyさん2007/03/03(土) 03:03:11ID:fjJSaYh6
すんません
ZendFrameworkの板から流れてきたんですけど、どうやら問題はPDO関係っぽいので
こちらにおじゃまします。

postgresqlでPDO使ってる人いますか?

接続は

$db=new PDO('pgsql:dbname=testdb user=user');

であってますよね?これでつなげるし、クエリーも出せて結果も受け取れるんですけど
ZendFrameworkを使って接続すると、apache(httpdのuser)君にはそんな権限はありませんって
エラーが出て、どうやら、ユーザーを認識していない様子。

で、ソースをいじって、PDO接続するところを上記のように(ZF使う前からずっとこれでつなげてました)
変えたら、接続できて、その他のメソッドも動きました。

あちらでも指摘されたんですがPHPのマニュアルには
new PDO('mysql:host=localhost;dbname=test', $user, $pass);
と出てるんですよね。でも、このまま頭をpgsqlに変えると、apache君〜のエラーが出ます。
ちなみに、httpdの実行ユーザーをDBの接続ユーザーと同じ名前にすると接続できたりします。

ttp://www.php.net/manual/ja/ref.pdo-pgsql.connection.php
ここを見ると、postgresqlは違うような表記になってますけど、
これって、つなぐDBによって表記が変わるようなしろもんじゃないですよね?

長文失礼しました。
ご指摘ありましたらお願いします。
0726nobodyさん2007/03/03(土) 03:06:51ID:???
>>725
変わる代物です。例えば

MySQL : mysql:host=[HostName];dbname=[DatabaseName];charset=[MySQL Charset]
PostgreSQL : pgsql:host=[HostName] port=[PortNumber] dbname=[DatabaseName] user=[UserName] password=[Password]
SQLite3 : sqlite:[DatabaseFileName]
SQLite2 : sqlite2:[DatabaseFileName]
07277252007/03/03(土) 03:08:17ID:???
追記
PHP5.2.1
postgreSQL8.2.3
apache2.2.2
です。

エラーは
SQLSTATE[08006] [7] FATAL: role "apache" does not exist
です。(権限はないじゃなくて、いませんでした。勘違いですOTZ)
0728nobodyさん2007/03/03(土) 03:13:14ID:fjJSaYh6
>>726
即レスサンクス

やっぱりdbによって違うんですか。
ってことは、ZendFrameworkのバグでしょうか?

あっちでも書いたんですけど^^;
いくら試用段階とはいえこんなコアな部分にバグあって
誰も気づかないはずないですよね?

もうちょっといろいろ試してみます。
引き続き何かありましたらレスお願いします。
0729nobodyさん2007/03/03(土) 04:38:49ID:???
>>728
必要な情報がDB毎に異なる部分だからこの辺は
統一されている必要性があるとも考えてもいないんじゃない?
バグでなく「仕様」かと。
0730nobodyさん2007/03/03(土) 05:35:56ID:???
>>725
DSNの指定はDBごとに異なるものだけど、userとpassについては
第二引数、第三引数に指定することで各種DB共通に処理できる。

$db=new PDO("pgsql:dbname=testdb", "user");
で動かんか?
0731nobodyさん2007/03/03(土) 07:31:57ID:???
>>683
<?php
$array = array( "1=A", "1=B", "2=A", "2=K", "2=D", "3=SS", "3=AX", "4=A" );
$str = "";
$i = 0;
// sort($array);
foreach ($array as $val) {
$num = (int)$val;
if ($num == $i) $str .= " / " . $val;
elseif ($num > $i) {
if ($i == 0) $str .= "(" . $val;
else $str .= ") + (" . $val;
$i = $num;
}
else exit("Error");
}
$str .= ")";
echo $str;
?>
0732nobodyさん2007/03/03(土) 07:47:18ID:???
$array = array( "1=B", "2=A", "2=K", "2=D", "3=SS", "3=AX", "4=A", "1=A",); 
だったらだめじゃん
0733nobodyさん2007/03/03(土) 08:19:04ID:???
sortFunc($m,$n){
$m=(int)$m;
$n=(int)$n;
if ($m == $n){
return 0;
}else if ($m > $n){
return 1;
}else{
return -1;
}
}

sort($array,'sortFunc')
0734nobodyさん2007/03/03(土) 08:23:48ID:???
sortFunc($m,$n)→ function sortFunc($m,$n)
sort($array,'sortFunc') →usort($array,'sortFunc')
0735nobodyさん2007/03/03(土) 08:24:37ID:???
なーんかダサイコードだな
07367312007/03/03(土) 08:24:45ID:???
>>732
数字はあらかじめソートして配列が作ってあるのが前提です
並べ替えてよいのなら
sort($array, SORT_NUMERIC );
にしてください
0737nobodyさん2007/03/03(土) 08:29:42ID:???
出力が決められた文字列として出す事が前提だから
どうしてもださくなるわな
0738nobodyさん2007/03/03(土) 10:51:15ID:???
>>735みたいのは結局自分でかけない奴
0739nobodyさん2007/03/03(土) 10:53:33ID:???
なんか沸いたぞw
0740nobodyさん2007/03/03(土) 11:18:40ID:???
>>739
>なんか沸いたぞw
この場合の「わいた」は「沸いた」ではなく「湧いた」ではないでしょうか。
ご確認のうえ、訂正をお願いします。
0741nobodyさん2007/03/03(土) 11:26:05ID:???
functionを使った関数の書き方って
function hogeHoge($name,$type,$format);

出力側は、hogeHoge("名無し","テキスト","");

みたいな感じですよね?なんか他所で
function hogeHoge($name,$type[,$format]);
こういう書き方を見たのですが、こういう書き方って出来るんですか?
0742nobodyさん2007/03/03(土) 11:29:27ID:???
なんか湧いたぞw
0743nobodyさん2007/03/03(土) 11:30:13ID:???
>>741
どこで見たの?
0744nobodyさん2007/03/03(土) 11:33:08ID:???
>>741
Parse error: syntax error, unexpected '[', expecting ')' in C:\home\php\test.php on line 3
人に試させるなよ
0745nobodyさん2007/03/03(土) 11:33:15ID:???
マニュアルだろ
0746nobodyさん2007/03/03(土) 11:35:10ID:???
>>741
PHPマニュアルか
[, 変数 ]は省略可能を表している記号だ
07477412007/03/03(土) 11:43:10ID:???
>>746
マニュアルです。省略可能という事は、
hogeHoge("名無し","テキスト");

こう書けるって事ですか?ただこれをすると
Missing argument 4 for hogeHoge(), というようなエラーが出ました
0748nobodyさん2007/03/03(土) 11:51:03ID:???
ソースを晒したほうが早いです。
0749nobodyさん2007/03/03(土) 11:51:13ID:???
>>747
関数定義するとき省略可能なようにする
function hogeHoge ( $name, $type, $format = "")
{
echo $name;
echo $type;
if ($format) echo $format;
}
07507412007/03/03(土) 11:57:25ID:???
>>749
意味分かりました。ありがとうございました。
0751nobodyさん2007/03/03(土) 12:35:53ID:Z8h+tc0/
クラス外にある設定ファイル上の変数を、クラス内から使いたい場合ってどうすればいいんでしょうか。。
下記のような方法では、無理でしょうし。

* hoge.php

require_once 'settei.php';

Class Hoge
{
function sample(person){
echo $name[person]."さんです。";
}
}

* settei.php

$name = array(1=>"taro",2=>"jiro",3=>"saburo");
0752nobodyさん2007/03/03(土) 12:46:09ID:???
定数かglobalじゃ駄目なん?
とクラスが使えない俺が言ってみる。
0753nobodyさん2007/03/03(土) 13:16:08ID:???
PHP5なら
static $name = array(1=>"taro",2=>"jiro",3=>"saburo");
にして
settei::name[$person]
でアクセス

PHP4なら
define( "name", array(1=>"taro",2=>"jiro",3=>"saburo") );
にして
name[$person]
でアクセス

検証はしてないのでたぶん

0754nobodyさん2007/03/03(土) 13:31:19ID:???
サニタイズの高木の話、べつに悪いとは思ってないけど、
htmlspecialcharsでも悪くはない。

高木の言うことを鵜呑みにするのは初心者ですか?
0755nobodyさん2007/03/03(土) 13:33:41ID:2CUy4PID
PHP4.4.6リリースあげ
0756725:7282007/03/03(土) 13:40:25ID:fjJSaYh6
>>729
>>730
レスありがとうございます

すいません。わかりました。
passwordを省略すると、そのエラーが出るようです。

しかもZendFramework版のほうで指摘されてたのに見逃してたみたいです。
まじでごめんなさいOTZ

いいわけ:でも、エラーの出方が紛らわしいと思いません?^^;

ありがとうございました。
0757nobodyさん2007/03/03(土) 13:57:33ID:2CUy4PID
PHPマニュアルのページから目次以下の関数名と説明書き↓を取得したいのですが、
余計なものまで取得したり、配列がぐちゃぐちゃになって困ってます。
どこを手直ししたらよろしいのかご教授お願いいたします。

【取得したい内容】
apache_child_terminate ? このリクエストの後にApacheプロセスを終了する
・
・
virtual ? Apache サブリクエストを実行する
【ここまで】
(計14行文)



<?php
$url = "http://www.php.net/manual/ja/ref.apache.php";;
$subject = file_get_contents($url);
$subject = mb_convert_encoding($subject,"EUC-JP","auto");

$patten = "[(<dt>)+(.*)(</a></span>)+]";
preg_match_all($patten, $subject, $set);

echo"<pre>";
print_r($set);
echo"</pre>";

?>
0758nobodyさん2007/03/03(土) 16:18:07ID:cG1UPfnL
PHP4です。
300行ほど並んだCSVファイルから、ランダムで1行だけを取り出し、
その列のデータを配列$arrayに入れる方法を教えて下さい。
0759nobodyさん2007/03/03(土) 16:24:01ID:???
>>758
どこまで書いたの?
0760nobodyさん2007/03/03(土) 16:24:39ID:???
これは釣よ
0761nobodyさん2007/03/03(土) 16:25:32ID:???
$file=file("CSVファイル");

srand((float) microtime() * 10000000);
$array = array_rand($file);
0762nobodyさん2007/03/03(土) 16:26:28ID:cG1UPfnL
>>759
$file = "data.csv";
$file = @fopen($file);
$array = array($file);
$close;

でストップしてます
0763nobodyさん2007/03/03(土) 16:27:36ID:???
>>762
マニュアルでfopen関数のとこ見るといいよ
0764nobodyさん2007/03/03(土) 16:31:58ID:???
>>757
$patten = '[<dt>(.+?)</dt>]'; 
0765nobodyさん2007/03/03(土) 16:32:35ID:???
すいません、>>761の通り
$file = "data.csv";
srand((float) microtime() * 10000000);
$array = array_rand($file);
とした時、$arrayには行数が入りますよね?
0766nobodyさん2007/03/03(土) 16:33:07ID:???
>>765
マニュアルでarray_rand関数のとこ見るといいよ 
0767nobodyさん2007/03/03(土) 16:36:11ID:???
>>757
HTML化される前のSGMLを使った方がいいんじゃまいか?

<refentry id="function.apache-child-terminate">
 <refnamediv>
  <refname>apache_child_terminate</refname>
   <refpurpose>このリクエストの後にApacheプロセスを終了する</refpurpose>
てな感じにXMLの形式で書かれている。

元ネタはCVSで取得するしか無いが、まぁ難しいもんでもない。
今のように毎回本家に負荷を掛けるより、一回チェックアウトしてローカルファイルとしてやったほうがいいべ。
cvs -d :pserver:[email protected]:/repository checkout -d phpdoc-ja/reference
0768nobodyさん2007/03/03(土) 16:38:47ID:???
>>763>>766
理解しました。
$file[$array]で出力するとうまく一行だけ取り出せました。

ありがとうございました。
0769nobodyさん2007/03/03(土) 16:51:04ID:2CUy4PID
>>764さんのご指摘の箇所を修正しました。
しかし全部14行取得できません。悩みます。

>>767さんのおっしゃること通りですが、私には勉強不足な点がございますので調べてみます。
0770nobodyさん2007/03/03(土) 16:53:18ID:2CUy4PID
結果はります。
Array([0] => Array
(
[0] => apache_child_terminate ? このリクエストの後にApacheプロセスを終了する
[1] => apache_get_modules ? ロードされた Apache モジュールのリストを取得する
[2] => apache_get_version ? Apache のバージョンを取得する
[3] => apache_getenv ? Apache の subprocess_env 変数を取得する
[4] => apache_note ? Apacheリクエスト記号(note)を取得/設定する
[5] => apache_request_headers ? HTTPリクエストヘッダを全て取得する
[6] => apache_reset_timeout ? Apache の書き込みタイマーをリセットする
[7] => apache_setenv ? Apacheサブプロセスの環境変数を設定する
[8] => ascii2ebcdic ? ASCIIからEBCDICに文字列を変換する
[9] => ebcdic2ascii ? EBCDICからASCIIに文字列を変換する
[10] => getallheaders ? 全てのHTTPリクエストヘッダを取得する
[11] => virtual ? Apache サブリクエストを実行する
)
[1] => Array
(
[0] => apache_child_terminate ? このリクエストの後にApacheプロセスを終了する
[1] => apache_get_modules ? ロードされた Apache モジュールのリストを取得する
[2] => apache_get_version ? Apache のバージョンを取得する
[3] => apache_getenv ? Apache の subprocess_env 変数を取得する
[4] => apache_note ? Apacheリクエスト記号(note)を取得/設定する
[5] => apache_request_headers ? HTTPリクエストヘッダを全て取得する
[6] => apache_reset_timeout ? Apache の書き込みタイマーをリセットする
[7] => apache_setenv ? Apacheサブプロセスの環境変数を設定する
[8] => ascii2ebcdic ? ASCIIからEBCDICに文字列を変換する
[9] => ebcdic2ascii ? EBCDICからASCIIに文字列を変換する
[10] => getallheaders ? 全てのHTTPリクエストヘッダを取得する
[11] => virtual ? Apache サブリクエストを実行する
)
)
0771nobodyさん2007/03/03(土) 17:03:44ID:???
$patten = '[<dt>(.+?)</dt>]s'; とか
0772nobodyさん2007/03/03(土) 17:25:28ID:???
>>771さんのやりかたで14行取得できましたが、配列の最初に関係ないものを取得してしまいました。
アドバイスいただきありがとうございます。
0773nobodyさん2007/03/03(土) 19:19:38ID:Z8h+tc0/
file_get_contentsで失敗した時には〜みたいな処理をphp4でしたいのですが、マニュアルには
のってませんでした。可能でしたら、お教え下さい。。

file_get_contents("http://www.yahoo.comcomcom";) <= 404エラー
rescue
exit

みたいな。rubyでいう。
0774nobodyさん2007/03/03(土) 19:22:21ID:???
マニュアルくらい読めよ・・・

失敗した場合、file_get_contents() は FALSE を返します。
0775nobodyさん2007/03/03(土) 19:24:16ID:???
if(file_get_contents("http://www.yahoo.comcomcom";){
print "大成功!";
}
07767732007/03/03(土) 19:34:42ID:Z8h+tc0/
さんくす!
07777732007/03/03(土) 20:11:37ID:Z8h+tc0/
Warning: file_get_contents(
"http://www.yahoo.comcomcom";): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found

ためしてみたんですが、WARGINGは出ますねぇ。。
0778nobodyさん2007/03/03(土) 20:26:54ID:???
>>777
あー、カッコ足りなかった
0779nobodyさん2007/03/03(土) 20:27:56ID:???
あー、違うかもな
とにかく自分でソース確認しましょうね。
0780nobodyさん2007/03/04(日) 00:54:24ID:/sugyBqZ
>>664 すいません今度はそれでも駄目でした・・・
my.cnfの[mysqld] に
skip-character-set-client-handshake
を貼り付ければいいわけですよね?
うん〜 
0781nobodyさん2007/03/04(日) 02:01:20ID:74jdPdk8
ifや何もないブロックでも、関数と同じく、
ブロックが閉じる時に変数は破棄されますか?

if(***) {
$hoge;
}

{
$foo;
}

function Bar() {
$bar;
}
0782nobodyさん2007/03/04(日) 02:04:10ID:???
俺、夢見てるのかな
0783nobodyさん2007/03/04(日) 02:55:29ID:j6Pq8T7o
PHP5にて、クラス自体へのアクセスを制限する方法はありますか?
例えば、クラスAは、クラスBからはnewできるが、クラスCからはnewできない、などです。
packageやfriendクラスの概念が無いので正攻法では無理だと思うのですが、
何か擬似的な方法がありましたらご教授下さい。
0784nobodyさん2007/03/04(日) 03:05:39ID:???
自作関数の中で、switchにてcase分けし、あるcaseの場合にはそこで
関数から抜け出したい(関数内に書かれているその後の処理をしたくない)のですが、
どうやって任意のポイントで関数から抜け出したらいいでしょうか?

breakとかじゃないし・・・
exitだとプログラム全体が終わっちゃうし・・・
0785nobodyさん2007/03/04(日) 03:06:41ID:???
return
0786nobodyさん2007/03/04(日) 03:07:10ID:???
return
0787nobodyさん2007/03/04(日) 03:07:53ID:???
>>785は俺
0788nobodyさん2007/03/04(日) 03:15:48ID:???
>>785、>>786
えっ、returnって値を返すだけじゃなくて、関数から抜けられるの!?
知らなかった・・・

今までいちいち
return $hoge;
exit;
とかって書いてた・・・orz
0789nobodyさん2007/03/04(日) 03:32:00ID:???
exitしたらそこでスクリプト終了だよ。
その直前でreturnしてるから、exitまで行ってないけど。
0790nobodyさん2007/03/04(日) 04:11:57ID:???
>>781
関数以外のブロックはスコープを隔てません。

>>783
定義したクラスは全てグローバルな同一の名前空間に押し込まれるので、できません。
いや、無理すればできるかもしれないけど、むしろ設計や命名規則などをうまく構築すべき。

無理な方法�@コンストラクタの引数に特定のクラスのオブジェクトを渡し、不正なオブジェクトだったら例外投げたりエラー吐いたり。
無理な方法�AクラスAを無理やりクラスBの親クラスにすれば、AのprotectedなメソッドにはCからアクセスできないので、そこでしかnewできないようにする。
無理な方法�Bコンストラクタ内で、debug_backtraceで直前にどこのメソッドにいたのか調べる。
0791nobodyさん2007/03/04(日) 04:50:35ID:???
$this->hoge -> hogeArr($str);

こんな感じのことしたいのですがどのようにすればいいでしょうか?
0792nobodyさん2007/03/04(日) 05:34:39ID:???
$this->hoge = new HogeClass;
0793nobodyさん2007/03/04(日) 05:35:43ID:???
>>788
>>えっ、returnって値を返すだけじゃなくて、関数から抜けられるの!?
同じ事を言っている事に気付かないのは、俺も共感は出来る。
0794nobodyさん2007/03/04(日) 05:40:06ID:???
まぁそういう発想もあるのかと勉強になった
0795nobodyさん2007/03/04(日) 05:41:50ID:???
>>780
SQL再起動したのか?
後質問するならバージョンとかもちゃんと書けよ。
「PHPプログラムを動かすと文字化けする」ってのも実は良くわからんし。
0796nobodyさん2007/03/04(日) 06:02:43ID:???
>>788
まあ、問題は return と exit の挙動を理解しないで書いてることだな。
07977812007/03/04(日) 06:44:40ID:74jdPdk8
>>790
ありがとうございます。
0798nobodyさん2007/03/04(日) 06:44:57ID:qW7P3ujl
ファイルのパーミッション変更について質問です。
今、パーミッションが「0600」のtest.gifというファイルがあるとします。
このとき、rootでSSHログインし、以下のような内容のPHPスクリプトを実行します。
$file = '/home/httpd/(省略)/test.gif';
chmod($file, '0644');
すると、なぜかtest.gifのパーミッションが、「0644」ではなく「1204」になってしまいます。

どうしてこうなるのでしょうか・・・??
スティキービットを立てろなんて命令してないのに。。。
0799nobodyさん2007/03/04(日) 06:56:26ID:???
サーバ名も挙げずによく質問できるな。
その図太い神経だけは認めてやるw
0800nobodyさん2007/03/04(日) 07:00:50ID:qW7P3ujl
>>799
サーバ名と言いますと・・・??
もしかしてOSのことでしょうか?

OSはLinuxです。
PHPは4.3.1です。
08017912007/03/04(日) 07:03:53ID:???
お願いします…
08027982007/03/04(日) 07:04:46ID:qW7P3ujl
追記です。
直接シェルから
chmod 644 test.gif
と入力してやれば、期待通りの結果(0644)になります。

それなのに、なぜかPHPのchmod()だと「1204」になってしまいます。
0803nobodyさん2007/03/04(日) 07:15:38ID:???
>>798
0644ってのは8進数値なんだからシングルクォートで括っちゃダメだよ。
0804nobodyさん2007/03/04(日) 07:16:46ID:???
>>801
>>792
08057982007/03/04(日) 07:50:53ID:qW7P3ujl
自己解決しました・・・と思ったら、
>>803さん、ありがとうございます。

そうですね、そこに気づかずにハマってしまいました。。。
0806nobodyさん2007/03/04(日) 07:59:54ID:???
>>801
792はシカトですかそうですか
0807nobodyさん2007/03/04(日) 08:54:39ID:???
>>806
シカトというかもれも分からない・・・
0808nobodyさん2007/03/04(日) 09:12:08ID:???
$this = new this();
$hoge = new hoge();
$this->hoge = $hoge

$this->hoge->hogeArr();
0809nobodyさん2007/03/04(日) 10:16:05ID:???
$thisに代入は無理だろ常識的に考えて・・・
0810nobodyさん2007/03/04(日) 10:32:46ID:???
クラス内じゃなきゃいけんじゃね
0811nobodyさん2007/03/04(日) 10:33:53ID:???
やってみればいいんじゃね
0812nobodyさん2007/03/04(日) 11:20:24ID:???
>>648
0813nobodyさん2007/03/04(日) 11:22:22ID:???
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)
SOHOやフリーでWeb制作してる奴 二十人目 [Web制作]
【漢検】 漢字検定2級スレ part2 【2級】 [資格全般]
【アフィゴマ疑惑】Smart-C Part2【濃厚?】 [Web収入]
【支払遅延】Ads by Goooooogle Part77【奢れる者】 [Web収入]
▲漢字検定って意味ある資格?▲ [教育・先生]
0814nobodyさん2007/03/04(日) 11:29:01ID:???
>>791
で、何をしたいの?
0815nobodyさん2007/03/04(日) 11:41:06ID:???
漢字検定3級なら余裕
0816nobodyさん2007/03/04(日) 12:31:40ID:VcUPN6gu
教えてください。
配列の添え字に日本語って使ってもいいのでしょうか?

いや、実際やってみたら使えるんで便利だと思ってるんですけど
英数字の添え字以外はなじみがなくて。
0817nobodyさん2007/03/04(日) 12:43:12ID:???
PHPのマルチバイト関数とか見てると、マルチバイトの添え字のテストなんてまともにやって無さそうだし怖い。
SJISでなんて怖くて出来ないし

とか色々考えると俺には出来ないな
0818nobodyさん2007/03/04(日) 12:46:50ID:???
別にいいんでない?文字コードにさえ気をつければ
08198162007/03/04(日) 13:25:09ID:???
ありがとうございます。
まあ怖いのはそうなんですがwどうせ商用じゃないし利便性が勝るので気をつけて使います。
0820nobodyさん2007/03/04(日) 13:35:23ID:J36PC9WX
変数の受け渡しについてなのですが、
あるファイルで
 function hoge(){
   $hoge = $_POST['hoge'];
 }
としておいて、別ファイルから
hoge();
で呼び出しをしてそれ以降の処理で$hogeを使うのはムリでしょうか?
一度試してみたのですがうまくいってなくて。
できないものなのでしょうか?
0821nobodyさん2007/03/04(日) 13:38:27ID:???
 function hoge(){
   $hoge = $_POST['hoge'];
   return $hoge;
 }
  ↓
としておいて、別ファイルから
  ↓
 $hoge = hoge();
  ↓
それ以降の処理
0822nobodyさん2007/03/04(日) 13:39:08ID:???
普通にできると思います
0823nobodyさん2007/03/04(日) 13:40:13ID:???
function hoge(){
    global $hoge;
    $hoge = $_POST[?hoge?];
}
hoge();
echo $hoge;
08248202007/03/04(日) 14:03:12ID:???
>>821-823
ありがとうございます
こんなに早く教えていただけるなんてびっくりしました;

変数の数が少ないときはreturnを使って、
変数の数が多い場合はglobalを使うのが良さそうですね!
どうもありがとうございました!がんばります!
0825nobodyさん2007/03/04(日) 14:21:51ID:???
>>816
配列の添え字とか、DBのフィールドに日本語とか
プログラマとして上を目指すなら今のうちに止めたほうがいいな。

趣味程度なら他人に迷惑かけなければ利便性重視でおk
0826nobodyさん2007/03/04(日) 16:14:39ID:???
この関数名に日本語使ってるコード渡されて
どこからもってきたのか聞いたら某大手自動車メーカー経由だった
あほか
0827nobodyさん2007/03/04(日) 16:26:49ID:???
function getShouhin(){
  return $this->shouhin;
}
ぐらいならいいけど
function getShouhin(){
  return $this->商品;
}
とか
function 商品取得(){
  return $this->商品;
}
は死刑だな
0828nobodyさん2007/03/04(日) 16:44:52ID:???
しっかりとしたポリシーがあれば日本語でもいいんじゃないの?
そういうことができる仕様になってるわけだから。

でも、俺はめんどうでやっかいなだけだと思うから、
そういう変なポリシーは持たない!
0829nobodyさん2007/03/04(日) 17:14:35ID:???
まあポリシーの問題とかじゃなくてさ、ム業界全体で考えると
コードにマルチバイト使用できる「機能」がないほうが速度とか角度とか色々いいだろ
0830nobodyさん2007/03/04(日) 17:21:07ID:BeWvury2
削除機能付のゲストブックを作っています

投稿された内容を、一行づつ書き込む(一つの投稿ごとに改行して同じテキストに書き込む)
見るときは、そのテキストから、file()で格納した配列をforeachでループさせる
これで書き込まれた内容と、それに対応する行番号が取得できましたが、
任意の行を削除するにはどうしたらいいのでしょうか?
0831nobodyさん2007/03/04(日) 17:21:39ID:???
>>827
2バイト日本語は当然ダメだけど、
1バイトでローマ字日本語は完全に許して欲しいなぁ・・・
0832nobodyさん2007/03/04(日) 17:22:04ID:???
クラスについての質問です。
複数のクラス間で同じもの共有したのですが、

class Super
{
  function Super()
  {
    $this->time = time();
  }
}
class Sub1 extends Super
{
}
class Sub2 extends Super
{
}

a = new Sub1;
print a->time;
sleep(1);
b = new Sub2;
print b->time;

例えば上のような形で、同じtimeの値を共有する方法はありますか?
08338292007/03/04(日) 17:34:22ID:???
>>831
うーん、それはカッコ悪いってのはあるけど俺的には許容範囲
$str1, $str2 よりはマシだよな
0834nobodyさん2007/03/04(日) 17:41:37ID:???
requireする文字コードEUC-JPのhtmlファイルをまとめて
SJISに文字コード変換したいのですが、どのようにすればいいでしょうか?
0835nobodyさん2007/03/04(日) 17:50:37ID:???
>>834
手間ひまかけてじっくり煮込む
0836nobodyさん2007/03/04(日) 17:53:26ID:???
>>834
サクラエディタで開いて保存しなおせ
08378342007/03/04(日) 18:04:54ID:???
>>835-836
内部的にはEUC-JPにしたいので表示だけSJISにしたいんです。
08387832007/03/04(日) 18:15:01ID:j6Pq8T7o
>>790
遅ればせながら、ありがとうございます。
debug_backtrace方式は目からウロコでした。
濫用しない程度に特攻してみます。
08398342007/03/04(日) 18:28:40ID:???
自己解決しました
08408342007/03/04(日) 18:55:48ID:???
>>839
いやな性格してるね〜、市ね
08418342007/03/04(日) 19:01:21ID:???
>>840
偽者乙
プゲラw
0842nobodyさん2007/03/04(日) 19:02:22ID:???
3秒でわかったけど確認してないから晒しはやめとくううう
ってか、EUCからSJISニ変換したところで無駄に重くなるだけだからやめとけ
0843nobodyさん2007/03/04(日) 19:02:43ID:KchkAUoC
質問させてください。
サーバーOS:Windows XP SP1
PHPver:5.1 build 2600
GDのバージョンは2です。
本文:
以下のようなソースを書きました。
$image = imagecreatefrompng('./images/3.png');
imagepng($image);
imagedestroy($image);
$image = imagecreatefrompng('./images/2.png');
imagepng($image);
imagedestroy($image);
望みとしては、3の次に2が横並びで表示するようにしたいのですが、位置の指定方法がまったくわかりません。
それぞれのpngファイルの名前は数の番号を表しています。
この例だと
32
と表示してほしいのですが、
3
としか表示されません。
ファイルじたいをpngファイルとして認識させたいのですが、他に方法があるのならそれでもかまいません。
どうかよろしくお願いします。
なおサーバーのファイルは自分で設定できる立場にあります。他のDLLを導入するなどは可能です。
0844nobodyさん2007/03/04(日) 19:36:24ID:???
echo '32';

というのは下らない冗談で、
とりあえずマニュアルでそれぞれの関数のページ見れば解決すると思うよ
0845nobodyさん2007/03/04(日) 20:06:30ID:???
わかりました
関係の関数含めて見直します。
08468432007/03/04(日) 20:07:00ID:KchkAUoC
すいません
すごく間違えました。
>>845は私です・・・
0847nobodyさん2007/03/04(日) 20:07:03ID:???
>>833
そうそう、無理に英語にしたり、数字つけただけの変数よりも
ローマ字のほうが分かりやすいことも多々あるからさ。

俺は英語+日本語ってのもよく使うよ。
たとえば、$text_hozon とかねw
0848nobodyさん2007/03/04(日) 20:52:41ID:???
以下のテキストからsubjectの中身だけを取り出すにはどうしたらいいでしょうか?
$str = 'To: <[email protected]>
Subject: =?ISO-2022-JP?B?WxskQiUkJXMlVyVsJTklOCVjJVElcxsoQiAbJEIlQCUkJTglJyU5GyhC?=
=?ISO-2022-JP?B?GyRCJUgbKEJdGyRCPzc0KSVpJUMlNyVlISobKEIgGyRCIVgbKEJQRU5UQVggSzEw?=
=?ISO-2022-JP?B?RBskQiE/GyhCSzEwMEQbJEI0MEE0JSwlJCVJIVkkWyQrGyhCVmlzdGEbJEJCUBsoQg==?=
=?ISO-2022-JP?B?GyRCMX4kRyQtJGtCZzt2RTUhIhsoQm1peGkbJEI1IUc9M2hNUSVQGyhC?=
=?ISO-2022-JP?B?GyRCJSQlViVrIUQbKEIgbW9yZSBhbmQgbW9yZRskQiEqGyhC?=
Date: Fri, 2 Mar 2007 12:20:19 +0900';
↓以下のような正規表現だとSubjectの2行目の分までは取得できましたが、3行目(n行目)以降をどうやってマッチさせましょう・・・
preg_match("/^Subject:\s*(.*)\s*(\s*.*)\s*/mi", $str, $res);
$subject = mb_decode_mimeheader(join('', $res));
08498482007/03/04(日) 20:54:54ID:???
あっ、書き込んだらタブが削除されちゃいましたが、
実際にはSubject:の2行目以降の行頭にはそれぞれタブが一つずつ入っています。
改行コードは\nです。
要するに一般的なメールのヘッダです。
0850nobodyさん2007/03/04(日) 20:58:59ID:???
>>849
http://jp2.php.net/preg_match
0851nobodyさん2007/03/04(日) 21:05:21ID:???
>>830
任意の行の内容を改行で上書きすればいいんでないの
指定行を削除する関数でも作っといた方が後々便利かもね

CかC++ならリスト使ってポインタ繋ぎ変えてセルを消せばいんだけどね

>>832
bのコンストラクタで参照渡しかグローバル変数
0852nobodyさん2007/03/04(日) 21:05:58ID:???
>>848
なんだか面倒くせぇことやろうとしてるな。2行目以降は無視しちゃえば?w

>>850
難易度的に、マニュアル見て解決できるレベルじゃないだろww
0853nobodyさん2007/03/04(日) 21:07:50ID:???
>>848
TABでsplit
0854nobodyさん2007/03/04(日) 21:10:36ID:???
>>853
メールのヘッダって、subject以外にもTABが入りうる箇所ってたくさんあるから、
「TABでsplit」だけではダメな気が。

まず最初にsubjectに関係するn行だけを取り出せれば、その後TABでsplitもアリだけどね。
0855nobodyさん2007/03/04(日) 21:19:35ID:???
preg_match_allは?
0856nobodyさん2007/03/04(日) 21:22:23ID:???
>>848
つまりアレか、subjectの行数がn行ある(何行になるのか決まってない)のが問題…ってことでいいのか??
行数が決まってれば簡単なんだろうけど、ややこしいな。
0857nobodyさん2007/03/04(日) 22:18:45ID:???
あのぉ、「PHP」って何の略ですか?
0858PHP: Hypertext Preprocessor2007/03/04(日) 22:21:38ID:???
>>857
ぐぐくれカス!!
http://www.googkle.com/search?hl=en&q=PHP
0859nobodyさん2007/03/04(日) 22:50:42ID:???
>>858
googkle
0860nobodyさん2007/03/04(日) 22:53:34ID:???
>>848
PEARのMail_mimeDecode使った方がいいかと

require_once 'Mail/mimeDecode.php';
$str =
"To: <[email protected]>
Subject: =?ISO-2022-JP?B?WxskQiUkJXMlVyVsJTklOCVjJVElcxsoQiAbJEIlQCUkJTglJyU5GyhC?=
\t=?ISO-2022-JP?B?GyRCJUgbKEJdGyRCPzc0KSVpJUMlNyVlISobKEIgGyRCIVgbKEJQRU5UQVggSzEw?=
\t=?ISO-2022-JP?B?RBskQiE/GyhCSzEwMEQbJEI0MEE0JSwlJCVJIVkkWyQrGyhCVmlzdGEbJEJCUBsoQg==?=
\t=?ISO-2022-JP?B?GyRCMX4kRyQtJGtCZzt2RTUhIhsoQm1peGkbJEI1IUc9M2hNUSVQGyhC?=
\t=?ISO-2022-JP?B?GyRCJSQlViVrIUQbKEIgbW9yZSBhbmQgbW9yZRskQiEqGyhC?=
Date: Fri, 2 Mar 2007 12:20:19 +0900\n\n";
$mime = new Mail_mimeDecode($str, "\n");
$result = $mime->decode();
$subject = $result->headers['subject'];
mb_internal_encoding('ISO-2022-JP');
$decoded = mb_decode_mimeheader($subject);
var_dump(mb_convert_encoding($decoded, 'UTF-8', 'ISO-2022-JP'));

[インプレスジャパン ダイジェスト]新刊ラッシュ! 『PENTAX K10D/K100D完全ガイ ド』
ほかVista対応できる大事典、mixi機能活用バイブル… more and more!
0861nobodyさん2007/03/04(日) 22:55:11ID:???
>>857
1."PHP:Hypertext Preprocessor"
2."Personal Home Page Tools"
3."Peaceand Happiness through Prosperity"
好きなの選べ
0862nobodyさん2007/03/04(日) 23:00:32ID:MKGA7vNq
フォーム入力の確認画面の出力なのですが。
・いたずらや悪意のある入力を防ぐ
・マジッククオートで2バイト文字が変にエスケープされて文字壊れしない渡し方は

<input type="hidden" name="company" value="<? echo urlencode( $company ); ?>">
<? echo htmlspecialchars( $company ENT_QUOTES, なになに); ?></td>

で完成なのでしょうか?
htmlentitiesは、どういうときに使うものなのでしょう…
0863nobodyさん2007/03/04(日) 23:08:46ID:???
>>862
valueの中もhtmlspecialcharsだよ。urlencodeは<A>タグリンク中の文字列に使う。
0864nobodyさん2007/03/04(日) 23:09:17ID:???
>>862
なんでhiddenのvalueにurlencode?
両方ともhtmlspecialcharsでいい
マジッククォートでおかしな動作してほしくなかったらOFFにすればいい
htmlentitiesは全て実体参照に変換したい時に使う
0865nobodyさん2007/03/04(日) 23:27:26ID:gHI9abtc
>>795
SQLの再起動はしました
バージョンはXAMPPで
Apache 2.2.4
MySQL 5.0.33
PHP 5.2.1 & PHP 4.4.5
phpMyAdmin 2.9.2
で  PHP5です
0866nobodyさん2007/03/04(日) 23:47:20ID:MKGA7vNq
>>863 864
レスありがとうございます。
valueの中身もhtmlspecialcharsだと
文字コードに変わったまま渡され
メール送信したり、比較一致処理ができなかったりしないでしょうか?



0867nobodyさん2007/03/04(日) 23:48:11ID:???
>>860
PEARのMail_mimeDecodeだと、マルチバイト処理にやや不安あり、って噂を聞くけどね。
あと添付ファイルがあるときも面倒になる可能性があるとか無いとか。
0868nobodyさん2007/03/05(月) 00:00:52ID:???
>>866
HTMLのエスケープは送信時に自動的にアンエスケープされて元通り。
その上でURLエンコードがブラウザによって自動的になされる。
0869nobodyさん2007/03/05(月) 00:16:18ID:???
>>868
メール送信やprintしてみましたが、元に戻っているのですね
.htaccessが禁止されていて
マジッククオートが有効固定で文字がおかしくなる時はどうすればいいでしょう?
今まではがんばってエンコードでして英数字で渡していました。
0870nobodyさん2007/03/05(月) 00:22:34ID:???
>>866
エンコードは送信データの受け側でどうとでもすればいいのでは?
0871nobodyさん2007/03/05(月) 01:03:29ID:???
>>869
get_magic_quotes_gpc()を判別してマジッククォートONのときは
stripslashes_array()等を使ってGET、POSTデータからクォートを除去。
0872nobodyさん2007/03/05(月) 01:14:41ID:???
requireする文字コードEUC-JPのhtmlファイルをまとめて
SJISに文字コード変換したいのですが、どのようにすればいいでしょうか?
0873nobodyさん2007/03/05(月) 01:27:28ID:???
>>872
事前に変換して保存しとくんじゃダメなのか?
0874nobodyさん2007/03/05(月) 03:28:33ID:???
>>865
skip-character-set-client-handshakeあたりで検索して
コーヒーでも飲みながらゆっくりと落ち着いて色々試してみれ

それでも解決しないなら何をしてどうなったかの詳細を書いてみるが良いよ。
0875nobodyさん2007/03/05(月) 07:46:06ID:???
>>865
ちなみにDBにはどんな文字コードで格納してて
PHPシースはどんな文字コードで書いてて
HTMLはどんな文字コードで出力してて
ブラウザのエンコードはどの文字コードが選択されてるんだ?
0876nobodyさん2007/03/05(月) 11:03:28ID:???
シース
0877nobodyさん2007/03/05(月) 12:45:40ID:VUeVfNbT
PHPで簡易アクセス解析作ろうと思っているんだがアクセスしてきた人の
国を判別する方法ってあるとおもう?よくアクセス解析で都道府県別統計
を取ってくれる物があるけどあんな感じで国別統計というのもとってみたい
なと思ったわけ。
08788342007/03/05(月) 12:51:21ID:???
都道府県てとれるの?そうだとしたら4−6桁目?
0879nobodyさん2007/03/05(月) 12:57:56ID:???
>>832
別に共有変数をもつため専用のクラスを作るとか
0880nobodyさん2007/03/05(月) 12:58:52ID:???
>>877
トップレベルドメインで判断すれば?
0881nobodyさん2007/03/05(月) 13:06:15ID:???
>>877
Whoisサーバでググればでるよ
>>878
無料で公開されてるかどうかは俺もしらないがある。
0882nobodyさん2007/03/05(月) 13:13:06ID:???
ひどいサイトを見つけたよw

ttp://www.s-center.net/

ここなんだがブログのシステムはDrupal(ttp://drupal.jp/)
使ってるんだが著作権部分を自分の名前にしちゃってるよ

でもfavicon消し忘れ^^;
ttp://www.s-center.net/misc/favicon.ico

しかもTOPに乗っているテキストエディタ Messiahの添付画像は
Drupalのソース(苦笑
0883nobodyさん2007/03/05(月) 13:20:25ID:VUeVfNbT
>>880
>>881
.jpとかだったら日本って分かるんだろうけど.comだったらどこの国かはわからないんじゃない?
0884nobodyさん2007/03/05(月) 13:27:37ID:???
PCと携帯で見れる日記を作っているのですが
2chやBBSなんかでPC用ページを直リンクされた場合とか考えると、
携帯用の実行ファイルを用意するよりも、
どのPC用ページにアクセスしても、そこから振り分けて携帯用ページが表示させるようにした方がいいのかな。
意見聞かせてください。
0885nobodyさん2007/03/05(月) 13:33:47ID:aOtmvd4t
AぺーじからBページが呼び出されたら、
AページのURLはHTTP_REFERERで取得できますが、
Bページ(現在表示されているページ)のURLを取得する方法はありますか?
0886nobodyさん2007/03/05(月) 13:38:43ID:???
>>883
whoisのDBを使うんだよ。

>>884
携帯用と分ける方がソースの可読性は下がるけど効率的ではある。
どうせPCと携帯の違いはhtmlコード部分、クッキー部分くらいだと思うし。
0887nobodyさん2007/03/05(月) 13:55:59ID:???
882ってさDrupa著作表示消して使ってるってことは
過去に作ったとか自慢げに書いてあるキーロガーとか諸々の糞アプリはフリーのコード盗用から微妙に拡張って感じだろうな
酷いけどまだガキだから仕方ないか
0888nobodyさん2007/03/05(月) 15:27:28ID:???
>>884
やっぱりドメインもスクリプトも分けたほうがいいと思う。
たとえばwww.hoge.com(PC用)とm.hoge.com(携帯用)で、それぞれスクリプト用意ね。

なぜなら、最近は携帯でもフルブラウザとかでPC用ページを見たい人もいるだろうから、
「携帯でPCサイトにアクセス→勝手に携帯サイトに飛ばす」ってのは、
ありがた迷惑に感じる人もいるんじゃないのかな。
フルブラウザを搭載してない携帯ならむしろその方がいいんだろうけど。
0889nobodyさん2007/03/05(月) 15:41:05ID:???
XREAで
s900.xrea.comのDBに
s901.xrea.comからPHPで接続したいのですが可能でしょうか?
可能な場合、
mysql_connect('localhost', 'mysql_user', 'mysql_password');
このlocalhostの部分はどのような書き方になるでしょうか?
0890nobodyさん2007/03/05(月) 15:41:08ID:???
>>882
これはひどいなw
ドメインでmixi内検索したら見事に出てきたよ
ttp://mixi.jp/show_friend.pl?id=1368531
0891nobodyさん2007/03/05(月) 15:52:40ID:???
>>886
>>888
意見有難う。
なるほど、フルブラウザってものがあったね。定額になったし普及するのだろうか。
実行ファイルから分ける方向でやってみます。

ちなみに、後者の携帯ページを表示というのは、リダイレクトするのではなく
スクリプト内で携帯とPCの表示方法なんかを振り分けて、同じURLでどちらでも見られると言うのを考えていました。
0892nobodyさん2007/03/05(月) 16:02:01ID:???
>>888
フルブラウザかどうかはUAで判別出来るんじゃ無いかな・・。
0893nobodyさん2007/03/05(月) 16:09:23ID:???
>>889
XREAではlocalhost以外の接続は出来なかったと思う
つまり接続は不可能

可能な場合は普通にホスト名を書けばいい
mysql_connect('s900.xrea.com', 'mysql_user', 'mysql_password');
0894nobodyさん2007/03/05(月) 16:25:04ID:???
>>882
whoisったらドメインはVDの名義になってるね
レン鯖板で祭ってやれば?w
0895nobodyさん2007/03/05(月) 16:32:44ID:???
>>891
>リダイレクトするのではなくスクリプト内で携帯とPCの表示方法なんかを振り分けて
何にせよ、ユーザーが任意に好きなほう(PCサイトか携帯サイトか)を選べたほうが便利かと。

>>892
今すでに発売されてる機種だけを考えるならそれでもいいけど、
今後の新機種まで考えると、その都度いちいちUA判定の処理を追加・訂正しなきゃならんから、俺はUAは一切見ない。
っていうか現状でも見てない。複雑すぎて面倒くさいから。
あくまでもIPで携帯かどうか判定してる。
0896nobodyさん2007/03/05(月) 16:38:19ID:???
>>893さん
ご丁寧にありがとうございますm(_ _)m
接続できるかはXREAに直接聞いて見ます。

結果はここに書いたほうがいいでしょうか?
0897nobodyさん2007/03/05(月) 16:39:31ID:???
接続できないよ。
俺も聞いたけど、セキュリティのほにゃほにゃでだめだって。
08988722007/03/05(月) 16:43:21ID:???
>>873
内部的にはEUC-JP、表示だけSJISにしたいのです。(携帯端末のため&内部SJISは危険ぽいので)
そこでEUCのhtmlファイルをSJISに変換して表示させる方法をお教えください。

今考え付くのは、
1.htmlファイルをfile_get_contensで$strにいれてmb_convert

2.eval?(使い方不明…)
0899nobodyさん2007/03/05(月) 16:43:52ID:???
DBを外からアクセス出来るようにしたら、一般公開化する奴が絶対出てくるだろうし・・
0900nobodyさん2007/03/05(月) 16:44:52ID:???
>>898
そもそもrequireするhtmlって意味分からない。
PHPにすればいいんじゃなくて?
0901nobodyさん2007/03/05(月) 17:03:46ID:???
>>898
あと一週間くらい、もっと良い解決法を考えてみろ。

ヒント:どの時点でSJISに変換するのがベストか?
0902nobodyさん2007/03/05(月) 17:04:43ID:???
>>897さん
ありがとうございます。
やっぱりだめですか(>дμ)…
>>899さん
他の方に迷惑になりますもんね…
DB内の広告を共有したいと思ったのですが残念(;Ω;)
0903nobodyさん2007/03/05(月) 17:18:30ID:???
>>895
IPの方が面倒じゃない?
公式コンテンツとかならIP追加とかで告知は来るけど、勝手サイトには来ないし、
そもそも情報が非常に遅い。
それに、携帯なら基本仕様があるから、SoftBank みたいに社名でも変わらん限り、
UA は原則変わらんよ。
今は基本6種だったかな?
IPの追加と、UAの基本仕様変更だと、圧倒的にIPの追加の方が多いから、
俺はUAにしてる。
セキュリティとかで考えるなら両方かな。
0904nobodyさん2007/03/05(月) 17:39:16ID:???
>>903
>圧倒的にIPの追加の方が多いから

そうかな?? どれくらいの頻度か知ってる??
あと、IPなら公式サイトのIPリストから自動で取ってくるスクリプト書けばいいし・・・
09058722007/03/05(月) 17:44:42ID:???
>>901
もう生え際がハゲるくらい考え、悩んでるんですが…
0906nobodyさん2007/03/05(月) 17:50:52ID:JwWe6FJR
$array=array("2000","2000","2001","2001","2001","2002",2002");

という配列のデータがあったとして、出力時に重複値を消して

2000,2001,2002

のみ表示するにはどうしたらいいのでしょうか?
0907nobodyさん2007/03/05(月) 17:53:45ID:???
>>902
>>DB内の広告を共有したいと思ったのですが残念(;Ω;)
XMLとかで共有すればいいじゃね。
別にテキストだろうが、CSVだろうが何でもいいとは思うけど。

目的をハッキリ理解してないので的外れかもしれないが。
0908nobodyさん2007/03/05(月) 17:54:44ID:???
>>906
マニュアル嫁
http://jp2.php.net/manual/ja/function.array-unique.php
09099062007/03/05(月) 18:04:58ID:???
>>908
すみません。ありがとうございます。
0910nobodyさん2007/03/05(月) 18:09:53ID:???
>>905
俺なんか特に悩みも無いのにハゲが進行してきてるんだが・・・orz
0911nobodyさん2007/03/05(月) 18:20:13ID:???
>>907さん
>XMLとか
XML (μдμ○)…わかなにゃ…
勉強してみますね
googleアドみたいに分類してるのでDBじゃないと難しいなぁって思って(>д<;)
0912nobodyさん2007/03/05(月) 18:31:32ID:???
>>911
規模が大きいならDBからXMLで吐き出すのが多い
小規模ならXMLだけで十分
0913nobodyさん2007/03/05(月) 18:47:22ID:???
あ・あとPHP限定なら serialize 関数でもいいかもね。
0914nobodyさん2007/03/05(月) 19:36:19ID:???
>>882
キーロガーなんて公開してる辺り、危ねぇガキだなww

学校はどこかな?ww
0915nobodyさん2007/03/05(月) 19:45:56ID:???
>>914
あなたと同じ高卒ですww
0916nobodyさん2007/03/05(月) 19:47:55ID:???
自演うぜえ
消えろカス
0917nobodyさん2007/03/05(月) 19:54:38ID:???
>>915
中卒の間違いじゃねえのww
0918nobodyさん2007/03/05(月) 20:00:03ID:???
まだ卒業してねぇだろ。
どんな祭になるのか楽しみだなw
0919nobodyさん2007/03/05(月) 20:09:02ID:???
顔文字からしてリア厨くさいのがいる
0920nobodyさん2007/03/05(月) 20:11:50ID:???
>>919
2ちゃんで学歴を聞いてくるやつは
低学歴なんだよな
0921nobodyさん2007/03/05(月) 20:14:21ID:???
>>919
おっさんくさいレスだなw
0922nobodyさん2007/03/05(月) 20:18:42ID:???
自演うぜえ
消えろカス
0923nobodyさん2007/03/05(月) 20:25:53ID:???
自演うぜえ
消えろカス
0924nobodyさん2007/03/05(月) 20:40:31ID:???
実務経験の無い引きこもりは使えない。
0925nobodyさん2007/03/05(月) 20:49:34ID:???
だな、この世界では学歴よりも実務経験の方が物を言う。
0926nobodyさん2007/03/05(月) 20:52:55ID:???
でも、算数・数学の出来ないプログラマは使えない。マジで。
0927nobodyさん2007/03/05(月) 20:55:27ID:???
引きこもりのプログラマはカスだからな。
0928nobodyさん2007/03/05(月) 21:14:08ID:???
ヒューマンスキルがないプログラマは使えない
0929nobodyさん2007/03/05(月) 21:17:31ID:???
あと嘘つきはダメだね。
ばれなきゃ何をやってもいいって考えの馬鹿は使えない。
仕事上で必ず問題を生む。
0930nobodyさん2007/03/05(月) 21:39:53ID:???
文字が、マルチバイト文字列かどうか
調べる方法はありませんか?
0931nobodyさん2007/03/05(月) 21:39:56ID:???
自演うぜえ
消えろカス
0932nobodyさん2007/03/05(月) 21:41:14ID:???
あるある。ajaxかせめてjsはわかるよね?
って聞いたら「分かります」っていうから
じゃあここの表をポップアップウィンドウででるようにしといて
っていったらそれはやったことありませんとか抜かしやがった
分からないなら分からないでそう言えばいいし
それくらいネット探せばすぐみつかるだろってオモタ。
数学は中学程度で十分だし大卒の奴に限ってこんなんが多いよ(サンプル1人だがな)
0933nobodyさん2007/03/05(月) 21:46:22ID:???
日本語でおk
0934nobodyさん2007/03/05(月) 21:47:23ID:???
右からやってきたものを左へ受け流すぜ!
0935nobodyさん2007/03/05(月) 22:00:55ID:???
>>934
日本共産党乙
0936nobodyさん2007/03/05(月) 22:02:47ID:???
>>934
ムーディかつやま?
0937nobodyさん2007/03/05(月) 22:07:18ID:???
from right to left
0938nobodyさん2007/03/05(月) 22:34:05ID:???
>>932を縦読みすると、

「あっじっ分そ数」

何か意味のある言葉かと一瞬オモテシマタ・・・
0939nobodyさん2007/03/05(月) 23:57:09ID:peb4Wfoi
くだすれPHP(超初心者用)2にも書き込ませて頂いたのですが、
こちらでも質問させて頂きます。

postfix => php PEARで解析 => 送信者に自動返信を出す

までは出来ているのですが、

postfix => php PEARで解析 => 外部ファイルもしくはMySQLに送信者アドレスを記録 => 送信者に自動返信を出す

としたいのです。

ですが、外部ファイルをオープンもしくはMySQLに接続した時点で止まってしまうようです。

環境は

phpinfo()のコピーですが

OS MacOSX 10.4.8
Apache/1.3.33 (Darwin) PHP/5.1.6
MySQL Client API version 5.0.24a

でターミナルでphp -v を実行すると
PHP4.4.4(Cli)

と出ます。

マルチで申し訳ありません。
ご教授宜しくお願い致します。
0940nobodyさん2007/03/06(火) 00:10:21ID:???
申し訳ありませんって…
分かっててやるなよボケが
0941nobodyさん2007/03/06(火) 00:16:00ID:Crrd1LQs
くだすれPHP(超初心者用)2で誘導を頂いたので書き込ませて頂きました。
こちらの方が人が多いということですので。

申し訳ないです。
0942nobodyさん2007/03/06(火) 00:16:06ID:???
原因は設計ではなくソースにあり。
ソースも見せないエスパーな質問じゃ答えがかえってくるわけなかろう。
0943nobodyさん2007/03/06(火) 00:22:05ID:???
>>939
>>ですが、外部ファイルをオープンもしくはMySQLに接続した時点で止まってしまうようです。
って時点で何らかのバグのような気がするんだけど・・
0944nobodyさん2007/03/06(火) 00:54:28ID:Crrd1LQs
require_once("Mail/mimeDecode.php");
$source = file_get_contents("php://stdin");
/*ブラウザで確認の時はコメントアウト
if(!$source) {
exit();
}*/
$MySQL['HOST'] = 'localhost';
$MySQL['USER'] = 'user';
$MySQL['PASSWORD'] = 'password';
$MySQL['DATABASE'] = 'database';
$mylink = @mysql_connect($MySQL['HOST'],$MySQL['USER'],$MySQL['PASSWORD']) or exit('ERROR');
$sql = "SET NAMES sjis";
mysql_query($sql);
mysql_select_db ($MySQL['DATABASE']) or exit('ERROR');
$params['include_bodies'] = true;
$params['decode_bodies'] = true;
$params['decode_headers'] = true;
$decoder = new Mail_mimeDecode($source);
$structure = $decoder->decode($params);
$from = mb_convert_encoding(mb_decode_mimeheader($structure->headers['from']), mb_internal_encoding(), "auto");
/*メール送信で確認の時はコメントアウト
$from = '[email protected]';*/
$query = "INSERT INTO testtable VALUES(NULL,'$from')";
mysql_query($query,$mylink);
$to = $from;
$title = "test title";
$body = "test body";
$from = "From: [email protected]";
mb_internal_encoding("SJIS");
mb_language("japanese");
mb_send_mail($to, $title, $body, $from);
0945nobodyさん2007/03/06(火) 00:57:01ID:Crrd1LQs
すいません、改行規制でひっかかってました。

>>942
ありがとうございます。
上記ソースです。

ブラウザでアクセスするとMySQLにちゃんと書き込まれ、[email protected]にメールもきます。
MySQL部分を消して空メールすると、ちゃんと返信メールは返ってきます。
ですが、MySQL部分を使用するとMySQLにも書き込まれず、メールも返ってきません。
ご教授宜しくお願いします。
0946nobodyさん2007/03/06(火) 01:04:30ID:???
>>944
exit の上の行に
print "exit!";
って単体で実行するとどうなる?
0947nobodyさん2007/03/06(火) 01:12:37ID:Crrd1LQs
>>946
ありがとうございます。

/*ブラウザで確認の時はコメントアウト
if(!$source) {
print "exit!";
exit();
}*/

コメントしたままでブラウザ実行
exit!表示されず。
MySQL書込み○ [email protected]にメール○

コメント外してブラウザ実行
exit!表示されました。
MySQL書込み× [email protected]にメール×
0948nobodyさん2007/03/06(火) 01:21:14ID:???
というわけで問題箇所は分かったわけだな
0949nobodyさん2007/03/06(火) 01:24:53ID:???
>>945
なんでブラウザで確認する?
しかも違うバージョンのPHPで。

テスト用のメールメッセージ(test.eml)を用意して、
cat test.eml | php nantoka.php
とかしてエラーメッセージの有無を確認してみたら?
0950nobodyさん2007/03/06(火) 01:27:42ID:Crrd1LQs
>>948
ブラウザで実行した場合は$sourceが空になると思うのでコメントアウトしてたのですが、
その部分が問題なのでしょうか。

exit部分をコメントアウトしたままメール送信してみましたが、やはり書込みされません。
どこが問題なのでしょうか?
0951nobodyさん2007/03/06(火) 01:31:03ID:???
どこまで実行してるのか確認すりゃいいじゃん
0952nobodyさん2007/03/06(火) 01:31:17ID:???
>>950
いままではexitで終了してて
コメントアウト後は $source が取得できなくて駄目ってわけじゃなくて?
0953nobodyさん2007/03/06(火) 01:53:51ID:Crrd1LQs
>>949
ありがとうございます。
エラー出ました。
「ERROR」としか出なかったんですが、原因追求の方法とかありますでしょうか?

>>951
ありがとうございます。

>>952
どうも違うようです。すいません。
0954nobodyさん2007/03/06(火) 02:00:06ID:???
>>953
は?んでどこが問題だったんだ?
mysql_connectの部分か?だったらエラー出力制御外せばいいだろ
0955nobodyさん2007/03/06(火) 02:00:51ID:???
>>953
@mysql_connect
の@を消すと?
0956nobodyさん2007/03/06(火) 02:02:42ID:???
それの意味分かってないなら使わないほうがいいよ
0957nobodyさん2007/03/06(火) 02:10:21ID:Crrd1LQs
>>954
すいません、ボケてました。
mysql_connect()の部分で接続できていないようです。
can't connect MySQL Server through socket

>>955
@消してみましたが、同じエラーが出ます。

0958nobodyさん2007/03/06(火) 02:15:08ID:Crrd1LQs
ちょっとソケット確認してきます。ありがとうございました。
0959nobodyさん2007/03/06(火) 02:19:40ID:???
なんでPHP5のほうのcli使わないんだろう・・・
0960nobodyさん2007/03/06(火) 02:32:44ID:???
WEBがphp4でphp5のCLIって出来るの?
0961nobodyさん2007/03/06(火) 03:19:58ID:???
php導入後のテストとしてphpinfo()を実行したいのですが
ttp://tune.ache-bang.com/~vg/outitem/up/img/14288.jpg
の様にエラーが出てしまいます。
php4ts.dllはsys32フォルダ、iniはWINDOWSフォルダにコピーし、
iniの設定も終えています。
何が原因なのでしょうか?
0962nobodyさん2007/03/06(火) 04:03:46ID:tnKCXHfh
文字列中の漢字やかな、記号などの字種を判別したいのですが、2バイトコードでの判別の方法がわかりません。
色々ググッてみたんですが、情報が少ないのか検索の仕方が悪いのか見つかりませんでした。
文字コードはsjisで、8141が「、」とかそういうやつです。

もしコードの判別以外でも字種を判別できる方法があれば教えてください。
0963nobodyさん2007/03/06(火) 05:30:48ID:???
>>962
その説明だとやりたい事が全然分からない。
漢字か平仮名か知りたいって事?

ここの下のほうの関数群でも見てみたら?
http://www.php.net/manual/ja/ref.mbstring.php
0964nobodyさん2007/03/06(火) 07:14:47ID:AIqpdY9i
for文でのparseエラーが取れないのですが、どこが間違っているのか教えてもらえませんか?

実現したい処理は、
$hoge1fuga, $hoge2fuga, $hoge3fuga, $hoge4fuga
に入力されている1or2の値によって、
$hoge1fuga_, $hoge2fuga_, $hoge3fuga_, $hoge4fuga_
にそれぞれ"男"or"女"の文字列をいれるというものです。

for($i=1 ; $i <= 18 ; $i++){
switch($hoge.$i.fuga){
case "1":
$hoge.$i.fuga_ = "男"; break;
case "2":
$hoge.$i.fuga_ = "女"; break;
}
}


エラーは4行目の"="でParse errorがでてしまっています。
0965nobodyさん2007/03/06(火) 07:22:41ID:???
ぱーすえらー,なんちゃらを予測してたけどなんちゃらがあるからエラーだよ,って教えてくれてるだろ
0966nobodyさん2007/03/06(火) 07:28:43ID:???
>>964
> $hoge.$i.fuga_ = "男";
なんだこりゃ。
0967nobodyさん2007/03/06(火) 07:31:16ID:???
>>964
> $hoge1fuga, $hoge2fuga, $hoge3fuga, $hoge4fuga
> に入力されている1or2の値によって、
> $hoge1fuga_, $hoge2fuga_, $hoge3fuga_, $hoge4fuga_
> にそれぞれ

そういう変数名を組み立てるなら

> $hoge.$i.fuga
→${"hoge".$i."huga"}
> $hoge.$i.fuga_
→${"hoge".$i."huga_"}
って書かなきゃダメだ。

できれば変数名を動的に組み立てるのではなく、配列変数を使った方が便利だぞ。
0968nobodyさん2007/03/06(火) 07:39:01ID:???
>>964
なんで素直に配列を使わないんだ
0969nobodyさん2007/03/06(火) 07:41:34ID:???
javascriptに汚染されすぎ
0970nobodyさん2007/03/06(火) 07:57:50ID:FqlqnUfZ
ttp://www.php.net/manual/ja/language.oop5.decon.php
ここに親クラスのコンストラクタは自動で呼ばれない的なこと書いてあるけど
この仕様って変わりました?
parent::__construct();
してないのに動いてるっぽいのですけど・・・
0971nobodyさん2007/03/06(火) 08:04:39ID:???
>>970
変わってないよ
子クラスにコンストラクタが無いんじゃね?
0972nobodyさん2007/03/06(火) 08:09:16ID:???
横やりだが、子クラスにコンストラクタがないと親クラスのコンストラクタが呼ばれちゃうの?
0973nobodyさん2007/03/06(火) 08:11:21ID:???
>>970
コードUP
0974nobodyさん2007/03/06(火) 08:13:47ID:???
ところで
>下位互換性を維持するため、PHP 5 が指定されたクラスの __construct() 関数をみつけられない場合には、 
>古い形式のコンストラクタ関数、つまり、そのクラスの名前と同じ関数が探されます。 
これ上位互換じゃね?
0975nobodyさん2007/03/06(火) 08:23:20ID:???
上位互換なら常にクラスと同名の関数をコンストラクタとして呼ぶと思う。
0976nobodyさん2007/03/06(火) 08:27:07ID:???
下位互換って旧バージョンでも動作する仕様のことじゃないのかな。
0977nobodyさん2007/03/06(火) 08:28:50ID:???
PHP5でもPHP4で作成したクラスが問題なく使えますよってことと理解したけど。
その場合は「上位互換」
0978nobodyさん2007/03/06(火) 08:35:57ID:???
PHPはアンスコ使いすぎて汚い言語になってきてるな
09799702007/03/06(火) 08:49:11ID:???
みんな朝からレスサンクス

子クラスにコンストラクタがないと親クラスのコンストラクタが呼ばれるけど、
子クラスにコンストラクタがあった場合、親クラスのコンストラクタは呼ばれませんよって事ですか?

public function __construct(){
    parent::__construct();
}
ってやってるのよく見かけるけど、私と同じ勘違い
もしくは、コード見やすく?するためなのかな?

ちなみにZendFramworkのソース見ててあれって思ったもので

class oya
{
public function __construct(){
echo 'OyaClassConst';
}
}

class ko extends oya
{

}

new ko;

です
0980nobodyさん2007/03/06(火) 08:52:09ID:???
しまった。一行抜けた
>ちなみにZendFramworkのソース見ててあれって思ったもので
の後に、「自分で試したのは」

ZFにあんなコードはないです・・・w
0981nobodyさん2007/03/06(火) 09:00:04ID:???
>>970
C++とかでも普通は基底クラスのコンストラクタは先に呼び出されるだろ
例19.8の動かしたらわかるじゃん
In BaseClass constructor
In BaseClass constructor
In SubClass constructor
0982nobodyさん2007/03/06(火) 09:13:08ID:???
>>961
たしかPECLモジュールのバージョンが異なってる時に出たと思う
日付的にPHP4にPHP5用のDLL使ったんじゃね
0983虚弱PHP2007/03/06(火) 09:22:33ID:???
>>972
> 注意: 子クラスがコンストラクタを有している場合、親クラスのコンストラクタが
> 暗黙の内にコールされることはありません。

確かに微妙な書き方だけど、
子クラスにコンストラクタがなければ親のコンストラクタが暗黙の内にコールされる。
0984nobodyさん2007/03/06(火) 09:32:26ID:???
有してなければ暗黙の内にコールされるてことね
0985nobodyさん2007/03/06(火) 09:39:33ID:qe8jfVyG
ハッシュのベストな生成方法を教えてください。
昔ランダムな文字列をどうとかこのスレでいってたきがするのですが、
読み飛ばしていたので記憶が曖昧で・・・。
0986虚弱PHP2007/03/06(火) 11:30:49ID:???
>>985
ベストかどうかはわかんないけど、
PHP5で手軽にやるなら
SHA512+Salt(ワンタイムのランダム文字列)
ってのが強いハッシュになると思う。
ランダム生成したSaltとSHA512でハッシュされた値を
両方とも保存。
0987nobodyさん2007/03/06(火) 11:42:59ID:???
そんなの古い
0988nobodyさん2007/03/06(火) 11:57:47ID:???
>>987
古くない
09899622007/03/06(火) 12:57:04ID:tnKCXHfh
>>963
説明下手でしたね^^;
簡単に言えばその通りです。

マニュアル見てみたんですがよくわからなくて。
$strという変数に「あ」という文字が入ってる場合、それを16進数に変換して評価したいんです。
できればソースを書いていただければありがたいです。
0990nobodyさん2007/03/06(火) 13:09:02ID:NArlJJZA
php warningの内容を変数にいれることってできますか?
0991nobodyさん2007/03/06(火) 13:17:24ID:???
>>987
古いとか言うだけならバカでもできる。
分かるならちゃんと回答してやろうぜ。新しいのキボンヌ。
0992nobodyさん2007/03/06(火) 13:29:36ID:???
>>986
>>988
>>991

自演乙。
0993nobodyさん2007/03/06(火) 13:35:06ID:???
>>990
http://jp.php.net/manual/ja/ref.errorfunc.php#ini.track-errors
0994nobodyさん2007/03/06(火) 13:36:48ID:VT7d92zR
>>987=992
分かった分かった。ID出しといてやるよ。
困ったら自演乙うざいよ。うだうだ言ってねーで新しいのさっさと出せよ。
0995nobodyさん2007/03/06(火) 13:46:18ID:???
>>994
自演を認めた馬鹿発見
0996nobodyさん2007/03/06(火) 13:48:34ID:???
>>995
いや俺は991だけだが…?
09979912007/03/06(火) 13:51:15ID:VT7d92zR
専ブラのせいでsageちまった。
とりあえず988は知ったかぶりということでいいかな。さっきから答える気ないし。
「古い」と言ったんだから新しいのを言わないと古いかどうか分からんだろ。
新しいのを言ってくれさえすれば問題ないよ。
0998nobodyさん2007/03/06(火) 13:51:44ID:???
>>996
必死ww
0999nobodyさん2007/03/06(火) 13:52:19ID:???
VIPでやれ
1000nobodyさん2007/03/06(火) 13:54:15ID:???
1000かよ
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。