【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/
0595sage
2006/12/12(火) 14:05:01ID:???0597595
2006/12/12(火) 15:09:53ID:???ありがとうございます。
$params = array(
'itemData' => $myData,
'perPage' => $perPage,
'delta' => 8,
'append' => true,
'clearIfVoid' => false,
'urlVar' => 'start',
'currentPage' => $start,
'useSessions' => true,
'closeSession' => true,
'mode' => 'Jumping',
'extraVars' => $num,
);
という感じで指定して、$numを使うために途中で
$nownum = $params['extraVars'];
別の変数に格納しました。
ですが、ページ変更後には$nownumが空になってしまいます。
urlには test.php?0=1&start=1という感じで$numは格納されています。
extraVarsから再利用はできないんでしょうか。
0598nobodyさん
2006/12/12(火) 16:30:16ID:???> ttp://pear.php.net/manual/ja/package.html.pager.intro.php
> クエリ文字列に変数を追加する
Pager が生成する URL の引数に入るだけで
変数への設定は $_GET とかから自前でやらないとだめよ
0599595
2006/12/13(水) 09:52:06ID:???formでpostした$numを
'extraVars' => array('n' => $num),
という感じでパラメータに置いて
$_GET['num']で使おうとしていますが、
post直後はURIにもtest.php?n=1という風になりますが
ページングされたページに飛ぶと変数を保持しておけません。
0600nobodyさん
2006/12/13(水) 11:37:43ID:???もしかして Pager とか以前に根本的なパラメタ渡しとかが理解できてない?
0601595
2006/12/13(水) 11:52:52ID:???if(isset($_POST['num'])){
$_SESSION['num']=$_POST['num'];
}
$num = isset($_SESSION['num']) ? $_SESSION['num']: "";
で、やりたいことが出来ました。
>>600
>array('n' => $num) なら $_GET[ 'n' ] じゃないの?
そうですよね。本来のコードから書き換えて投稿していたので
ミス入力してしまいました。
0602nobodyさん
2006/12/13(水) 20:36:35ID:WrZMw5hy・Web鯖
OS:WindowsXP
httpd:Apache1.3.35
php:5.2.0
pearDB:最新
・DB鯖
OS:CentOS
Oracle:10.2.0
・コード
$this->db =& DB::connect( "oci8://ID:PASS@tcp(IP)/DBNAME" );
・エラーメッセージ
C:\Software\php\PEAR\DB\oci8.php:240 oci_connect() [function.oci-connect]: ORA-12154: TNS:could not resolve the connect identifier specified
phpの吐くエラーをみてるとDB鯖にコネクションできないって感じに思えるのですが…。
sqlplus使っての接続はWeb鯖マシンからできるので、Oracleの設定及びネットワークの問題はないと思います。
php側に外部のホストにつなぎに行く制限をする設定項目なんかがあるんでしょうか?
0603nobodyさん
2006/12/13(水) 20:40:01ID:???0604nobodyさん
2006/12/13(水) 21:13:07ID:???DBよりMDB2の方がいいかも
0606nobodyさん
2006/12/14(木) 22:39:50ID:nK4PeE4YDB鯖の中で動いてるhttp鯖からは動くんでそれは問題ないかと思います。
下請けでPearDB指定なので…どうしてもダメなら検討します。
>>605
やってみます。環境が会社じゃないと無いので、明日やってみます。
ありがとうございます。
0607nobodyさん
2006/12/15(金) 18:47:01ID:cnQJoip3見事に接続できました!!
ありがとうございます。
0608nobodyさん
2006/12/16(土) 00:53:19ID:???なんで hostsに書かないと接続出来ないのか判らんが、いつもこれにハマる。
教えてエロイ人。
0609nobodyさん
2006/12/16(土) 19:59:14ID:???0610nobodyさん
2006/12/16(土) 21:05:10ID:???0611nobodyさん
2006/12/17(日) 04:01:25ID:???0612nobodyさん
2006/12/17(日) 10:23:51ID:???\ ププププギャプギャププギャプギャ/
♪ (^Д^) ♪
_m9 )>_ キュッキュ♪
/.◎。/◎。/|
<(^Д^)> | ̄ ̄ ̄ ̄ ̄| | ヽ(^Д^)ノ
) ) | |/ ノ ノ
(((( > ̄ > )))) <(^Д^)9m ((( < ̄< ))))
) )
((( > ̄ > ))))
0613nobodyさん
2006/12/17(日) 13:31:55ID:???0614nobodyさん
2006/12/19(火) 03:53:23ID:???いわゆる手抜きでしょ
バカじゃねーの
しんでこい
0615nobodyさん
2006/12/19(火) 03:58:24ID:???0616nobodyさん
2006/12/19(火) 06:55:14ID:???0617nobodyさん
2006/12/19(火) 07:53:04ID:???0618nobodyさん
2006/12/19(火) 09:06:47ID:???0619nobodyさん
2006/12/19(火) 09:27:00ID:???0620nobodyさん
2006/12/19(火) 09:38:14ID:???0621nobodyさん
2006/12/19(火) 10:18:47ID:???0622nobodyさん
2006/12/19(火) 14:25:10ID:???0623nobodyさん
2006/12/19(火) 17:56:52ID:G+HsmUGP0625nobodyさん
2006/12/20(水) 23:11:53ID:???諦めて他の方法使います。
0626nobodyさん
2006/12/21(木) 00:46:59ID:???0627nobodyさん
2006/12/22(金) 02:45:39ID:???0628nobodyさん
2006/12/22(金) 12:39:04ID:ujx0PyDCQuickFormで'test'にデフォルトの値を渡したい時
例えば
$form->addElement("text","hoge","コメント",array("size"=>80,"value"=>"デフォルトのコメント"));
とやれば出来るのですが
textareaのときは、どうするのでしょうか?
textareaってvalueじゃなくタグの中身じゃないですか?<textarea>ここ</textarea>
attributesで指定できるのでしょうか?
お願いいたします。
0630628
2006/12/22(金) 14:17:26ID:???できました!
setValueでは、何故か分かりませんがうまくいかず
setDefaultsでできました。
この辺を参考にしました。
ttp://www.bnote.net/php/pear/p_07_setdefaults.shtml
おかげさまでぐぐって見つけることが出来ました。
ナイスヒント
0631nobodyさん
2006/12/22(金) 14:30:40ID:???/include_path/ ┳ PEAR/ ディレクトリ以下全部
. ┣ PEAR.php
. ┗ System.php
追加したいパッケージは解凍後
/include_path/ or /include_path/PEAR/
にブチ込む感じで大丈夫でsぢょうか?
0633nobodyさん
2006/12/23(土) 02:04:58ID:???それより自分でまともなスクリプト書いて、path通せば問題ない。
所詮、プログラムできないウェブデザイナ向けの釣り餌でしょ。
0634631
2006/12/23(土) 02:14:55ID:???そーすか。ありがと。
とりあえず自分の使ってみた感じではweb interfaceが使えない以外には
これで問題ない気がするんですが、これでマズイというか問題になるような
点とかってありますかね?
インストーラを使うより解凍して設置してパス通して、の方が正直楽なような気がして。
0635631
2006/12/23(土) 02:39:07ID:???なるほど。
> 手動インストールを行うためには パッケージがどのようにして生成され、
> インストールの際にどのようなプロセスが 実行されるかについての詳しい
> 理解が必要となるからです。
ってあったので気になったのですが、パスさえ通ってれば実行には問題なさそうですね。
ありがと。
0636nobodyさん
2006/12/27(水) 00:47:24ID:???このスレを見ている人はこんなスレも見ています。(ver 0.20)
★☆チェ・ジウについて語るPart179☆★ [海外芸能人]
一時間阻止されなかったらキャラを持ち帰る 361人目 [ゲームキャラ]
コンパクトフラッシュ(CF)は何処のが良い パート19 [デジカメ]
0638nobodyさん
2006/12/28(木) 01:11:57ID:???0639nobodyさん
2006/12/28(木) 01:12:27ID:sdbBpoeXkwsk
0640nobodyさん
2006/12/28(木) 01:30:54ID:???ttp://sandman.s6.xrea.com/nucleus/index.php?itemid=48
1年半前だからさすがに直ってるだろうと思ったら、まだ直ってなかったのかタイムアウトできない。
0641nobodyさん
2006/12/28(木) 12:44:31ID:s71HHmdJ作者に通報したら?
0642nobodyさん
2006/12/28(木) 17:58:25ID:???0643nobodyさん
2006/12/28(木) 20:22:13ID:???このスレを見ている人はこんなスレも見ています。(ver 0.20)
★☆チェ・ジウについて語るPart179☆★ [海外芸能人]
一時間阻止されなかったらキャラを持ち帰る 361人目 [ゲームキャラ]
コンパクトフラッシュ(CF)は何処のが良い パート19 [デジカメ]
0644nobodyさん
2006/12/29(金) 04:44:23ID:???0645nobodyさん
2006/12/29(金) 16:01:50ID:???$page->controller->container(true);
みたいにセッションをクリアすると、
submitを2回以上クリックした場合1ページ目が表示されちゃう・・・
0646nobodyさん
2006/12/29(金) 17:00:33ID:2C2HG/T8kwsk
0647nobodyさん
2006/12/29(金) 22:42:09ID:???QFCの方はよくわからんけど
それむしろ正しい動作じゃね?
submit2回連続でそうなるのが嫌なら
javascriptでonsubmit時にdisabったりすればいいんじゃね?
0648nobodyさん
2006/12/30(土) 11:57:35ID:???JavascriptはUAに依存するからあまり使いたくないす。
なにかいい方法はないものか・・・
0650nobodyさん
2006/12/30(土) 13:02:25ID:???0652nobodyさん
2006/12/30(土) 15:49:39ID:???っていう言い訳よく聞くんで鵜呑みしてたけど、
Google Analytics使うようになって、そういう人が2%くらいだって
知ったので、なんか微妙…。切捨てちゃってもいいかなぁ…て最近思う。
0654nobodyさん
2006/12/31(日) 00:13:26ID:???仮に2%の人がjsを切っていたとしたら
一万人の会員がいるサイトの場合200人は意図しない動作をさせる可能性があるわけで。
もし1ページ目に戻されたユーザーがもう一度送信したら困るっしょ。
クレームの処理は金と時間がかかるから(ry
>>653
フォームに毎回noscriptで注意書き書くくらいならサーバーサイドで処理した方がスマートでは?
で、一応できました。
ページを一つ多くして最後のページの中から
$this->handle('process');
みたいにプロセスを呼び出せば最初のページに戻されない。
もっといい方法ないすかね・・・
0655nobodyさん
2006/12/31(日) 15:32:47ID:???おまいのサイトでは2%でも世の中のサイトが2%とは言えない。
0656nobodyさん
2006/12/31(日) 23:56:13ID:ZQTWDF0T楽しくプログラム書いてたのに、足りないコンポーネントがだうんろーどできないよ。
かなしい。
0658nobodyさん
2007/01/01(月) 06:05:26ID:QzpvCD4LFatal error: Call to undefined method
PEAR_PackageFile_v1::getProvidesExtension()
in /usr/share/php/PEAR/Downloader/Package.php on line 963
って怒られるんですが・・・どうすりゃいいでしょうか?
Debian GNU/Linux etch です。
0659658
2007/01/01(月) 06:10:53ID:QzpvCD4Lここの情報をさんこうに、Auth だけ別に
pear upgrade Auth したらウマくいきました。
何が起こってたんだろうか。
0660nobodyさん
2007/01/01(月) 06:13:32ID:QzpvCD4Lその戻り値はどうやってきめているのでしょうか?
0661660
2007/01/01(月) 06:20:42ID:???0662nobodyさん
2007/01/06(土) 16:31:13ID:sgvu7Tt8欲しいパッケージがことごとく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-allした一覧を眺めていたら、
PEAR自体も新しいの(1.5.0RC2)が出ている様子(今1.4.11)。
その昔installしたArchive_Tar、MDB2、MDB2_Driver_mysql、XML_RPCは
一覧上ではLATESTのバージョン値が表示されていないの。
とりあえずPEARをupgradeしたら全て元通りになるのでしょうか?
0664660
2007/01/06(土) 18:25:39ID:???アップグレード対象になっているパッケージを
落ち着いてひとつひとつ指定してアップグレードしたら
正常になったっぽい。
0665nobodyさん
2007/01/06(土) 22:48:10ID:sgvu7Tt8list-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:???だからArrayレンダラなりArrarSmartyレンダラなり
使うのが常套手段じゃないかな
0668666
2007/01/11(木) 12:25:16ID:???まずは基本・・って事で参考にしている書籍にならってDefaultレンダラを使い始めましたが
Arrayレンダラ等なら望みが叶うって事なのですね。
Arrayレンダラ等については書籍には書いてなかったのでマニュアルをあたってみます。
ども。
>>666
自己レスですが、\PEAR\HTML\QuickForm\Renderer\Default.phpを開いて
該当HTMLタグをコピペすればさほど手間ではなかったです。
0669nobodyさん
2007/01/12(金) 15:41:32ID:???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:2nrbZFx0Postgresqlにて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:???0672nobodyさん
2007/01/12(金) 20:44:16ID:???http://pear.php.net/manual/ja/package.database.mdb2.intro-execute.php
MDB2はprepareしてからみたいね
0673669
2007/01/13(土) 14:01:31ID:???参考にしてるDBレイヤの解説ではプレイスホルダとは分けて説明されてたのでスルーしてた(汗
このプリペアド経由のプレイスホルダも内部でエスケープ処理されるのかな。
早速試してみようと思います。
ありがとうございました。助かりました。
0674551
2007/01/13(土) 20:07:08ID:???”日付のセレクトボックスの生成”
dateフォーム使ってる人います?
年しか初期値設定できなくて微妙なんだけど・・・
setDefaultsで無理やり設定する方法とかありませんか?
0675nobodyさん
2007/01/13(土) 21:35:24ID:???setDefaultsでdateエレメントの初期値にY,m,dみたいなキーの配列で設定できるはず
UNIXタイムスタンプでもおk
0677nobodyさん
2007/01/16(火) 06:37:44ID:???いま Linux 上で phpize などを使って拡張を作ってるんだけど、
Windows 上の PHP で使えるバイナリくれといわれて途方に暮れる。
Windows には phpize も autoconf も m4 もないし・・
Cygwin で作るの?
0678nobodyさん
2007/01/16(火) 06:46:23ID:zR0oRC8JCreating 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:3ixzqDHlHTTP_Clientにて
$client =& new HTTP_Client();
$client->get($url);
$response = $client->currentResponse();
こんな感じで、指定URLでのレスポンスが取得出来ると思うのですが
取得した先のURLを得ることは可能でしょうか?
0680nobodyさん
2007/01/18(木) 02:08:14ID:7qn+G2a80681nobodyさん
2007/01/18(木) 09:59:01ID:???echo "1";
$this->db = DB::connect($dsn);
echo "2";
if(DB::isError($this->db)){
$this->error = $this->db->getMessage();
return false;
}
とかやっても 2 が出る前に死んでしまって何も表示されません
どんな原因が考えられるでしょうか?詳しい方ご教授お願いします
0683679
2007/01/18(木) 11:15:02ID:???すいません、説明が足りませんでした。
$urlに入ったURLで別のページにリダイレクトされるのです。
そのリダイレクト先のURLを取得したいなと思っています。
リダイレクト先のBODYは取得できるのですが。。。
0684nobodyさん
2007/01/18(木) 16:56:34ID:???http header でリダイレクトされるんなら $response['headers']の中に入ってんじゃね?
metaタグなら$response['body'] の中を探すしかないだろうね。
0685nobodyさん
2007/01/18(木) 18:29:17ID:???ストレージドライバが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:???書式を直すか、type'=>'Cvs' の代わりに Authbasic、Authdigest、Custom、Smb、Unix のどれかを使ってみたら?
どのみち書式もそれに合わせる必要があるけど。
0687nobodyさん
2007/01/18(木) 19:10:14ID:???か、か、解決しますた!!
$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:cqEVnQIF0690nobodyさん
2007/01/25(木) 13:17:04ID:diFouhBcホントうんこすぎ
pearのライブラリをディレクトリに移動しようとしたら小文字のファイルにリネームしちまうし、
php.iniはみにくいし、そこでのincludepathも大文字小文字間違って書き直しだし
もう氏ねやうんこ言語
0692nobodyさん
2007/01/25(木) 14:08:06ID:???PEARやPHPどころかOSの問題じゃん
これをプログラム言語のせいにしてる奴とかもう呆れる他ないな
0693nobodyさん
2007/01/25(木) 22:57:10ID:???GDいじるの結構面倒くさい(><)
■ このスレッドは過去ログ倉庫に格納されています