トップページ⇒php
981コメント318KB

【PHP】PEAR Part2

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/08/01(月) 21:27:12ID:pG+mahP3
落ちてたんで立てとく

■PEAR
http://pear.php.net/

■前スレ
Pear
http://pc8.2ch.net/test/read.cgi/php/985665522/
0651nobodyさん2006/12/30(土) 15:43:46ID:???
>>649
Javascriptをオフにしてる人もいると思うんで

>>650
鯖落ちてたっぽい
0652nobodyさん2006/12/30(土) 15:49:39ID:???
>Javascriptをオフにしてる人もいると思うんで

っていう言い訳よく聞くんで鵜呑みしてたけど、
Google Analytics使うようになって、そういう人が2%くらいだって
知ったので、なんか微妙…。切捨てちゃってもいいかなぁ…て最近思う。
0653nobodyさん2006/12/30(土) 20:25:05ID:???
>>652
わかってて切ってるやつがほとんどだから、noscriptで注意書き書いて切り捨てればいいだろ
0654nobodyさん2006/12/31(日) 00:13:26ID:???
>>652
仮に2%の人がjsを切っていたとしたら
一万人の会員がいるサイトの場合200人は意図しない動作をさせる可能性があるわけで。
もし1ページ目に戻されたユーザーがもう一度送信したら困るっしょ。
クレームの処理は金と時間がかかるから(ry

>>653
フォームに毎回noscriptで注意書き書くくらいならサーバーサイドで処理した方がスマートでは?

で、一応できました。
ページを一つ多くして最後のページの中から
$this->handle('process');
みたいにプロセスを呼び出せば最初のページに戻されない。
もっといい方法ないすかね・・・
0655nobodyさん2006/12/31(日) 15:32:47ID:???
jsが動かなくしてるブラウザを使ってる香具師も居るからねえ。
おまいのサイトでは2%でも世の中のサイトが2%とは言えない。
0656nobodyさん2006/12/31(日) 23:56:13ID:ZQTWDF0T
http://pear.php.net/ が見えないよ。
楽しくプログラム書いてたのに、足りないコンポーネントがだうんろーどできないよ。
かなしい。
0657nobodyさん2007/01/01(月) 00:26:17ID:???
>>656
普通に見えるよ!
0658nobodyさん2007/01/01(月) 06:05:26ID:QzpvCD4L
pear upgrade-all すると

Fatal error: Call to undefined method
PEAR_PackageFile_v1::getProvidesExtension()
in /usr/share/php/PEAR/Downloader/Package.php on line 963

って怒られるんですが・・・どうすりゃいいでしょうか?
Debian GNU/Linux etch です。
06596582007/01/01(月) 06:10:53ID:QzpvCD4L
http://www.pear-forum.de/ftopic1468.html
ここの情報をさんこうに、Auth だけ別に
pear upgrade Auth したらウマくいきました。
何が起こってたんだろうか。
0660nobodyさん2007/01/01(月) 06:13:32ID:QzpvCD4L
ところで、PHP スクリプトを php script.php として実行した場合、
その戻り値はどうやってきめているのでしょうか?
06616602007/01/01(月) 06:20:42ID:???
exit(123) でいいんですね。
0662nobodyさん2007/01/06(土) 16:31:13ID:sgvu7Tt8
PEARの自動インストール環境って何かが大きく変わったのでしょうか?
欲しいパッケージがことごとくinstall failedになって、
list-allしたらWarningで「channel -update pear.php.net」しなさいみたいに言われた気がしたので
「pear channel -update pear.php.net」ってやったら
「Update of Channel "pear.php.net" succeeded」と成功したかの様な表示がされました。

でも、その昔「pear list-all」の結果を保存した時にはファイルサイズ40kくらいあったのに
今は17kで、MDB2_Driver_pgsqlとかXML/Parserとかが見当たらない…。

何がどーなったの?何をどうしたらいいの?(;;)
0663nobodyさん2007/01/06(土) 16:47:56ID:sgvu7Tt8
list-upgradesしたらArchive_Tar、Console_Getoptがupgrade可能と表示されました。
さっきlist-allした一覧を眺めていたら、
PEAR自体も新しいの(1.5.0RC2)が出ている様子(今1.4.11)。
その昔installしたArchive_Tar、MDB2、MDB2_Driver_mysql、XML_RPCは
一覧上ではLATESTのバージョン値が表示されていないの。

とりあえずPEARをupgradeしたら全て元通りになるのでしょうか?
06646602007/01/06(土) 18:25:39ID:???
Debian 使ってる俺もなんか変になった。
アップグレード対象になっているパッケージを
落ち着いてひとつひとつ指定してアップグレードしたら
正常になったっぽい。
0665nobodyさん2007/01/06(土) 22:48:10ID:sgvu7Tt8
tgz落としてきて半自動インストールで対処できました。
list-allしたリストにも追加されてるし、
完全自動インストールしたのと変わらない?っぽい状態になったのでいいかな、と^^;
お騒がせしましたm(_ _)m
0666nobodyさん2007/01/10(水) 23:24:01ID:MZg1Wlme
ちょっと質問させてください。
今、生まれて初めてQuickFormを使ってるんだけど、
レンダラ(HTML_QuickForm_Renderer_Default)を用いてHTMLタグをカスタマイズする際って
デフォルトの出力HTMLテンプレートを丸ごと書き換えるしかないの?

固定テキスト(static)の文字色を赤にしたいだけなんだけど
「赤にするタグを追加」みたいな加えていくとかできなくて、
デフォルトのHTMLコードを全部手打ちした上で赤にするタグを追加する、でFAでつか?
0667nobodyさん2007/01/11(木) 11:40:36ID:???
Defaultレンダラならそうじゃないかな
だからArrayレンダラなりArrarSmartyレンダラなり
使うのが常套手段じゃないかな
06686662007/01/11(木) 12:25:16ID:???
ご返答ありがとうございます。
まずは基本・・って事で参考にしている書籍にならってDefaultレンダラを使い始めましたが
Arrayレンダラ等なら望みが叶うって事なのですね。
Arrayレンダラ等については書籍には書いてなかったのでマニュアルをあたってみます。
ども。

>>666
自己レスですが、\PEAR\HTML\QuickForm\Renderer\Default.phpを開いて
該当HTMLタグをコピペすればさほど手間ではなかったです。
0669nobodyさん2007/01/12(金) 15:41:32ID:???
MDB2(MySQL)についてなんですが
DBパッケージでいうプレイスホルダ的な事はできないんですかね?

このように(↓)書いてみたのですが、
 $sql="INSERT INTO `user` (user_account, user_password, user_mail) VALUES (?,!,?)";
 $affected =& $mdb2->exec($sql, array('$tmp_account', '$tmp_pass', '$tmp_mail'));
 if(MDB2::isError($affected)) die('失敗:'.$affected->getDebugInfo());
  (※元ソースは長いので要素の数とかを適当に省きました)
こんな(↓)エラーメッセージが返ってきてしまいますorz
 Error message: Could not execute statement
 Native message: 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 '?,!,?)' at line 1

syntaxがどうのこうのって書いてあるので、このやり方はダメないのかなと・・・
ちなみにプレイスホルダ使わないで書いた方では正常に動作してます。
よろしくお願いします。
0670nobodyさん2007/01/12(金) 17:36:36ID:2nrbZFx0
すいません、PEAR Mail_Queueの質問です。ご存知の方がいれば教えてください。

Postgresqlにてmail_queue、mail_queue_seqテーブルを作成して、キューを追加しようとしてる
のですが、下記のようなエラーが出てしまいます。

$result=$queue->put("[email protected]","[email protected]",$headers,$body);

Mail Queue Error: unknown error [userinfo] => Cannot create id in: mail_queue
- FILE: /usr/share/pear/Mail/Queue/Container/db.php, LINE: 192

idが生成できないよといっているようなのですが。PostgresにてMail_Queueって難しい
のでしょうか?ご存知の方がいれば教えてください。
0671nobodyさん2007/01/12(金) 19:18:47ID:???
標準のMySQL関連の関数よりも便利?
0672nobodyさん2007/01/12(金) 20:44:16ID:???
>>669
http://pear.php.net/manual/ja/package.database.mdb2.intro-execute.php
MDB2はprepareしてからみたいね
06736692007/01/13(土) 14:01:31ID:???
おぉ!プリペアドステートメント!
参考にしてるDBレイヤの解説ではプレイスホルダとは分けて説明されてたのでスルーしてた(汗
このプリペアド経由のプレイスホルダも内部でエスケープ処理されるのかな。
早速試してみようと思います。
ありがとうございました。助かりました。
06745512007/01/13(土) 20:07:08ID:???
HTML_QuickFormの
”日付のセレクトボックスの生成”
dateフォーム使ってる人います?
年しか初期値設定できなくて微妙なんだけど・・・

setDefaultsで無理やり設定する方法とかありませんか?
0675nobodyさん2007/01/13(土) 21:35:24ID:???
>>674
setDefaultsでdateエレメントの初期値にY,m,dみたいなキーの配列で設定できるはず
UNIXタイムスタンプでもおk
06765512007/01/14(日) 17:44:09ID:???
>>675
ありがとうございます!
dateは便利でどうしても使いたかったので
助かりました!
0677nobodyさん2007/01/16(火) 06:37:44ID:???
PHP の拡張って Windows 上では開発できないんだろうか。
いま Linux 上で phpize などを使って拡張を作ってるんだけど、
Windows 上の PHP で使えるバイナリくれといわれて途方に暮れる。
Windows には phpize も autoconf も m4 もないし・・
Cygwin で作るの?
0678nobodyさん2007/01/16(火) 06:46:23ID:zR0oRC8J
うむむしかし PECL for Windows なんてのがあるようだぞ?
Creating Extensions の vijay によるコメントでは
http://php.benscom.com/manual/en/zend.creating.php
config.js が用意されていて、m4 で記述された config.m4
の代わりに JavaScript (JScript ?) で記述された
config.w32 が必要なのだそうだ。いずれにしろできないことはないらしい。
0679nobodyさん2007/01/18(木) 01:48:09ID:3ixzqDHl
すいません、ちょっとお知恵をお借りしたいのですが。。。

HTTP_Clientにて

$client =& new HTTP_Client();
$client->get($url);
$response = $client->currentResponse();

こんな感じで、指定URLでのレスポンスが取得出来ると思うのですが
取得した先のURLを得ることは可能でしょうか?
0680nobodyさん2007/01/18(木) 02:08:14ID:7qn+G2a8
echo $url;
0681nobodyさん2007/01/18(木) 09:59:01ID:???
PEAR DBについてなんですがデータベースへの接続に失敗します

echo "1";
$this->db = DB::connect($dsn);
echo "2";

if(DB::isError($this->db)){
$this->error = $this->db->getMessage();
return false;
}

とかやっても 2 が出る前に死んでしまって何も表示されません
どんな原因が考えられるでしょうか?詳しい方ご教授お願いします
0682nobodyさん2007/01/18(木) 10:51:18ID:???
>>681
・$dsnが通ってない
・$this->db=&DB::connect($dsn);じゃない?
06836792007/01/18(木) 11:15:02ID:???
>>680 さん

すいません、説明が足りませんでした。
$urlに入ったURLで別のページにリダイレクトされるのです。
そのリダイレクト先のURLを取得したいなと思っています。

リダイレクト先のBODYは取得できるのですが。。。
0684nobodyさん2007/01/18(木) 16:56:34ID:???
>>683
http header でリダイレクトされるんなら $response['headers']の中に入ってんじゃね?
metaタグなら$response['body'] の中を探すしかないだろうね。
0685nobodyさん2007/01/18(木) 18:29:17ID:???
PEAR:Authを使って、ユーザ認証させようとしています。
ストレージドライバがDBの場合は、問題なくできていました。
が、今回、Fileを使う必要がで出てきたんですが、これがうまくできません。

$params = array("type"=>'Cvs',"file" => "/hoge/hoge/passwd.txt");
$mymyAUTH = new Auth( "File", $params, "myLOGIN" );
$mymyAUTH->start();
$loginStatus = $mymyAUTH->getAuth();
としてるんですが、AUTH_WRONG_LOGINが戻ってきます。

passwd.txtの中身は、File_Passwdにあったデフォルト、
ユーザ,パスワード
にしてます。
パスワードは、md5ではダメで、
File_Passwd_Cvs::generatePassword( $_POST[ 'passwd' ] );
でもダメでした。。

ぐぐっても、AuthはDBについての情報は多いけど、Fileの情報は見つけきれま
せんでした。

0686nobodyさん2007/01/18(木) 18:59:50ID:???
username,password って、 その形式は CVS ではなくて CSV ではなかろうか。
書式を直すか、type'=>'Cvs' の代わりに Authbasic、Authdigest、Custom、Smb、Unix のどれかを使ってみたら?
どのみち書式もそれに合わせる必要があるけど。
0687nobodyさん2007/01/18(木) 19:10:14ID:???
>>685
か、か、解決しますた!!
$mymyAUTH = new Auth( "File", $auth_params );
$res = $mymyAUTH->addUser( $_POST[ 'user' ], $_POST[ 'passwd' ] );
で、ユーザー登録したら、認証できた。

ということでお騒がせしますた。
0688nobodyさん2007/01/20(土) 14:44:06ID:???
カンマセパレートバリュー。
0689nobodyさん2007/01/24(水) 21:46:52ID:cqEVnQIF
age
0690nobodyさん2007/01/25(木) 13:17:04ID:diFouhBc
PEARってなんで大文字なんだよ!
ホントうんこすぎ
pearのライブラリをディレクトリに移動しようとしたら小文字のファイルにリネームしちまうし、
php.iniはみにくいし、そこでのincludepathも大文字小文字間違って書き直しだし
もう氏ねやうんこ言語
0691nobodyさん2007/01/25(木) 13:28:10ID:???
>>690
それは鯖がクソなだけ。
0692nobodyさん2007/01/25(木) 14:08:06ID:???
ファイル名のケースを区別するかどうかなんて
PEARやPHPどころかOSの問題じゃん
これをプログラム言語のせいにしてる奴とかもう呆れる他ないな
0693nobodyさん2007/01/25(木) 22:57:10ID:???
GDをラップしたライブラリってないの?
GDいじるの結構面倒くさい(><)
0694nobodyさん2007/01/25(木) 23:03:10ID:???
>>693
いや・・・あの・・・
まっいいか・・・
0695nobodyさん2007/01/25(木) 23:10:41ID:???
>>693
PEAR行ってImage_ってプレフィックスがつくパッケージ当たってみ
0696nobodyさん2007/01/26(金) 10:53:30ID:???
はやくかけや。
こまってんだよ!
0697nobodyさん2007/01/26(金) 13:24:07ID:PVZRthFQ
はじめてPEARを使おうと思っているんですけども、
レンタルサーバでも使えるのでしょうか?
インストールされてなければ無理なのかな・・?
それと、ダウンロードしてきたファイルの使い方がわかりません。
Image-Graphというのが使いたかったのでダウンロードし、解凍したところ、
Image-Graph-0.7.2というファイルがでてきました。
これはいったいどうすればいいのでしょうか?
0698""""""""""2007/01/26(金) 13:34:58ID:???
希少もの:中国製無修正
某大陸高校トイレ盗撮ビデオ
http://www.google.co.jp/search?hl=ja&q=%E3%82%A2%E3%82%A4%E3%83%89%E3%83%AB+torrent+uppics&lr=
0699nobodyさん2007/01/26(金) 15:56:55ID:???
>>697
PEARはPHPで書かれてるから適当なバージョンのPHPが動くサーバなら使える。
依存関係とか自分で解決してやらなきゃならないが。
Image_Graphだと
Image_Canvas
Image_Color
Extension gd
が必要。
全部そろえばincludeとかrequireすることで使える。
0700nobodyさん2007/01/27(土) 05:02:52ID:???
>>696
>>698
0701nobodyさん2007/01/30(火) 11:27:14ID:We8vUN44
pearのインストールをしようとgo-pear.batを起動しましたが何も表示されず何度かEnterキーを押すと
「PHP Warning: Cannot use a scalar value as an array in phar://go-pear.phar/PEAR/
Command.php on line 268」
のような表示がたくさん出てインストールが完了できませんと表示されます。どうやったら改善されるのでしょうか?超初心者ですのでわかりやすく説明くださると大変ありがたいです。よろしくお願いします。

PHPは5.2.0を使ってます。
0702nobodyさん2007/01/30(火) 11:35:02ID:???
>>701
自分で超初心者とか言うアホにPEARは100年早い。

「俺は超初心者だから、調べるの面倒だし、お前ら!丁寧に分かりやすく解決方法を教えろ!」

って言ってるのか?死ねよ!カス
0703nobodyさん2007/01/30(火) 11:59:16ID:We8vUN44
>>702
「超初心者ですのでわかりやすく説明くださると大変ありがたいです。」そういう言い方をしましたので>>702さんのような捕らえ方をされても仕方ないかもしれません。
ですが昨日から解決方法を調べましたが未だに解決できずにいます。ですので救いの手をいただければと思いますのでどうかよろしくお願いします。
0704nobodyさん2007/01/30(火) 12:12:05ID:???
>>701
5.2.0のgo-pear.batは壊れてる
ttp://d.hatena.ne.jp/shimooka/20061105/1162714257
0705nobodyさん2007/01/30(火) 12:15:45ID:???
>>701,703
聞く前に検索しろということだ
http://www.google.co.jp/search?hl=ja&c2coff=1&q=Cannot+use+a+scalar+value+as+an+array+in+phar%3A&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
0706nobodyさん2007/01/30(火) 22:37:40ID:bW5fYcLi
PEAR :: DB のパッケージをインストールしたのですが
「tests」というディレクトリがありました。

これは動作に必要なのでしょうか?

必要ないのであれば消したいのですが。そもそも消す必要もありませんかねぇ。
よろしくお願いします。
0707nobodyさん2007/01/30(火) 22:45:17ID:???
>>706
何故、消そうと思うのだ?
別にあってもよくないか?
0708nobodyさん2007/01/30(火) 22:47:55ID:bW5fYcLi
>>707
そうですね。
そのまんまにしておきます。ありがとうございました。
0709nobodyさん2007/01/31(水) 10:55:32ID:???
必要ないから消してもOK
0710nobodyさん2007/01/31(水) 11:58:58ID:???
虫垂だの農家の四男坊なんてのはやたらに切るもんじゃないだろう
0711nobodyさん2007/02/01(木) 12:15:21ID:PAIOYH/b
PECL には GNU libidn を使うための拡張があります。
http://pecl.php.net/package/idn
同様の拡張が別の場所でも開発されているようです。
http://php-idn.bayour.com/
インターフェイス(提供される関数)はほぼ同じようです。
これら二つの拡張の間には何か関係があるのでしょうか?
0712nobodyさん2007/02/06(火) 15:58:18ID:rVKmLMVv
もう1日かけて調べたり試行錯誤したけど、全然うまくいきません。

環境:
OS WindowsXP Home
鯖 anhttpd 142p
PHP 5.2.0(cgiの方使ってます)

ソース:
<?
require_once "HTTP\\Request.php";

$req =& new HTTP_Request("http://yahoo.co.jp/";);
if (!PEAR::isError($req->sendRequest())) {
echo $req->getResponseBody();
}
?>

結果:
Warning: require_once(Net/Socket.php) [function.require-once]: failed to open stream: No such file or directory in C:\httpd142p\php5\PEAR\HTTP\Request.php on line 47
Fatal error: require_once() [function.require]: Failed opening required 'Net/Socket.php' (include_path='.;C:/httpd142p/php5/PEAR/') in C:\httpd142p\php5\PEAR\HTTP\Request.php on line 47

INIファイルの該当箇所の設定:
; Windows: "\path1;\path2"
include_path = ".;C:/httpd142p/php5/PEAR/"

該当箇所にはちゃんとPearファイルがあるのにエラーになってしまいます。
もう疲れて吐きそうです。。。
0713nobodyさん2007/02/06(火) 16:22:33ID:???
>>712
ディレクトリセパレータでは?

include_path = ".;C:\httpd142p\php5\PEAR"
0714nobodyさん2007/02/06(火) 16:30:00ID:???
"/" を "\" に変えてやってみました。。。
Warning: require_once(Net/Socket.php) [function.require-once]: failed to open stream: No such file or directory in C:\httpd142p\php5\PEAR\HTTP\Request.php on line 47
Fatal error: require_once() [function.require]: Failed opening required 'Net/Socket.php' (include_path='.;C:\httpd142p\php5\PEAR\') in C:\httpd142p\php5\PEAR\HTTP\Request.php on line 47

ふぅ〜。。どうしたもんですかね
0715nobodyさん2007/02/06(火) 16:42:08ID:???
require_once 'Net/Socket.php';
これ一行だけのソースでもNo such 〜になる?

C:\httpd142p\php5\PEAR\Net
でアドレスバー叩いてちゃんとSocket.phpはあるかい?
0716nobodyさん2007/02/06(火) 17:02:55ID:???
あー Socket.phpありませんでした。。。
Socket.phpとURL.phpダウンして入れたところ正常に動きました。
ふぅ〜。ありがとうございましたm(_ _)m。
0717nobodyさん2007/02/06(火) 17:22:12ID:???
>該当箇所にはちゃんとPearファイルがあるのにエラーになってしまいます。
>該当箇所にはちゃんとPearファイルがあるのにエラーになってしまいます。
>該当箇所にはちゃんとPearファイルがあるのにエラーになってしまいます。
>該当箇所にはちゃんとPearファイルがあるのにエラーになってしまいます。
0718nobodyさん2007/02/06(火) 17:54:04ID:NJuIco/q
if ( $_SERVER["REQUEST_METHOD"] != "POST" )
{
exit( "不正なリクエストでおじゃる" );
}
$hoge = $_POST["hoge"] ? $_POST["hoge"] : "";

こういうソースがあったのですが、リクエストのメソッドを調べる
意味ってあるのですか?

万が一、引数が GET で渡されてたとしても、それが $_POST に代入される
ということがありえるのでしょうか。
0719nobodyさん2007/02/06(火) 17:56:37ID:???
ねーよww
0720nobodyさん2007/02/06(火) 20:46:38ID:???
むかーーーしのバージョンのPHPで
GET引数に "GLOBALS[_POST][hoge]" とかそんな感じで
外から $_POST に値を入れられちゃう糞バグがあったような気がしんぐ
07217182007/02/06(火) 21:33:11ID:NJuIco/q
すみません。
>>718は誤爆です。
07227182007/02/06(火) 21:36:03ID:NJuIco/q
>>720
そうだったのですか。
もうちょっと調べてみます。ありがとうございました。
0723nobodyさん2007/02/14(水) 07:44:29ID:HWr8LnC4
質問です。
今html_ajaxでいろいろやってるのですが、
html_ajaxでプロキシアクセスをしてる場合のpostで通信してるのですか?getですか?
access_logをみてみると、両方のような気がするのですが。

またpostの場合、sessionでの接続ができますか?どのようにsidを送るのでしょうか?

よろしくお願いいたします。
0724nobodyさん2007/02/14(水) 16:20:33ID:pTwqj5vm
pearのアンインストール方法を教えてね。
0725nobodyさん2007/02/15(木) 01:48:19ID:???
まず、どのようにインストールしたかかけや
0726nobodyさん2007/02/15(木) 02:10:56ID:202bzPy7
go-pear.orgからインストールしたのよ。
0727nobodyさん2007/02/15(木) 17:56:46ID:kYaagmVU
おまえらどんなPEAR使ってるか教えろ。
0728nobodyさん2007/02/15(木) 18:18:00ID:???
インフラとして必要で、実用的で、枯れてて、
誰でもすぐに馴染める使いやすいパッケージは

・PHPUnit
・PhpDocumentor
・PEAR
・MDB2(+Driver)
・HTTP_Request
・Cache_Lite
・Log
・Mail

あたりとか?
もうPHP4でしか使う機会がないな
PHP5でいいならフレームワークに付属ので間に合わすか、
ZFのライブラリを使う
0729nobodyさん2007/02/15(木) 19:29:34ID:???
Pagerも結構よいよ
0730nobodyさん2007/02/15(木) 21:50:13ID:l05otmqr
まだHTTP_Requestしか使ったことないや。
0731nobodyさん2007/02/16(金) 09:32:26ID:???
Cache_Liteはめちゃくちゃ重宝する。
0732nobodyさん2007/02/17(土) 12:31:18ID:???
HTML_QuickFormで確認ページって出せますか?
入力→確認→登録みたいな感じです。
出せる場合はどのようにしたら良いのでしょうか、、?
0733nobodyさん2007/02/17(土) 12:33:24ID:???
freeze使え
0734nobodyさん2007/02/17(土) 14:54:17ID:???
確認画面用に freeze() 使う時は hidden 要素に setPersistantFreeze(true) も忘れないように
07357322007/02/21(水) 05:59:51ID:???
>733,734
やってみる!ありがとう。
0736nobodyさん2007/02/22(木) 14:28:49ID:3Rwtxk4J
PEAR のコーディング規約って、
Java でよく使われているもののほぼコピー?
0737nobodyさん2007/02/22(木) 18:02:36ID:???
PHPUnit PEARから外れちゃったんだよなぁ。
PHP4でFirebirdのある限り
DBを使いつづける選択肢しかないんだよなぁ。
0738nobodyさん2007/02/22(木) 22:53:30ID:Ua9elyJa
MDB2( http://pear.php.net/manual/ja/package.database.mdb2.php )についての質問です。

スクリプトでMDB2を用いる際に、いちいちDSNやエラーチェックをすると
コードが冗長になってしまいます。

みなさんはどうしていますか?
私が考えたのは、例えば 'DataBase' というクラス(MDB2のクラスを継承)を定義して
そこから使うのがよいかと思っています。

これについて何か参考になるドキュメントがありましたら
ぜひ教えてください。よろしくお願いします。
0739nobodyさん2007/02/23(金) 23:08:52ID:yQax9a0k
無駄なものを覚えるとかえって時間がかかる
何を学ぶかの取捨選択が大事だと思います
HTML_QuickFormのほかに、これには手を出すなというのはありますか?
0740nobodyさん2007/02/23(金) 23:33:13ID:???
>>739
HTML_QuickForm_Controller/DB/DB_DataObject/Auth/Auth_HTTP/Cache_Lite
このくらいかな…
0741nobodyさん2007/02/24(土) 05:53:48ID:UYU7E5V9
Authについて質問です。
MySQLにパスワードと名前を入れておいて、そこを読み取って認証するという
単純な認証を試しに作ってみたのですが、どうも巧く行きません。

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

以下、ソースコードです。
0742これらは、全て同じ階層のフォルダに入ってます2007/02/24(土) 05:57:38ID:UYU7E5V9
//MyAuth.php
<?php
$documentroot=dirname(__FILE__) . '/';
require_once($documentroot . 'config.php');
require_once ('Auth/Auth.php');

function loginFunction ($usr,$status){
switch($status){
case AUTH_IDLED :
case AUTH_EXPIRED :
$err='ログイン期限が切れています。再ログインしてください';break;
case AUTH_WRONG_LOGIN :
$err='メールアドレス/パスワードが間違っています';break;
default:
print ("default");
}
require_once('login.php');
}

$params=array(
'dsn'=> _DSN,
'table'=>'member_table',
'usernamecol'=>'userxxxx',
'passwordcol'=>'password',
'cryptType' => 'MD5',
'db_fields'=>'*');
$myAuth=new Auth('DB', $params, 'loginFunction');
$myAuth->start();
if(!$myAuth->getAuth()){
exit();
}
?>
0743これらは、全て同じ階層のフォルダに入ってます2007/02/24(土) 05:59:12ID:UYU7E5V9
//login.php
<html><head><title>ログインページ</title></head>
<body>
<form method =" POST" action ="<?php print ($_SERVER ['PHP_SELF']) ?>" >
<table border="0">
<tr><th alight="right">メールアドレス</th>
<td><input type="text" name="username" size="30" maxlength="50" /></td></tr>
<tr><th alight="right">パスワード</th>
<td><input type="password" name="password" size="30" maxlength="50" /></td></tr>
<tr><td colspan="2"><input type="submit" value="ログイン" /></td></tr>
</table>
<font color="Red"><?php print($err); ?> </font>
</form></body></html>


//config.php
<?php


define("_DB_USER", "db_user");
define("_DB_PASS", "pass");
define("_DB_HOST", "localhost");
define("_DB_NAME", "db");
define("_DB_TYPE", "mysql");

define("_DSN", _DB_TYPE . '://' . _DB_USER . ':' . _DB_PASS . '@' . _DB_HOST . '/' . _DB_NAME);
?>

以上です。長々とスミマセン。
0744nobodyさん2007/02/25(日) 00:45:14ID:???
>>741
PHPの質問スレ行った方がいいんじゃね?
0745>>741-7432007/02/25(日) 01:10:29ID:???
>>744
おっしゃる通りですね。
PHPの下質のスレに行きます。
お目汚し失礼しました。
0746nobodyさん2007/02/28(水) 08:54:35ID:ZY+YimwX
SQLビルダーが欲しくて色々さがしてます。
DB_DataObjectがよさげだとおもって、ちょっと読んで
軽く使ってみたのですが
これってSQLだけgetすることは出来ないのでしょうか?

接続にはDBとかMDBは遅いのでPDOを使いたいのですけど・・・

良いのありませんかね?
dinolibっていうのも使ってみたけど、古いし、イマイチ。

DB_DataObjectはマジで便利そうなんだけど・・・
0747nobodyさん2007/02/28(水) 14:56:36ID:???
流れはORマッパーなので。
0748nobodyさん2007/02/28(水) 20:30:47ID:???
>>746
おれも以前に似たような要求で色々と調べたけど
"_" から始まる名前の(PEAR規約で private 扱いの)メソッドやら変数やらをアレコレしないと
生 SQL のみを取得することはできなかったっす
07497452007/02/28(水) 21:39:38ID:???
ソース見たら出来なさそうですね。

SQL生成から実行まで、一つのメソッドでやってた。

あれを改造しちゃうか・・・
DBかMDB2を使うか
他のSQLビルダを探すか

自分で作っちゃうか

とりあえずここ過疎化してるので
PHP版に移住します。お騒がせしました。
07507452007/02/28(水) 23:20:38ID:ZY+YimwX
>>748
すいません。板のURLが変わってたんですね
2chブラウザ使ってるのでレスが付いてないのかと思っちゃいました。

SQLビルダ作るかな〜
0751nobodyさん2007/03/01(木) 01:32:14ID:???
DB_DataObjectはORマッパであってSQLビルダでない件に関して
■ このスレッドは過去ログ倉庫に格納されています