【PHP】PEAR Part2
..
282:nobodyさん
06/02/01 12:16:27 FRDzC7Md
>>281 のソース
<?php
require_once "Auth/Auth.php";
$dsn = "mysql://user:password@localhost/database";
$authset = array(
"dsn" => $dsn,
"table" => "auth",
"usernamecol" => "username",
"passwordcol" => "password",
"cryptType" => "none"
);
$a = new Auth("DB", $authset);
// ユーザーの追加---必ずTrueが返ってくるが登録されてない。
if($a->addUser('user','pass')) {
echo "ユーザーを追加しました。";
}
$a->start();
// 認証チェック---必ずFalseが返ってくる。
if ($a->getAuth()) {
echo "ようこそ!" . $a->username . "さん<br>";
}
?>
283:nobodyさん
06/02/01 18:05:00
PEARでXMLを扱う場合におすすめなのは、何ですか?
284:281-282
06/02/01 20:51:33
>>281-282
気のせいでした。。。_| ̄|○ il||li
接続設定が違っていた模様・・・
スレ汚しスマソ(´・ω・`)ショボーン
285:192.168.0.774
06/02/02 10:25:44 rSyssRqD
>>283
PEARじゃなくともSimpleXML使えばお腹いっぱい
286:nobodyさん
06/02/02 11:09:31
>>285
PHP4なのでお腹いっぱいになりません…
287:nobodyさん
06/02/02 13:28:02
>>285
しらなかった・・・
PHP5なのにxml_parse()使ってたorzorzorz
288:nobodyさん
06/02/02 14:23:19
>>286
URLリンク(www.ister.org)
にPHP4用のSimpleXMLらしきものがあるので、試してみては?
289:nobodyさん
06/02/02 14:36:37
>>288
へー。初めて知りました。
PEARのXMLを扱うやつと比較しながら
ちょっと試してみます。ありがとやん。
290:nobodyさん
06/02/09 12:10:45
HTML_QuickFormのaddRuleでhiddenの値(one-time token)をvalidateしようとしています。
なぜか全く反応しません。
requiredにも無反応。raiseErrorにもひっかからない。
hiddenの値をvalidateするにはどうすればいいですか?
291:nobodyさん
06/02/09 13:01:42
>>290
マルチ
292:nobodyさん
06/02/10 05:41:05
>>290
呪文を唱える(マジ)
293:nobodyさん
06/02/10 14:03:44
>>292
マジで呪文を唱えてみました
効果がありませんでした。
とりあえずソースにデバッグコードを埋め込んだりして、動きを追っています。
mojavi + HTML_QuickForm + smarty という構成なのでそのどこかにバグがあるのでは
と思っています。
今このあたりを調べ中…(3日もコーディングが進まない…)
$form->accept($QFrenderer);
294:nobodyさん
06/02/10 19:31:43
>>293
>mojavi
だったら、根本的な解決にならんけど、
Acrionのinitialize()あたりでチェックする。
295:nobodyさん
06/02/11 06:24:10
>>290
ソース出してみ
296:nobodyさん
06/02/11 15:27:57
こんなのでも動かないよ
仕様じゃないかと思われるから要望だそうかと思うけど
$form->addElement('hidden', 'test', '');
$form->addRule('test', 'test is required', 'required', '');
297:nobodyさん
06/02/13 22:58:45 pnT1I5vq
MDB2 SQLite リリースあげ
URLリンク(pear.php.net)
298:nobodyさん
06/02/14 16:45:17
なんでPERLと似てんの?意識してんの?
299:nobodyさん
06/02/14 20:28:20
SQLiteってそんな使ってる人多いの?
300:nobodyさん
06/02/14 22:59:00 nEcRuD6a
SQLite ならデーモンの管理や権限の管理が要らないから
DB の使えるホスティングが増えるんじゃないかなーと
期待してる
301:nobodyさん
06/02/15 07:32:02
PHP ではあんまり流行らないかもねぇ
まだ日本語ドキュメントがあんまりないし
302:nobodyさん
06/02/15 08:08:14
仕事では使った事ないけど、遊びで使う時には便利だったな。@windows
DB周りの設定のようなロジックに関係無い部分に気を使う必要がないから、すぐに作り始められる。
3への移行時期あたりに本家のドキュメントを手当たり次第に訳してどっかにうpした記憶があるんだが、URLわかんね。
地道に検索すりゃ見つかるんじゃないかな。
つか、他のDBと比べた時に多少制限があるくらいで、そこさえ押さえておけばあんまり意識する必要がなかったような。
303:nobodyさん
06/02/15 09:19:32
管理用のツールはこの辺
URLリンク(www.debianhelp.co.uk)
304:nobodyさん
06/02/16 08:01:48
URLリンク(rakuto.net)
305:nobodyさん
06/02/18 02:28:12 Fc1AYhHK
AuthをmacのMAMPで使ってみた。
URLリンク(pear.php.net)
の一番上にある最もシンプルなスクリプト実行してみたが、認証できず5時間くらい格闘中。
MAMPではmysqlのポートが8889になってしまうので、$dsn = "mysql://ネーム:パスワード@tcp(localhost:8889)/データベース名"
としてみたが、いっこうに動かず。Authのバグかなこれ??
しかもphp5だとこのスクリプトは動かず、外人どももご立腹な様子。
URLリンク(pear.php.net)
306:nobodyさん
06/02/20 17:00:30
HTTP_Clientでproxy使いたいんですが、どうやればいいんでしょうか
307:nobodyさん
06/02/20 17:31:46 vRXDRBjP
>>306
気のせいだよ
308:nobodyさん
06/02/20 22:23:00
誤爆?
309:306
06/02/24 11:11:37
extendsしたクラスを作って、直接メンバのHTTP_RequestのsetProxyをするクラスを自作しました…
意外と簡単だった
310:nobodyさん
06/02/24 17:52:14
HTTP_Client で new HTTP_Request してる所と HTTP_Request のコンストラクタをちゃんと読んでれば
継承したクラスを作らなくても済んだのに。
311:306
06/02/27 16:21:13
読みました。
出来ました。
ありがとうございました。
312:nobodyさん
06/03/06 13:38:45
QuickFormのdateで月日の範囲指定をしたいのですが、
minYearみたいなオプションはないのでしょうか?
もしくは、それに変わるものみたいな・
313:nobodyさん
06/03/08 17:54:45
HTML_QuickFormのfileってfreezeすると使えないんですか?
314:nobodyさん
06/03/08 17:55:18
ageる
315:nobodyさん
06/03/08 22:51:49
>313
デフォでは何も出ない。
自分で拡張するべし。
316:nobodyさん
06/03/08 23:00:23
>>315
さんくす
考えてみます
317:nobodyさん
06/03/08 23:06:37
PEARにHTMLパーサってありますか?
318:nobodyさん
06/03/09 03:59:13
HTMLを読み込んでDOMを作るようなやつを望んでる?
PEARにはないけど、PECLにひとつあるみたいね。
html_parse
URLリンク(pecl.php.net)
特定のタグをの使用を制限したいとかの理由なら
tidy
URLリンク(pecl.php.net)
SafeHTML
URLリンク(pixel-apes.com)
なんてのがある。(どっちもPEARじゃないね)
319:nobodyさん
06/03/09 15:06:39
PEAR::XML_HTMLSax
320:nobodyさん
06/03/12 16:46:29 UjH0HOBY
こんな日本専用パッケージ通るのか?
URLリンク(pear.php.net)
中身はたいしたことないけど、期待age
321:nobodyさん
06/03/12 16:52:02
コメントで色々言われているけど、
そのコメント自体が結構参考になる。
322:nobodyさん
06/03/12 20:13:55
>>320
imodeはギリギリOKだと思ったが、hatenaは日本のリポジトリに突っ込むべきかと。
(まあAmazonだって全世界サービスとは言えないか)
URLリンク(ns1.php.gr.jp)
これまだなんかね。
323:nobodyさん
06/03/17 00:04:48
livedoorはOKだからはてなもOKじゃないの?
324:nobodyさん
06/03/17 01:36:33
つーか、承認されてるし。達成したという事実はすげーかと。
325:nobodyさん
06/03/28 04:03:40 y/Gmg3I1
DB_DataObjectのjoinAdd()で、
LEFT JOIN hoge_table ON id = hoge_id AND code = hoge_code
のように、2つの要素をANDで指定できますか?
326:nobodyさん
06/03/28 04:34:16
>>325
できない.
プライマリキーがひとつしかないテーブルにしか対応しないと思った方がいいと思う.
(これは joinAdd() に限らず DB_DataObject 全体にそんな傾向がある気がする)
普通の INNER JOIN なら whereAdd() を併用すると何とかなったりするんだけど,
LEFT JOIN は自分も前に頑張ったけどダメだった.
そして言い訳のようにマニュアルには「joinAdd() がややこしくなってきたら
生 SQL 食わせちゃった方がいいっすよ」とか書いてあるw
327:nobodyさん
06/03/28 04:45:36
>>326
散々格闘した挙句、同じく生SQLで解決しちゃいました。
できそうでできないってのが曲者ですな。。
328:nobodyさん
06/03/28 05:35:19
う。生SQLで解決と思ったのですが、別ライブラリとの連携の関係で、
これは解決策にはなりませんでした・・・。うーん。
329:nobodyさん
06/03/28 06:35:46
生 SQL って DB_DataObject::query() 使ってる?
別ライブラリってのがどういうものかわからないけど,
> $t1 = DB_DataObject::factory('hoge');
> $t2 = DB_DataObject::factory('fuga');
> $t1->joinAdd($t2);
> $t1->find();
と
> $t1->query( "SELECT * FROM hoge INNER JOIN fuga ON ( hoge.id = fuga.id )" )
は同値.
前者が複数キーテーブルのせいで実行できなかったとして,
それを後者に置き換えてもそのライブラリの問題ってのが発生するなら,
そもそもその案件に DB_DataObject が使えないってことじゃないかって気がする.
330:nobodyさん
06/03/28 12:02:04
>>329
query() 使ってます。
別ライブラリというのは PEAR Structures_DataGrid です。
これは、こちらが渡した DB_DataObject のオブジェクトを、
追加操作してFetchするため、こちらで生SQLを発行しちゃうと
残念ながら効果がなくなるようなんです。
331:nobodyさん
06/03/28 13:22:07
あちゃあ.なるほど Structures_DataGrid か……
DataObject を継承したクラスを作って,
find() の時にオリジナルクエリを決め打ちで流すようにして,
Structures_DataGrid にはそいつを渡すってのはどうかな?
その場合は,Structures_DataGrid の _detectSourceType() を
get_parent_class() でなく is_a() を使うように変更したらさらに楽にいけるかも.
332:nobodyさん
06/03/28 16:02:45
いやぁ、Structures_DataGrid に DB_DataObject を渡すのは、
Structures_DataGrid に適切なLimitをセットしてもらって、
データ取得件数を最適化してもらいたいからなんです。
だからオリジナルクエリを決め打ちで流すのは効果なさそうだと。
333:nobodyさん
06/03/28 17:47:00
困難やねw
LEFT JOIN とかを適切に行なうビューを create view して
そのビュー用の DB_DataObject を作るってのはどないだ
334:nobodyさん
06/03/28 19:15:53
>>333
なるほど〜 それならできそうな気がします。
335:nobodyさん
06/04/03 15:39:54 mvo6jAJ1
PEAR::Pager で、
URLリンク(sample.com?ID=1&pageID=1)<)
みたいにpageID以外の変数(ここでは ID)をページごとに変える方法ってありますか?
336:nobodyさん
06/04/03 19:48:56
Pager に pageID 以外の変数を管理させたいってことだと違うかもしれないけど,
とりあえず extraVars オプションを使ってみてはいかが.
337:nobodyさん
06/04/06 14:05:03 gNYW2zNb
>>335
とんくすです。extraVarsの解説してるサイトってあまりないんですよね。
value=1 みたいに静的な変数は付加できるけど、value=%dみたいなこと
ができないみたいで…。
338:nobodyさん
06/04/06 14:06:54
>337
pageIDを使うのじゃだめなのか? 何がしたいんだか分からん。
339:nobodyさん
06/04/06 14:28:24
>>337
なんで pageID 以外に同じ値を冗長に持たせたいのかわからん.
単に変数の名前を変えたいだけなら urlVar に 'ID' を指定.
あるいは extraVars で 'ID' の値として $_REQUEST['pageID'] を指定してやるとか.
挙動を変更したいなら Pager_* を継承したクラスを作ってそこでやるとか……
340:nobodyさん
06/04/07 11:36:01
PEAEの日本語マニュアル的な物はないの?
HTML_QuickForm で 「denotes required field」って部分を日本語に置き換える方法って無いでしょうか?
マニュアルがあればこの辺も調べたいんですが・・
341:nobodyさん
06/04/07 13:19:09
この辺は見たのかい?
[PHP-users 23103]QuickForm::addRule() requiredを使用したときに表示される"* denotes required field"を変更したい
URLリンク(ns1.php.gr.jp)
342:nobodyさん
06/04/07 14:14:44
>>341
ありがとうございます!
URLリンク(pear.php.net)
これですね。
$form->setRequiredNote('<font color=red>*</font>は必須項目です。');
って感じで出来ました。
343:nobodyさん
06/04/07 14:17:39
「denotes required field」でぐぐると先頭だったのだが。。。
344:340,342
06/04/07 14:32:22
ごもっとも・・ orz=3
345:nobodyさん
06/04/11 18:36:04
アカウントに認証はありますが、アカウントの作成に関しては何か用意されているのでしょうか?
346:nobodyさん
06/04/14 18:17:06 ztoDRCLM
以前wampp2を使っていて、
今はxamppを使っています。
pear config-show
をすると、ディレクトリの設定などがwampp2当時のままになっていました。
xampp側で再設定するにはどうすればいいのでしょうか?
347:nobodyさん
06/04/14 18:26:29 STB/6fVF
>>346
たぶんパス通ってないだけだよ。
348:346
06/04/14 19:12:42
>>347
ありがとうございます。
古い環境変数を削除して、pathを通して、
再起動させたら、直りました。
batファイル内を見たら環境変数がなければ再設定しているようなので、
環境変数が邪魔していたようです。
349:nobodyさん
06/04/24 01:19:24
ディレクトりの階層をwindowsのエクスプローラみたいに
したいんですけど、pearでそんな都合がいいもんないですかね?
350:nobodyさん
06/04/24 01:26:53
DOMの勉強をしているんですけど、
$doc = new DOMDocument();
$doc->load('test.xml');
var_dump($doc);
これだと、オブジェクトのID返すだけなんですね。
$docがどんな状態かすぐに調べる方法ってありますか?
351:nobodyさん
06/04/24 09:04:54
>>349
再帰glob
352:nobodyさん
06/04/25 23:23:53
ファイルのアップロードをするためのライブラリってあります?
353:nobodyさん
06/04/25 23:40:55
このぐらいは、まずは自分で探そうぜ>>352
URLリンク(pear.php.net)
HTTPでアップロードするんじゃないのなら、その条件を提示
354:nobodyさん
06/04/30 01:25:55 TxzAQxO9
某レンタルサーバー(共有サーバー)で、HTTP_REQUESTを使用したかったんで、
PEARを手動インストールしています。
目的のHTTP_REQUESTは動いたのでいいんですが、
PEAR_infoが動きません。PEAR基本パッケージ?以外に何かインストールしないといけないんでしょうか?
355:nobodyさん
06/04/30 10:12:45 TxzAQxO9
連カキコすません。
Console_Getoptが必要のようだったので、インストールしました。
で、結果は動きません。エラーログすら吐き出さない・・・。
PHP_info.phpにアクセスすると、しばらくたって白紙画面になります。
なにか、案などありませんでしょうか?
356:nobodyさん
06/04/30 11:54:05
手動でモジュール入れたんだったら
そもそもPEAR_Info使ってもしょうがないんじゃね
手動で入れたやつは情報見れんよ確か
357:nobodyさん
06/04/30 12:26:03
propelがわかりやすく開設されたサイトないか?
358:nobodyさん
06/04/30 12:37:11
>>356
レスどもッス。
そうなんすか。手動だとPEAR_Info動かないんだ・・・。
確かに、PEAR_Infoなくても問題ないんですけど、動かないってのがまず気になったのと、
時間がたって、「あれ?なに入れてたっけ?」で確認できたら便利かなと。
必要なモジュールは入ってると思うんだけどなぁ・・・。
359:nobodyさん
06/04/30 12:40:38
prototype.jsベースのajaxライブラリってない?(APIが、RoR互換)
サイボウズの奴見つけたんだけど、メンテしてないようで、prototype.jsが1.4.0だとエラー...
あとAPIが今イチ使いづらい。
360:nobodyさん
06/04/30 12:50:03
>>358
それぞれのファイルでrequire_onceしてるのを辿っていけば良くね?
361:nobodyさん
06/04/30 15:22:45
>>360
Console_Getoptは、その方法で必要ってのはわかったんですけど、
他に必要そうなものが見当たらないんですよね。
ログが出ればわかるんだろうけど、なんでログでないんだろ。
ログは、別のPHPで適当にエラー起こすとちゃんと出るのに・・・。
362:356
06/04/30 21:10:32
>>358
いや、手動で入れたPEAR_Infoが動かない、ってことじゃなくて
手動で入れたPEARモジュールのディレクトリ指定して
PEAR_Infoの一覧にその手動で入れたモジュール一覧って表示できたっけなあと
PEAR_InfoってPEARのパッケージマネージャが作成する
レジストリファイルを参照してどんなPEARモジュールが入ってるかを
表示してたような気がする、、、って書いてて自信なくなってきたや
ええと、手動で入れたモジュールが表示されるかどうかは別として
ただ白紙とか動かんってことは何かミスがあるかと思う
動くのは動くはず
363:359
06/05/01 04:52:20
symfonyのJavascriptHelperが使えそ。
スレ違い、すま
364:nobodyさん
06/05/01 12:43:13
>>362
なるほど。いろいろいじってたら、時々エラーログが出たりする・・・。
ログは、
PHP Fatal error: Maximum execution time of 30 seconds exceeded in /home/httpd/vhosts/ドメイン名/httpdocs/PEAR/PEAR/Registry.php on line 161
で、Registry.phpでエラーが起こってるってことなんすね?
該当の場所は、
function hasWriteAccess()
{
if (!@file_exists($this->install_dir)) {
$dir = $this->install_dir;
while ($dir && $dir != '.') {
$dir = dirname($dir); // cd ..
if ($dir != '.' && @file_exists($dir)) { ←ここが161行目
if (@is_writeable($dir)) {
return true;
} else {
return false;
}
}
}
return false;
}
return @is_writeable($this->install_dir);
}
ん〜どうしたもんかな・・・。
365:nobodyさん
06/05/01 14:47:38
再度、連カキコすません。
PEAR_infoが動かない原因がわかったっぽい・・・。
Info.phpのソースを追っていてわかったのは、
共有サーバーなので、/usr/share/pearにアクセス権がないのが根本的な原因っぽいっす・・・orz
で、pear_info.phpのnew PEAR_Infoのときに、
new PEAR_Info("ローカルインストのPEARディレクトリのパス","????")
に変えてみたら、エラーログは出るようになりました。
で、PEAR_Infoの第2引数は、何を入れればいいんでしょ?
PEAR_Infoの中で、new PEAR_Configのときに必要な引数なんですが、
マニュアルによると、
string $user_file
file to read user-defined options from
なんだそうで。手動インストした場合、なんのパスになるんでしょうか?
366:nobodyさん
06/05/01 23:14:35
なんでメモ帳にしてる奴がいるの?
367:nobodyさん
06/05/02 12:40:26
2chなんて馬鹿でかいソーシャルネットワークメモ帳みたいなもんだろ
368:nobodyさん
06/05/03 21:31:31 V5QcZDri
PEARのDB.phpを使って、以下のスクリプトを繰り返したいのだけど
どうすればいいですか?(sqlite)
while($row =& $result->fetchRow(DB_FETCHMODE_ASSOC)){
print $row[id];
}
ここに一文必要?
while($row =& $result->fetchRow(DB_FETCHMODE_ASSOC)){
print $row[id];
}
369:nobodyさん
06/05/03 22:43:29
>>368
mysqliでしか試してないけど
while($row =& $result->fetchRow(DB_FETCHMODE_ASSOC)){
print $row[id];
}
$i=0;
while($row =& $result->fetchRow(DB_FETCHMODE_ASSOC, $i++)){
print $row[id];
}
370:nobodyさん
06/05/04 02:46:46 q11ggjCH
>>369
できました。ありがとうございました。
371:nobodyさん
06/05/04 13:15:32
HTML_QuickFormでのアップロードは今後推奨されないようなのですが、
HTML_QuickFormを使っている人はどのようにアップロードを実装したらよいですか?
372:nobodyさん
06/05/04 15:40:50
>>371
個人的にはQFを捨てるのがいいと思うけど
QF使ってた時はFileエレメント継承して
自前で拡張Fileエレメントを実装してた
373:nobodyさん
06/05/04 16:10:53
>>372
それ公開してもらえないですよね…?
374:nobodyさん
06/05/04 19:09:05
>>371
枯れてるし、特にこだわりや不具合がなければそのまま使ってもいいんじゃない?
今後っていっても大幅な改良があるか分からんし
結構好きなパッケージだったんだけどな
375:nobodyさん
06/05/04 19:44:11
>>373
公開するほどのもんでもないしさ
推奨されてないとはいえアップロード周りの処理自体は
QFのFileエレメントに元から実装されてるし
普通にFileエレメント使えばいいと思う
ただ元のままではfreezeできんから
そこは拡張したってだけで
376:371
06/05/04 20:53:39
推奨されていない理由ってセキュリティ的な問題ですか?
freezeできないと何が困るかわからないので…
QFの説明をあちこちで読んだのですがfreezeってなんですか?
377:nobodyさん
06/05/04 20:58:07
動いたら撃つぞだっけ?
378:nobodyさん
06/05/04 21:11:33
つまんね
379:nobodyさん
06/05/05 03:45:29
>>372
371じゃないけどなぜQFを捨てた方がいいと思ってる??
他にいいのがあるなら知りたいと思って。
380:nobodyさん
06/05/05 05:12:05
>>378
わからずに死んだ奴もいるんだから、それで片付けるなよ
381:nobodyさん
06/05/05 10:40:02
>>376 >>380
>>377は俺じゃねえw
非推奨なのは将来的にサポートされないからだっけ
freezeは各エレメントのリクエストをhiddenで
埋め込んだ状態にする、確認画面とかで使う
>>379
うーん、多機能なだけに全部QFでやろうとすると
QFのコードがMVCの色んなとこに分散しちゃうような気がする
組み方が悪いだけかもしれないけど
チーム内全員がQFを熟知してるならいいけど
0の状態から完全になじむのには時間のかかるパッケージだと思う
382:nobodyさん
06/05/05 16:48:20
>>381
なるほど。細かい説明サンクス。
確かに学習コストは意外にかかるな。
でもjavascriptを自動で吐いてくれる魅力には勝てないww
fileは、セキュリティ的に問題があるのかと想像していたのだが
そういう意味ではなかったのか。
383:nobodyさん
06/05/06 00:29:52
Maple で Filter_QuickForm なんてのを自作してやってるけど
分散するって感じにはならないなぁ
Filter で QF のオブジェクト自体と画面遷移を管理
エレメントはロジックの方で作成〜みたいな
まぁつまりやり方次第であって QF 使ったら必ず MVC が汚くなるとかそういうことじゃないぞと
学習コストがけっこうかかる点は同意
あとJSを自動で吐く魅力にも激しく同意w
384:nobodyさん
06/05/06 22:04:49
>>383
確かにうちでもMVC的には問題ない
それより何かトラぶった時と、何かちょっとしたことをしようとした時に
調べたり面倒なことが多い。
情報も少ないし。
ところでCSRF対策のトークンをhiddenに仕込んでいるのだが受け取り側で
hiddenだけチェックしてくれないのだけどどうしてる?
385:nobodyさん
06/05/06 22:32:16
情報はもうソース読むしかないってのがちょっとね……
まぁほとんどのPEAR物はそんな感じな気もするけど
> hiddenだけチェックしてくれないのだけどどうしてる?
ビミョーに意味がわからないが
フォームの hidden 要素に初めから固定で値を入れておきたい時は
setConstants() を使って入れてる
……ってそういう話じゃなく?
386:nobodyさん
06/05/06 22:47:00
addRule('hidden')って実装されていないらしいので、トークンの照合ができないのです。
ページ1 hiddenにトークンを入れる
ページ2 sessionのトークンとhiddenから送られて来たトークンが同じものかチェック
これができなかったのです。
387:nobodyさん
06/05/07 02:20:02 dJnoXYUq
数値としてのminとmaxのチェックがデフォルトで無いのはなんとかならなかったんだろうか
388:nobodyさん
06/05/07 11:38:03
>>386
理解した
hiddenの値がどうこうというより,
固定値と入力値との数値比較チェックがデフォルトで Rule として搭載されていないってことね
HTML_QuickForm_Rule_Compare や HTML_QuickForm_Rule_Range をベースに
固定値との比較をするような Rule を作ってしまえば簡単なんだけど
いちいち addRule() するだけでも面倒だよね……
389:nobodyさん
06/05/07 22:28:08
むしろちゃんと説明してなかったかも
CSRF対策のためにチケットを発行し、そのチェックをしたいのです。
1. ページ1でチケットを発行。セッションとページ1のhiddenに埋め込む
2. ユーザがPOSTする
3. セッション内のチケットとPOSTされたきたhiddenのチケットが同じであるかどうか
の照合をしたい
ということです。
addFormRule() を使うという手もあるかな?
うーん、よくわかんない...
390:nobodyさん
06/05/07 23:03:47
>>389
たぶんその通りに理解できてると思うが.
addFormRule() なら何でもアリだね.
create_function('$values', 'return $values["ticket"] == $_SESSION["ticket"]')
みたいのを addFormRule() する,と.
(テキトーに書いたので動かして確認はしてません)
391:nobodyさん
06/05/07 23:15:10
>>390
早速試してみましたができませんでした…
マニュアル読んでもaddFormRule()の使い方がわからんのですよね。
引数のmixedはどう使うのかと…
392:nobodyさん
06/05/08 00:01:43
ソース見てやっとわかった。
マニュアル見ても書いてないんだもんなー。
結局ソース読まなきゃいけないという学習コストの高さはやっぱりたまにキズだな
addFormRule
* @param mixed Callback, either function name or array(&$object, 'method')
オブジェクトとメソッドで渡せるようだ
393:nobodyさん
06/05/08 07:44:43 ZvSis4Rx
URLリンク(hatotech.org)
394:nobodyさん
06/05/08 08:17:28
流れぶった切ってすまんが、ドキュメントの有無も
そうなんだけど、Pear パッケージはテストを必ず
つけろってルールにしてくれんかなと思う。
CPAN とのいちばんの違いはもちろん量だけど、
質の違いはテストの有無に起因するんじゃないかと
思う今日この頃。
395:nobodyさん
06/05/08 11:24:03
>>393
Thanx. かなり検索しているけど知らなかったいい資料ですね
tokenのvalidateもfreezeするとhiddenに前のtokenが入ってしまうという
また面倒なことになった
あー、QFってこういうところマンドクセ
396:nobodyさん
06/05/08 12:54:43
>>394
ん、テストは各パッケージについてるよ
397:nobodyさん
06/05/08 18:05:21
>>394
テストあるっつったって、ただのスケルトンの場合も多し>CPAN
398:nobodyさん
06/05/11 13:30:14 0g4oanFp
Spreadsheet_Excel_Writerについての質問です。
(平行してPHP質問スレッドにもマルチしてます。)
・・・微妙に質問内容が違うってことで容赦いただければと思います。ゴメンナサイ。
Spreadsheet_Excel_Writerで、データを落とし込んだファイルにパスワードをつけることはできますか?
要はSaveAsメソッドの設定ができるかどうかってことなのですが・・・
どうにも資料が見当たらないので、何か情報をお持ちの方がいらっしゃったら教えてください。
399:nobodyさん
06/05/11 14:31:52
ソース読んだらいいじゃない。
400:nobodyさん
06/05/11 15:45:09
>>398
ないよ
xlsのファイルフォーマット解析して自分で実装
401:nobodyさん
06/05/11 17:32:00
分からないなら答えなくていい
402:nobodyさん
06/05/11 17:48:52
【意味無し黄金パターン】
質問掲示板に
↓
質問する
↓
「自分で調べろ」
【意味無し黄金パターン その2】
質問掲示板に
↓
質問する
↓
「ソース読め」
403:nobodyさん
06/05/11 18:38:40
>>402
どっちも同じだろ
得意げに知ったかぶりやがってワロス
404:nobodyさん
06/05/11 20:31:52
「PEAR入門」に乗っているQuickForm_Controllerの
wizard.phpの住所のところが文字化けする。
不思議なのは、addressをすべてaddress1とかに変更すると
なぜか直ること。
日本語関係だったらまだわかるんだが。
405:nobodyさん
06/05/11 21:18:03
ソース読んだらほんとにすぐにわかることって多いですよ。
初心者でもトライしてみる価値はあるんじゃないでしょうか。
とか書いてみるテスト
406:nobodyさん
06/05/11 21:21:19
>>405
いや、それマジで勉強になるよ。初心者こそやるべきだと思う。
スポーツの世界でもよく言うが、「見るのも勉強」ってほんとだと思う。
それに、書いてあることが解るようになるとなんだか嬉しいし。
407:nobodyさん
06/05/11 21:35:10
じゃあLinuxのソース読んでバグさがしてくれ。
408:nobodyさん
06/05/11 21:40:27
>>407
お前のような奴がいるからペチパーは馬鹿にされるんだよ・・・。
409:nobodyさん
06/05/11 21:42:53
ピーチクパーチクうるせーぞ
410:nobodyさん
06/05/12 07:32:16
>>407
CのソースでもPHPのソースぐらいならたまに見るけどLinuxは見る気もしないです
411:nobodyさん
06/05/12 14:15:54
ビーチクビーチクなめてーぞ
412:nobodyさん
06/05/12 14:26:06
>>398
そもそもファイルにパスワードを付ける必要性は?
それぞれにパスワードつけて管理できんの?
つーかファイルにつけなくてもいーんじゃね?
そんな大事なもんだったら別の面でセキュリティ考えた方がよくね?
とかどうだい
413:nobodyさん
06/05/12 19:18:04
>>412
念には念つー意味じゃありじゃね?
414:nobodyさん
06/05/13 15:23:27
Spreadsheet_Excel_Writerてもうメンテしてないんじゃなかったっけ
と思って見に行ったら年末にbetaが出てたのね
415:nobodyさん
06/05/15 01:18:18
PHPで片っ端からパスワード試すスクリプトでも書けば突破できそうな悪寒。
416:398
06/05/15 10:16:25
念には念を。で正解だと思います。
・・・必要性も何も客の要望なんだもん。というのがSEの見解。
なんだか知らんがお客様のこだわりのポイントだそうです。orz
管理画面にアクセスするのにIPで制限をかけ、ログインするのにパスワード認証を行い
ファイルを落とすのに権限で制限をかけ、落としたファイルにパスワードをかける。と。
個人情報がどーだこーだといわれる時代ですから。
417:nobodyさん
06/05/15 15:27:53
まったく使ったことないけどWorksheet::protect()は?
418:nobodyさん
06/05/17 23:56:50
SSL証明は使わないんだね。何か根本的な所がダメな感じ。
419:nobodyさん
06/05/18 11:32:52
更新ping を送信、受信する専用パッケージってないですよね?
XML_RPCかな。
420:nobodyさん
06/05/20 11:06:26 FxboaxWW
PEAR::DBで、
$res = $db->query($sql);
if (DB::isError($res)
…
と記述して、クエリの実行時エラーを検出しようとしているのですが、
例えば、$sqlに存在しないテーブルへの参照クエリを設定して実行しても、
$resにはDB_Resultが返されます。
$res->fetchRow()するとDB_Errorが返ってきます。
var_dump($res)すると、$resに格納されているDB_Resultの['result']に
DB_Errorが格納されています。
これって仕様なのでしょうか?
PHP 5.1.2
MySQL 5.0.19
421:nobodyさん
06/05/21 00:35:31
>>420
そうです。マニュアルぐらい読んだらどうかね
422:nobodyさん
06/05/21 08:53:10
>>421 いい加減なこと書かないで下さい。
自己レスですが、PEAR::DBのバージョンが古かったようで、
最新バージョンに上げてもらったら本来の動作になりました。
423:nobodyさん
06/05/21 22:20:02
>>422
いいかげんなのはお前。
自分でググレ。
このスレで質問なんかするな。
>>1-1000 全員な。
424:nobodyさん
06/05/22 00:15:18
>>422
こいつはひどい。釣りにしてもヒド過ぎるレスだ。
425:nobodyさん
06/05/22 10:50:10
PHP使ってる香具師って頭悪いなあ。
426:nobodyさん
06/05/22 12:40:43
ゴメンヨ・・・
427:421
06/05/22 20:39:50
初心者が背伸びしたかっただけなんだよ!
それをガタガタといちいちケチつけやがって!
初心者をなめてんじゃねーぞ!
かかってきやがれゴルア!
428:nobodyさん
06/05/22 21:20:35
ここは初心者を袋叩きにするスレですか?
429:nobodyさん
06/05/23 03:59:01
>>425
ぜひ頭いいとこ見せてください!
430:nobodyさん
06/06/02 09:48:05
phpspotの中の人が書いた本とか、このスレとか読んで
ADOdbを使おうと思うのですが、
> ADODBの最強な点はダイナミックリンク可能な点
この“ダイナミックリンク”って具体的に、どういう使いかたですか?
431:nobodyさん
06/06/02 11:54:14
adodbはPEARではないという件に関して
432:nobodyさん
06/06/04 19:58:04
HTML_QuickForm で1つのページに<form> </form>を2つ置きたい場合は、
どうすればいいのでしょうか?
$form = new HTML_QuickForm('Test1', 'post');
$form2 = new HTML_QuickForm('Test2', 'post');
とやってみましたが、何か違うような気がしてきました。
433:nobodyさん
06/06/04 20:07:36
それでいけるはずだけどな
434:nobodyさん
06/06/05 11:36:25 Wgk7hZcJ
PEAR::DBのプレースホルダ ? の自動クオートってquotesmart()じゃないの?
ソース読んでる方おしえてくださいませ
435:nobodyさん
06/06/05 13:00:34 82tWBB6m
PEARをインストールしたいのですが、c:\php\go-pear.batを実行しても
ダンマリになります。何か考えられる原因が有ればおしえていただけ
無いでしょうか。。。
DOSプロンプトで
> CD c:\php
で移動して、
> go-pear.bat
でEnterを押しています。
Enter押下後に、何も表示されずダンマリ。
何分待っても(1時間は待ちました)なにも表示されないので
Ctrl+Cで強制終了。
環境は、WindowsXP SP2、PHP5.1.4です。
436:nobodyさん
06/06/05 13:12:43
普通にネット繋がってないとか?
437:nobodyさん
06/06/05 14:06:54
セキュリティソフトとか?
438:nobodyさん
06/06/05 16:15:22
普通にファイヤーウォール機能が有効になってるんだろう。SP2だし。
許可しないと接続できないよ。
やりかたはウィンドウズ板で訊くか、メーカに訊くか、マイクロソフトにでも訊いてくれ。
439:435
06/06/05 20:29:10
SP2のファイアウォール忘れていました…
ひとまず go-pear.php というのがあったのでそちらを試したところ
インストールできました。
440:nobodyさん
06/06/06 07:42:26
go-pear.batの中身みた?
441:nobodyさん
06/06/06 17:56:12
Net_CDDBってご存じないですか?
CDDBを利用出来るPEAR用のライブラリがあるとのことで
ダウンロードして利用を試みているのですが、全く参考文献がないし
そもそもどのように使うライブラリかわかりません。。
ご存じの方は、どうやってCDDBにアクセスして出力するか
教えていただけないでしょうか?
442:nobodyさん
06/06/06 20:09:51
>>441
Net_CDDBはalpha版なんだよ。
alpha版ってのは開発途中で脆弱性なんかもはらんでいるし、
ある程度わかってる人間が試用してバグなんかをフィードバックするもんなんだよ。
>ダウンロードして利用を試みているのですが、全く参考文献がないし
>そもそもどのように使うライブラリかわかりません。。
というような段階なら今はやめておいた方がいい。
それでも使いたいなら
URLリンク(pear.php.net)
を読んで頑張れ。
443:nobodyさん
06/06/06 20:10:22
そもそもCDDBってあんまり信用性ないけど大丈夫な用途なの?
444:nobodyさん
06/06/06 20:58:04
見た感じCDのdiscid?からデータを取得してるみたいだけど。
アーティスト名やアルバム名とかからも検索出来ないとあんまり使い道ないんじゃないの?
445:nobodyさん
06/06/06 21:39:57
CDDBの有用性や用途自体はここで議論する内容じゃないな
446:nobodyさん
06/06/07 00:13:00
あきらかに思いつきでCDDBに飛びつこうとしてる様には見える。
地道に手でデータ入力しないと使い物に成らないことは多い。
447:nobodyさん
06/06/07 01:37:05 y49n2VPp
>>430
adodb-extのこと
エンジン部分がcで書かれてる
448:nobodyさん
06/06/07 09:50:37
>>447
>>430ではないが、その拡張を使ったらどの位早くなるか知ってる香具師いる?
449:nobodyさん
06/06/07 12:02:25 L3b4rYZL
すみません。ちょっと、教えて下さい。PEARでMDB_QueryToolを使っている
のですが、あるSQL文を書くことが出来ないので、どなたか教えて頂きたい
のです。Tcustomerテーブルから、pointフィールドが「3か4か5」のものを
抽出しようとして、下記の文をPHP5で書きました。
$Tcustomer = DB_Factory::create( 'Tcustomer' );
$Tcustomer->addWhere(' point in ( ? ) ','3,4,5');
そうすると、pointフィールドが「3」のものだけが抽出され、「4」と
「5」のものは抽出されないのです。普通にSQL文で書けば、
select * from Tcustomer where point in (3,4,5);
とすれば良いのですが、どうしてもここはPEARのMDB_QueryToolで書かな
ければならない状況なのです。どなたかPEARのMDB_QueryToolでの書き方
を教えて頂きたく存じます。宜しくお願いします。
450:nobodyさん
06/06/07 13:25:11
DB_Factoryって自作のクラス?
そこはよくわからんのだけど、単にMDB_QueryToolのインスタンスを返してくれるとして、
MDB_QueryToolのaddWhereは
function addWhere($where , $condition='AND')
{
if ($this->getWhere()) {
$where = $this->getWhere().' '.$condition.' '.$where;
}
$this->setWhere($where);
}
となってるから、
$Tcustomer->addWhere(' point in ( 3,4,5 )');
と書けば上手くいくと思う。
どうかな?
451:nobodyさん
06/06/07 21:13:32 Ho01fxGO
>>450様
>>449です。出来ました!!ありがとうございます。
452:nobodyさん
06/06/09 20:53:34
少し質問させてください。
現在ファイルのアップロードが行える掲示板系のシステムをPHPで作成しています。
プログラム自体はそんなに苦労していないんですが、ひとつ付け加えたいものがあって悩んでいます。
大容量のファイルをアップロードする際、アップロードが終わらないと別の処理ができません。
そこで、「現在アップロードをしている」ことをわかりやすくするために、HTML_Progressを使ったポップアップウインドウで実現しています。
しかし、サンプルサイトをみても「総容量に対し、どれだけアップロードできたか」の進捗状況を表示するのではなく、
アップロードが終わるまでアニメーションを行い、アップロードができたらストップさせる形でした。
これを、「総容量に対し、どれだけアップロードできたか」の進捗状況を表示するようには、どうすればいいのでしょうか。
また、アップロードを行うフォームはHTML_QuickFormを使っているのですが、
アップロード中にブラウザを中止させたり、閉じたりした場合、進捗バーが止まらず、見かけ上常にアップロードしているように見えます。
できることなら、アップロード中にブラウザ側でなんらかのエラーが起きてアップロードができなくなったとき、
進捗バーを止め、エラーを表示したいのです。
アップロードに使っている関数はHTML_QuickForm_File::moveUploadedFileです。
この関数ではアップロードが「できた」か「できなかった」かの状態が取れるはずなのですが、
ブラウザからの中断には対応していないのでしょうか。
長くなりましたが、お答え願えれば幸いです。
最後に、もうひとつ質問なのですが、同システムをPerlでやろうとした場合、
PHPで行うより簡単になりますか?
453:nobodyさん
06/06/09 21:06:47
>>452
すれ違い
454:nobodyさん
06/06/09 22:35:31
>>452
URLリンク(uber-uploader.sourceforge.net)
455:nobodyさん
06/06/09 22:38:54
>>452
ぐぐれば腐る程サンプルでてくるよ
456:nobodyさん
06/06/11 15:11:27
>>453
すみませんでした。
457:nobodyさん
06/06/12 02:35:54
HTML_Quick_Form_Controllerが何もうれしくない件について
URLリンク(pear.php.net)
これ理解するくらいなら、自分でコントローラ作った方がマシじゃない?
使ってるやついたらHQFCのいいとこを教えてくれ。
458:nobodyさん
06/06/13 00:45:56
世の中には自分で作れない馬鹿も存在するし(w
459:nobodyさん
06/06/13 00:49:11
コントローラを自分では作れないけど
この小難しい HQFC を理解して使える……ってのも
馬鹿の程度がかなーり微妙だよな
460:nobodyさん
06/06/13 02:26:47
>>459
同感。
小難しい HQFC を理解して使える馬鹿の登場を待とうか。
なんて、あおってみたりするテスト
461:nobodyさん
06/06/13 09:36:39
PEARってなんて読むの
462:nobodyさん
06/06/13 09:48:21
ドンブリ
463:nobodyさん
06/06/13 12:09:51
>>462
嘘教えちゃだめでしょ
>>461
クスコ
464:nobodyさん
06/06/13 12:36:45
>>461
サルスベリ
465:nobodyさん
06/06/13 13:15:57
Perl使いはPEARと書いてうんことよみます
PHP使いはPEARと書いてピアーとよみます
466:nobodyさん
06/06/13 15:37:05
ピアーだとpeerだけどね。和製英語じゃ恥ずかしいよ。
467:nobodyさん
06/06/13 16:31:37
洋ナシのことだから
ペアーでいいんじゃない
468:nobodyさん
06/06/13 16:33:31
どんなオチが来るのかと思ったら、普通に言っちゃったね・・・
469:nobodyさん
06/06/13 17:48:06
用無し
470:nobodyさん
06/06/13 19:04:20
誰がうまいことを言えと
471:nobodyさん
06/06/14 11:24:21
ペアはpairだが。ここの住人は英語が使えないな。
472:nobodyさん
06/06/14 12:05:34
きのうの昼下がり、対向車とすれ違うのが難しい狭い道路でのできごと。
対向車と鉢合わせ(↓な感じ)
_______/ ̄\____
●→ ←●俺
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
_______/ ̄\____
●→ ←●俺
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
_______/ ̄\____
● ●俺
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
_______/ ̄\____
● ●俺
| ( _●_) ミ
_______/ ̄\____
/ ● ● |
| ( _●_) ミ
∩___∩
| ノ ヽ
/ ● ● | ベア─!!
| ( _●_) ミ
彡、 |∪| 、`\
/ __ ヽノ /´> )
473:nobodyさん
06/06/14 16:59:31
アイアムヒアー
474:nobodyさん
06/06/14 19:17:59
>>471
片仮名だとそれ以外言い方なかろう
475:nobodyさん
06/06/15 10:33:44
くるくるパー
476:nobodyさん
06/06/15 13:37:41
んで結局ピアー、ペアーどっちなの?
477:nobodyさん
06/06/15 15:02:27
>>476
URLリンク(pear.php.net)
> 果物の梨と同じように(「ペア」と)発音します。
梨↓
URLリンク(dictionary.goo.ne.jp)
478:nobodyさん
06/06/15 15:05:14
漏れは ペア 派
479:nobodyさん
06/06/15 15:49:12
激しくDDI
480:nobodyさん
06/06/15 18:03:54
漏れは今poorだ。金くれ。
481:nobodyさん
06/06/15 18:16:56
480 nobodyさん sage 2006/06/15(木) 18:03:54 ID:???
漏れは今poorだ。金くれ。
482:nobodyさん
06/06/15 21:20:04
Spreadsheet_excel_writerを試用してるんですが、
セルに数値を入れるときカンマ区切りで表示する方法ないですかね?
NumFormatでもできないようなので、PHP側でnumber_formatして
代入しているのですが、office2003のexcelで開くと
文字列として認識され激しく鬱です。
当然関数も使えなくなりますし…
483:nobodyさん
06/06/15 22:42:31
>>482
void Format::setNumFormat (integer $num_format)
484:482
06/06/15 23:35:37
>>483
恥ずかしながらそのメソッドのマニュアルを見ても、
カンマ区切りのやり方が思いつかないんですが・・・。
ソース読まなきゃだめですか?
485:nobodyさん
06/06/16 03:02:14
PEARのライブラリって、Zendの人が作ったものの割合はどれくらいなんだろう?
なんかもうひとつイマイチなものが多かったりするんだが、
Zendの開発力ってあの程度のものなのかな。
486:nobodyさん
06/06/16 03:34:33
PEARの人って、
・元々PHP本体や拡張やってた人
・Zendの人でPHPの本体、特にZEやってる人
と余りかぶってない気がする。PECLの方は、元々は
拡張でやってたのをPECLに出したものが多いけどね。
487:nobodyさん
06/06/17 13:02:44
あれ、pear.php.netの鯖おちてるぞ
488:nobodyさん
06/06/17 15:04:46
>>487
日常茶飯事だからいちいち報告しなくてもいいよ。
489:nobodyさん
06/06/18 15:11:03
php使ってるからね。
検索エンジンが来たら落ちます。orz
490:nobodyさん
06/06/19 16:42:02
いつの間にかHTML_QuickForm2なんてのがある
491:nobodyさん
06/06/19 16:46:27
>>490
なにーーーーー
1との互換性はあるのか?
ファイルのアップロードはサポートされるのか?
ちょっといってくる
492:nobodyさん
06/06/19 17:09:57
URLリンク(pear.php.net)
The package development is currently in planning stage.
...orz
待つか
493:nobodyさん
06/06/19 18:02:43
1と同じ機能らしいけどどうだろ
欲しい機能ある?
one time token実装して欲しいなー
494:nobodyさん
06/06/21 12:59:40 af4RZ/Sl
MAC OS 10.4でpearをインストールするためにコマンドを打ち込むと
Warning: touch(): Unable to create file /usr/lib/php/.lock because Permission denied in Registry.php on line 284
could not create lock file: failed to open stream: No such file or directory
というエラーが出てしまうのですが、どこのパーミッションを変えればよいのでしょうか?
495:nobodyさん
06/06/21 13:20:26
/usr/lib/php/ ディレクトリか、
/usr/lib/php/.lock のファイルのどちらか。
まずは .lock を消して試すことだね。
496:nobodyさん
06/06/21 19:17:43
レンサバでPEARを使うにはどうすればいい?誰か教えて
497:nobodyさん
06/06/21 19:40:50
>>496
管理にお願いするか
自分で書き込めるディレクトリ(DocumentRoot外が望ましい)に手動で置いて
includ_pathを通す。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4346日前に更新/213 KB
担当:undef