くだすれPHP(超初心者用)4
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/06/13(金) 20:32:36ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
http://www.php.net/
http://jp.php.net/
前スレ: くだすれPHP(超初心者用)3
http://pc11.2ch.net/test/read.cgi/php/1193295871/
適当に関連スレ(マルチはだめぽ)
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
0413nobodyさん
2008/10/07(火) 12:35:01ID:rx4j8OHYどうもありがとうございます〜。
0414nobodyさん
2008/10/07(火) 13:15:45ID:2lCZsXeTURIにコントローラやアクションを含めるような設計ってできるんでしょうか。
PHPのインスコ状況によるのかもしれませんが、どうも情報見つかりません。
0415nobodyさん
2008/10/07(火) 13:23:31ID:???コントローラーで$this->set('test', 10);と書くと
exception 'Zend_Controller_Action_Exception' with message 'Method "set" does not exist and was not trapped in __call()' 〜
とエラーがでてしまいます。
setを使うのに宣言か何かが必要かと思い、調べたのですが何処を見てもsetを使えばできるとしか書いていません。
コントローラーで$test;や$test=3;はエラーが出なく、エラー文を見てもsetに原因がある気がするのですが、何が原因なのでしょうか?
0416nobodyさん
2008/10/07(火) 13:41:47ID:???フレームワークのこと知らないので適当だけど、
メッセージを見るとsetが未定義で、call(多分ビルトインの)で
トラップ(多分、未定義のメソッドが呼ばれたときに適当なメソッドを割り当てる)もできないと言ってる。
多分$thisはControllerクラスのことだと思うので(多分ばっかですんまそ)
要するにControllerクラスにsetが定義されてないんじゃないかと思います。
クラス定義やメソッド一覧するメソッドがあると思うので、確認してみては?
ちなみに今気づいたんですが、フレームワークを使ってると>>414の質問の答えはYesでしょうか?
0417nobodyさん
2008/10/07(火) 14:12:15ID:???「?name=value」が嫌ならmod_rewrite(Apache)で出来る
>>415
コントローラにsetがないってことじゃないか?
$thisじゃなくてビューのオブジェクトのsetを呼べばいいような気がする
ZendFWは使ったことないが、普通はそうだと思うぞ
0419415
2008/10/07(火) 14:44:42ID:???ご指摘どおり、thisはコントローラーでsetがありませんでしたので、
中身のないsetを作ってみたところエラーは出なくなりましたが、変数の受け渡しはうまくいきませんでした(空なので当たり前ですね)
これでエラーそのもの原因は分かったので次は変数が受け渡せるように頑張ります。
>>417
確かにコントローラーに無いのでthisだと自分で処理を書くか、何処かからコピーしてこないといけないようです。
何処かからコピーしてくるんならそれを使えよって話なので、まずビューからそれらしいのがないか探して見ます。
>>418
キャメルケースが何なのか分からないのでぐぐってみましたが、命名規則(camelCaps?)の事でしょうか。
とりあえず命名規則はチェックしましたが大丈夫でした。
0420nobodyさん
2008/10/07(火) 14:48:06ID:???メソッド書いてないからメソッド無いと言われたっていう話ですか。(´Д`;)
0421416
2008/10/07(火) 15:26:57ID:???今、どんなかなと思って近所でZendの本(緑のやつ)見てきました。
それで思ったんですが、set(value,value)って
Controllerクラスじゃなくレジスタクラス(?)のメソッドじゃないかな?
コントローラで
require "Zend::Registry" <-これ正確じゃないです。これ的な名前。
regist = new Zend::Registry(); #レジスタオブジェクト
regist.set('test', 10);
じゃないかと思います。
ただ、これはアプリ全体で共有したい変数を記憶しておくクラスということなので
このメソッドで即ビューに値が渡るかは分かりません。
Controllerクラスには$this->setBody(value)的なメソッド群がある模様。
しかし、フレームワークでの制作をコピペ等でこなすのは逆にけっこうな大冒険なのでは・・・
0422416
2008/10/07(火) 15:32:59ID:???どもです。それ自分もやったことあります(CGIでw)
Apacheモジュールとして動作してるなら他といっしょかなと思ったのですが
経験者の方が耳にしたことないってことは、
少なくとも基本機能ではないってことですもんね。
参考になりました!
0423414
2008/10/07(火) 15:34:14ID:???0424403
2008/10/09(木) 04:27:43ID:???>>408-409さんの言ったとおりに
C:\>php\go-pear.phpを実行してみたのですが
go-pear.phpのエディタが出てきただけでした
それで完了されているとは思えないのですが
どこが間違っているのでしょうか?
よろしくお願いします
0425403
2008/10/09(木) 04:52:41ID:Sz+W15yD自分が持っている本ではgo-pear.batをコマンドプロンプトで実行すると
いくつかの質問が出てきて
最後にPHP.iniにパスを通す動作が出てくるようなのですが
それらしき質問もでません
よろしくお願いします
0426nobodyさん
2008/10/09(木) 05:13:45ID:???phpが動いてるか確認してな
0427403
2008/10/09(木) 05:21:50ID:Sz+W15yDレスありがとうございます
ドキュメントルートにアップして とはどういうことでしょうか?
ttp://always-pg.com/glossary/kana04_ta/document_root.htmlで調べたら
/で区切っているディレクトリのことだと思うのですが
PHPは動作してます
さっきまで簡単なソースをapacheでやっていました
0428nobodyさん
2008/10/09(木) 05:25:50ID:???0429nobodyさん
2008/10/09(木) 05:25:57ID:???先に基礎的な知識を身に付けてからのほうがいいと思うよ
0430403
2008/10/09(木) 05:30:32ID:Sz+W15yDそういう意味だったんですか
表示されました
go-pear.phpをapacheの中に入れたら
>>429さん
そのことは十分理解しております
ここで聞いてたときも何度も言われました
そのため基礎的な本を買ってこの様です
頑張りたいと思うのでよろしくお願いします
0432403
2008/10/10(金) 15:39:02ID:6TTacjjephp.iniを見てもパスが通っている気配がないです
コマンドプロンプトを使用してもエディタしか起動しない…
0433nobodyさん
2008/10/10(金) 16:16:49ID:???ブラウザでgo-pear.phpにアクセス出来たならその画面から操作するわけだが?
0434403
2008/10/10(金) 17:16:06ID:/lY+1YLGおお そんなことだったんですか
今やってみました
ですが最後のページのhttp://index.php/
が開けれないんですが
pearが導入されたことを確認する方法ってありますか?
またphp.iniにパスが通ってないようなのですが
勝手に書き込まれるわけではないのでしょうか?
よろしくお願いします
0435nobodyさん
2008/10/10(金) 19:00:50ID:???そりゃムリだろ
最初にgo-pear.phpにアクセスした際に環境設定するじゃん
そこにインストールされる
パスが通ってるかどうかはphp.ini次第だから、そんなのあとあと
まずはファイルが配置されたかを確認
0436403
2008/10/10(金) 21:45:20ID:/lY+1YLGレスサンクス
PHPの中のpearというフォルダにはたくさんファイルが入っていました
さらにその中のpearというフォルダにも入っていました
インストールは完了したっぽいです
これで最後にphp.iniにinclude_path=".;C:\php\pear"と最後に書いたら完了でしょうか?
0437nobodyさん
2008/10/10(金) 22:04:35ID:???どの辺が頑張ってんだ。
0438nobodyさん
2008/10/10(金) 22:40:00ID:???0439nobodyさん
2008/10/11(土) 07:38:32ID:???0440403
2008/10/11(土) 07:52:03ID:IbH29Qlbとりあえず環境設定でいつもつまずくので
環境設定だけ完了したいんでよろしくおねがいします
0441nobodyさん
2008/10/11(土) 08:05:52ID:???頑張れ。
0442403
2008/10/11(土) 10:04:59ID:IbH29QlbNotice: Use of undefined constant PEAR_CONFIG_SYSCONFDIR - assumed 'PEAR_CONFIG_SYSCONFDIR' in C:\Program Files\Apache Group\Apache2\htdocs\PEAR\pearfrontendweb.php on line 72
Warning: Can not find config file, please specify the $pear_user_config variable in /index.php
Error: the template directory (C:\php5\pear\data\PEAR_Frontend_Web\data\templates) is not a directory, or not readable. Make sure the 'data_dir' of your config file (C:\php5\pear\data) points to the correct location !
これはインストールされてないってことでしょうか?
0443nobodyさん
2008/10/11(土) 12:01:25ID:???警告: コンフィグがファイルであることを見つけることができないで、/index.phpの$洋梨_ユーザ_コンフィ
グ変数を指定してください。
誤り: テンプレートディレクトリ(C: \php5\洋梨\データ\PEAR_Frontend_ウェブ\データ\テンプレート)は、ディレクトリ、または読み込み可能です。 あなたのコンフィグファイル(C: \php5\洋梨\データ)の'データ_dir'が正しい位置を示すのを確実にしてください!
という意味だよ
0444nobodyさん
2008/10/11(土) 14:23:21ID:8EU/X1Q4print(mb_strwidth("※",'UTF-8'));
これををUTF-8でテキストとして保存して実行すると答えが1とでます。
なんとか正しく判定させて2と出させたいのですが、どうすればいいのでしょうか。
ちなみにSJISやEUCで試してもやはり1でした。
0445nobodyさん
2008/10/11(土) 14:39:07ID:???0446nobodyさん
2008/10/11(土) 20:36:15ID:mQFhChiahttp://www.vipper.org/vip951655.txt.html
のコードを動かしてみたんですが、
Parse error: syntax error, unexpected T_VARIABLE, expecting ';' in /virtual/boon/public_html/2ch/rss.php on line 28
が帰ってきます。。
よかったら、原因を教えて下さい。。
0447nobodyさん
2008/10/11(土) 20:44:39ID:???26: for ($i=0;$i
// 27:
// 28: $rss = fetch_rss($rssurl[$i]);
CGI設置について質問【Part3】
http://pc11.2ch.net/test/read.cgi/php/1176143582/
0448nobodyさん
2008/10/12(日) 09:51:36ID:???<h1>と</h1>
で囲まれた部分だけを抽出して配列に格納したいのですが、どのような方法があるでしょうか。
0449nobodyさん
2008/10/12(日) 10:03:24ID:???ある日突然
"の前に\が入るようになってしまいました。これはなぜなのでしょうか?
0451403
2008/10/12(日) 16:56:29ID:5ipLjJfbレスサンクスです
翻訳サイトで僕も翻訳してましたw
Error: the template directory (C:\php5\pear\data\PEAR_Frontend_Web\data\templates) is not a directory, or not readable. Make sure the 'data_dir' of your config file (C:\php5\pear\data) points to the correct location !
という部分なのですが
C:\php5\pear\data\PEAR_Frontend_Web\data\templatesというファイルを作っても動きませんでした
これはパスを通せという注意だと思うのですが
なんのデータに何をすればいいのでしょうか?
0452nobodyさん
2008/10/12(日) 17:34:56ID:???ってことだよ
0453403
2008/10/12(日) 17:36:26ID:5ipLjJfbよく分かりません
0458nobodyさん
2008/10/12(日) 19:10:31ID:???0460nobodyさん
2008/10/12(日) 22:42:57ID:B6zhuvJOなんでできないんだろうなと思った。
こういうところまで教えないといけないのか。
0461403
2008/10/13(月) 03:01:56ID:5FVzcFudを見て途中までインストールしたのですが
>試しにPEAR::HTTP_Downloadをインストールしてみましょう。
というとこでコマンドプロンプトを使ってダウンロードしようとしたら
最後の行で
No valid packages found
install failed
と出ました
これはC:\php\pearをコマンドプロンプトで実行したら
Usage: pear [options] command [command-options]
Type "pear help options" to list all options.
Type "pear help " to get the help for the specified command.
Commands:
という部分は出こなかったことと関係しているのでしょうか?
上のサイトにも書いてあったのですが
pear.batというファイルが出てきたらインストールできたということ
と書いてあったのでインストールは出来ていると思います
なんにせよ インストールは完了したことを確認できました
みなさんありがとうございます
0463nobodyさん
2008/10/13(月) 05:33:07ID:???これはとある画像掲示板の画像削除時のスクリプトなんですが
これは1行ずつ削除該当ナンバーか照らしあわしつつ$lineに格納していって
該当ナンバーならその行は空白にすると言うスクリプトでいいのでしょうか?
fputs($fp, implode('', $line));
この部分のimplodeは要素間に改行を入れた後、
書き込みということですか?
0464nobodyさん
2008/10/13(月) 07:49:18ID:???そのimplodeは配列だった$lineを区切り文字無しで全部くっつけて一つの文字列にしてる
ちょっと前時代的な手法だね。
http://www.pachiweb.com/site-material/profile.gif
・・・ゴクリ
0465nobodyさん
2008/10/13(月) 09:31:48ID:5FVzcFudlocalhostでPHPの状態を見れるようにしたのですが
Notice: Use of undefined constant PEAR_CONFIG_SYSCONFDIR - assumed 'PEAR_CONFIG_SYSCONFDIR' in C:\Program Files\Apache Group\Apache2\htdocs\PEAR\pearfrontendweb.php on line 72
Warning: Can not find config file, please specify the $pear_user_config variable in /index.php
Error: the template directory (C:\php5\pear\data\PEAR_Frontend_Web\data\templates) is not a directory, or not readable. Make sure the 'data_dir' of your config file (C:\php5\pear\data) points to the correct location !
と出てきました
pearfrontendweb.phpの問題の行には
// find other config file location
$default_config_dirs = array(
substr(dirname(__FILE__), 0, strrpos(dirname(__FILE__), DIRECTORY_SEPARATOR)), // strip eg PEAR from .../example/PEAR(/pearfrontendweb.php)
dirname($_SERVER['SCRIPT_FILENAME']),
PEAR_CONFIG_SYSCONFDIR,
と出てきました
これはpearをダウンロードした場所が悪かったのでしょうか?
この場合はC:\Program Files\Apache Group\Apache2\htdocs\pearにダウンロードしなければならなかったのでしょうか?
あと気になったのがC:\php5\pear\data\PEAR_Frontend_Web\data\templatesという部分です
php5\とありますがphp5はありません
PHPという名前に変えたので これが原因でしょうか?
0466463
2008/10/13(月) 09:38:47ID:???人の癖がついたスクリプトをいじるのはほんと大変ですね。
ほんとに改造できるか心配になってきました。
プロフィールとかは気にしないで下さいw
それですごい基本的な事で申し訳ないんですが
$log = fopen('access.log','w');
fopen関数のファイルの内容をクリアする(w)などのモードの場合、
ログ内容をこの例だと$logに格納した後ログ消去するのでしょうか?
0468465
2008/10/13(月) 12:18:31ID:5FVzcFud0469nobodyさん
2008/10/13(月) 12:20:11ID:???0470465
2008/10/13(月) 12:55:01ID:5FVzcFudすいません
スクリプト自体がどれか分からないんですが
エディタならPHPエディタです
すいません 用語をよく知らないので
0471nobodyさん
2008/10/13(月) 13:01:37ID:???0472nobodyさん
2008/10/13(月) 13:03:59ID:???冷静になって環境見直せよ、画伯
0473465
2008/10/13(月) 13:20:54ID:5FVzcFudで調べてきたんですけど
コンパイラが何か分からないんです
変換という意味が分からなくて
apacheはサーバ代わりだし
0474nobodyさん
2008/10/13(月) 13:28:42ID:???0475nobodyさん
2008/10/13(月) 13:41:35ID:CGfh2V74ディレクトリについて少し質問
C:\php\pear\DBだった場合 (DBはフォルダ)
C:\php\pearでもいいんでしょうか?
0476nobodyさん
2008/10/13(月) 13:43:52ID:CGfh2V74申し訳ないです
0477463
2008/10/13(月) 19:28:39ID:???0478nobodyさん
2008/10/14(火) 00:30:55ID:z+viMTEc0479KYOO ◆1C9DnWzrKw
2008/10/14(火) 00:34:16ID:IZm37X9Z掲示板ってやつをつくってみたんですけど、
暇だったら見てみてください。
0480nobodyさん
2008/10/14(火) 00:44:52ID:???サポートは終了しても現行システムを移行させるまでは使うしかない
新たに始めるならPHP5だろう
dev版PHP6を見てると・・・また互換性のないUPがたんまり・・・
0482465
2008/10/14(火) 08:40:33ID:OazE8u180484nobodyさん
2008/10/14(火) 09:54:18ID:???>>442と同じことを>>465で訊いてしまう感覚とか、
C:\php\pear(>>436等) or C:\php5\pear のどっちに PEAR を入れたのか本人もよくわかってないとか、
目先の対症療法では解決しない根深いものを感じるよ。
0485nobodyさん
2008/10/14(火) 10:01:00ID:???0487nobodyさん
2008/10/14(火) 12:30:14ID:PhS+pU3Sphpを使ったwebサイト作成の勉強をしているのですが
C:\Users\ユーザー名\Documents\サンプルサイトの中でwebサイトを作っているのですが
C:\xamppの中にあるhtdocs内にあるphpを読み込もうとしても上手くいきません。
phpの初心者なんで概念自体があやふやなので変な質問でしたらごめんなさい<(._.)>
0488nobodyさん
2008/10/14(火) 13:06:00ID:???0489nobodyさん
2008/10/14(火) 18:05:42ID:???0490nobodyさん
2008/10/14(火) 18:49:32ID:???0491nobodyさん
2008/10/15(水) 15:36:31ID:jArJnvnCそれを.htaccess下のフォルダに入れました。
メインのPHPでそのファイルを読み取り認証
その後、ID.datファイルを外部から読込んで
IDごとに違うページを表示させているのですが
セキュリティ的に問題などあるでしょうか?
補足
ID.datも.htaccess下に入れてあります。
ちょっとした顧客の納期表示に使おうと思っています。
0492nobodyさん
2008/10/15(水) 15:40:03ID:???0493nobodyさん
2008/10/15(水) 15:42:31ID:jArJnvnCすいません
.htaccess .htpasswordファイルを置いてアクセス制限かけたフォルダです。
0494nobodyさん
2008/10/15(水) 15:43:47ID:???「.htaccessでアクセス制限しているディレクトリ配下」くらい予測しろ
>>491
.htaccessでdeny from allしてるなら直リン出来ないからまぁ安全じゃないか?
出来ればルート外に置くのがベストだが
0495nobodyさん
2008/10/15(水) 15:56:52ID:jArJnvnC>>494
ありがとうございました。
ルート内にあったのでルート外に置くようにしてみます。
0496nobodyさん
2008/10/15(水) 17:58:29ID:9ioAzBde0497nobodyさん
2008/10/15(水) 20:04:57ID:???使えるかどうかはともかく。
0501nobodyさん
2008/10/16(木) 17:46:31ID:???0502nobodyさん
2008/10/16(木) 18:09:17ID:???じゃぁ普通にレン鯖か
しかしレン鯖だとセーフモードやらパーミッションやら意識することが多いよな
・・・そうかそれも勉強か!
0503nobodyさん
2008/10/16(木) 18:21:05ID:???0504nobodyさん
2008/10/16(木) 20:03:13ID:???0505nobodyさん
2008/10/17(金) 13:22:48ID:???教えて頂けませんでしょうか。
0506nobodyさん
2008/10/17(金) 14:04:27ID:???コアの部分はPHPまぬある必見
PECLの分まで纏めたサイトなんてある意味マゾだ
0507nobodyさん
2008/10/18(土) 00:42:37ID:VyIaaBn5>>497
有難うございます。
只今、PHPと共にモバイルサイト構築を勉強中で、
Net_UserAgent_Mobileがどんな具合なのか使ってみたかったんですが
自分の力では無料サーバのセーフモード下にPEARを
インストールすることが出来ませんでした…orz
・無料サーバ
・php5.25
・セーフモード下
では、やはり不可能なのでしょうか。
どなたかご教授頂ければ幸いです。
0508nobodyさん
2008/10/18(土) 01:19:10ID:???ぶっちゃけ依存PEARも含めてアップロードしてパスを通せば使える
(共有ライブラリに依存しないなら)
インストーラでなければならないわけじゃない(依存が面倒なだけ)
0509nobodyさん
2008/10/19(日) 13:57:02ID:???サーバ側の処理はどうなりますか?
0510nobodyさん
2008/10/19(日) 13:59:27ID:???0511nobodyさん
2008/10/20(月) 11:13:17ID:???メール送信フォームのフォーム入力の所についてなんですけど
間違ってたら警告出して
間違ってなければ確認画面に飛ばすように書きたいんですけど
飛ばすと入力情報が消えてしまいます。
if (isset($_POST['oshibotan'])){
if (isset($_POST['namae']=="")){
echo "名前書いて<br>";
}
}else{
$url = "kakunin.php";
header("Location:$url");
}
}
なんとなく「そりゃ飛ばないわな」って思うんですが
わからない〜( p_q)
■ このスレッドは過去ログ倉庫に格納されています