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

くだすれPHP(超初心者用)6

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/04/05(日) 22:04:26ID:???
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。

PHP Home Page
ttp://www.php.net/
ttp://jp.php.net/

前スレ
くだすれPHP(超初心者用)5
http://pc11.2ch.net/test/read.cgi/php/1227303362/

関連スレ
PHP総合雑談スレ
http://pc11.2ch.net/test/read.cgi/php/1200314111/
PHP初心者勉強会やらんかね!
http://pc11.2ch.net/test/read.cgi/php/1209137730/
02372342009/05/31(日) 21:44:08ID:ONuTHT0e
>>235
ありがとうございます

>>236
設置すらままならず、ググってそれっぽいの一通り設置しまくって
唯一上手く設置出来たのがこれです…orz

その後の調べでJavaScriptでHTMLへcgiのテキストデータを埋め込めそうな気配です
ただ素人目で見ても日記の展開が厄介そうなので別のブログも検討してます
おすすめありますか?
0238nobodyさん2009/06/01(月) 02:25:22ID:???
WordpressかMovableTypeだったら既成のプラグイン組み合わせで全部できそうな気もするが
0239nobodyさん2009/06/01(月) 08:45:06ID:???
>>233
ob_flushは色々気をつけたほうがいい。ググったら速攻で出てきたページを貼っておく。
ttp://d.hatena.ne.jp/shimooka/20070426/1177571621
0240nobodyさん2009/06/01(月) 11:48:51ID:/vKaesuU
php初心者です。
phpには、64bit整数が無いみたいですが、みなさん、どのようにして32bit以上の整数を扱ってますか?

ちなみに、現在、MySQLのbigint型の値をどのようにしてphp側に受け取ろうか、という点で悩んでます。
0241nobodyさん2009/06/01(月) 12:48:49ID:FEmWlQvb
>>240

32bit以上の整数を使ってどんなサイト作ってるの?

オレ初心者だけど文字列として扱うけど
0242nobodyさん2009/06/01(月) 12:57:19ID:???
BCMath?
0243nobodyさん2009/06/01(月) 13:38:00ID:???
pg_copy_fromで一括登録しようと思うのですが、TABLEのPrimary KeyをSERIALで設定しています。

この場合、登録しようとしている配列にはPrimary Keyの設定が必要になってくるのでしょうか?
教えて貰えれば幸いです。

NULLで突っ込めば、データベース側がINSERTと同じように自動的に振ってくれるのかな?
0244nobodyさん2009/06/01(月) 13:39:51ID:???
試してみりゃすぐ分かんだろ
0245nobodyさん2009/06/01(月) 14:02:04ID:/vKaesuU
>>241
32bit整数は単純にDBのサロゲートキーとして使用しています。
なので、php側ではあまり意味を持たないのですが、主キーなので必須なのです。

ちなみに、データは延々と増え続けるので、32bit整数だとすぐオーバーフローになってしまいます。
なので64bit整数を採用しているわけです。

単純にphp側で64bit整数を用意して受け取りたいだけなんですけどね。
それが駄目らしいです<php
0246nobodyさん2009/06/01(月) 14:09:23ID:???
4294967295件もレコードあんの?
0247nobodyさん2009/06/01(月) 14:17:59ID:/vKaesuU
>>246
毎日数千〜数万件のレコードが作成されるので、数年運用すると32bit以上はいくと思います

0248nobodyさん2009/06/01(月) 14:27:17ID:???
>233です。
ob_start('mb_output_handler');
を
単に
ob_start();
にしたら問題なく登録されました。
日本語が含まれてるのでmb_output_handlerを入れたのですが、これが駄目だったみたいですね。
CSVがShift-JISでDBがUTF-8だったので変換がうまくいかなかったのでしょうか?
0249nobodyさん2009/06/01(月) 14:27:46ID:???
その計算はちょっとおかしいと思うが
まぁPHPでもBIGINTが使いたいなら>>242も言ってるようにBCMathでいいじゃない
0250nobodyさん2009/06/01(月) 14:33:28ID:/vKaesuU
>>242
>>249
ふむふむ
BCMathですか
調査します
0251nobodyさん2009/06/01(月) 15:41:44ID:???
問い合わせフォームなのですが、イレギュラーな行為をしようとすると
挙動がおかしくなってしまいます

form.html→[POST]→confirm.html→[SESSION]→complete.html
              ↓     ↑
           [SESSION]  [POST]
              ↓     ↑
              rewrite.html

基本的に上のような形で作っていて
基本的な動作には問題がないのですが、
ちょっとイレギュラーな動作として、confirm.htmlで確認した後、complete.htmlへのリンクを押さずに、
(confirm.htmlでは「送信する」と称したcomplete.htmlへのリンクがあります)
アドレス直打ちでform.htmlへ戻り、
form.htmlで再度記入して、記入漏れがあった場合
rewrite.htmlでは記入がある問題のない項目は$_SESSIONで自動的に表示されるのですが、
その$_SESSIONが古いままなのです。

分かりにくいですね・・・すみません。例えばですが、初回の訪問で
form.htmlで名前に「太郎」と記入、メールは未記入、確認submitボタン→
confirm.htmlでは$SESSIONに$POSTを代入、その次にメールが空欄なので自動判定してrewrite.htmlへ飛ばす
rewrite.htmlでは名前の項目に$SESSIONを受け取るので「太郎」と表記、そしてメール項目は空欄で、
メール項目の上にメールが未記入ですと表記する。
メールを「[email protected]」とrewrite.html画面で記入して確認submitボタン→
confirm.htmlでは今度は未記入項目がないので、「問題なければ送信(complete.htmlへのリンク)」をechoで表示、
そして本来ならここで、送信をクリックしてcomplete.htmlへ行くところを・・・・・

クリックせずに、form.htmlと直打ちして最初のフォーム画面に戻る、
そこで今度は名前の項目には「花子」と入れ、メールを空欄のまま確認submitボタン→
confirm.htmlがメールが空欄なので自動判定してrewrite.htmlへ飛ばす
すると何故か、名前欄、メール欄ともに先ほどの「太郎」と「[email protected]」が表示されてしまうのです。
本来なら、ここでは名前欄に「花子」、メール欄は空欄でメールが未記入です警告がでるはずだと思うのですが・・・。
0252続き2009/06/01(月) 15:44:08ID:???
すいません、長文ですが、もう少しあります。

それでsessionを破棄していないせいかと思い、form.htmlの最初に
session_start();
$_SESSION=array();
session_destroy();
を付け加えてやったのですが、挙動はかわりません。

クッキーやキャッシュのせいかと思って
if(isset($_COOKIE[session_name()])){
setcookie(session_name(), '', time()-42000, '/');}
や
header('Pragma: no-cache');
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
もform.html追加したのですが、相変わらずです・・・・。

原因はどこだと思われますか?
02532372009/06/01(月) 16:53:29ID:ff8Q7K7b
niftyの無料のやつで作っていたんですが、PHPに対応していないことが発覚しました
通りで設置できないわけだ
>>238のWordpressを導入してみたいのでxrea.comに移ります
0254nobodyさん2009/06/01(月) 16:58:20ID:kn+vnO2F
配列について質問です。
arr=("青","青","青","青","赤","赤")
上記の配列で、countでは、要素数は確認できますが、
青の要素数を数えるには」どうしたらよろしいでしょうか?
0255nobodyさん2009/06/01(月) 17:05:31ID:???
>>251
フォームのデザインパターンがぐたぐた。
もっと参考書見た方がいいよ。
文章わかりずらいす。
ちゃんと読んでないけど、セッションの代入で失敗してるでしょ。
セッションに値が入ってるか一行ずつ確認してみ。
0256nobodyさん2009/06/01(月) 17:15:22ID:???
>>254
array_count_values
0257nobodyさん2009/06/01(月) 17:23:16ID:???
>>256
ありがとうございます。
PHPは関数が豊富で使いやすいですね。
02582512009/06/01(月) 17:27:19ID:???
>>255
レスありがとうございます。
わかりずらくてすみません。

あれからずっと検証してたのですが、
どうやら未入力があった場合にheader(location)で
再入力ページに飛ばしてたのですが、
手動でリンククリック移動にすれば問題なく動作しましたので
header(location)で飛ばす時にsessionが切れてしまうっぽい感じです。

sessionの保存先など再検証してみます。

セッションはheader(location)でページ移動さえしなければ
全てのページで問題なく想定したものがechoで表示できましたので、
代入は問題ないかと思います。
ありがとうございます。
0259nobodyさん2009/06/01(月) 18:01:12ID:???
headerで飛ばすときにSIDを入れたらどうなんの?
っつかSID発行されてる?
0260nobodyさん2009/06/01(月) 18:15:52ID:???
headerで飛ばすのはフォームのパターンですので、
関係ありません。
session_Startちゃんとしてますか?
02612512009/06/01(月) 18:44:40ID:???
>>259
>>260
ありがとうございます。

SIDはについてはまだ検証してませんが
(というかSIDをまだよく理解してないので、勉強します。すみません。)
初心者的な見解ですが、どうやらこれが原因っぽい所にいきつきました。
やはり自分の単純ミスだと思います。
ご指摘の通りheader自体が悪さしてるわけでもないですよね、誤解をあたえるような
記述になってしまいましてすみませんでした。
どうやら自分のheaderの書き方に問題があるんだと思います。

header("location: ******")の****のところを
絶対パスを記入していたのですが(http://www.abc.com/rewrite.htmlのように)
手打ちでform.htmlに戻る時に、アドレスがhtttp://abc.com/form.htmlのようにwwwが抜けていたので
サーバアドレスが変わったと認識されてsessionが切れていたのだでしょうか・・・?
これを相対パスで記述した所、全ての動作が想定したものになりました。

お騒がせしてすみませんでした。ありがとうございました。

ちなみに・・・header("location:")は絶対パスで書くべき、いや相対パスでいい、いやどちらでもなく
完全な形のURL(?)で書かないといけない、と色々情報を見つけたのですが
正式なlocationヘッダの記述の仕方とかあるのでしょうか?
というか、書き方もめちゃくちゃで知識もグダグダだと思うので
色々長文書いてしまいすみません。色々と勉強して出直してきます。失礼しました。
02622372009/06/01(月) 23:30:31ID:ff8Q7K7b
ロリポップで借りてWordpressを設置できました
トップページのHTML内の一部分にWordpressから最新記事2件を全文表示で
載せたいのですが、Wordpressの最新記事の呼び出し方が分かりません
>>224の<?php include_once('blog_reader.php'); ?>でも()内が分からず、
他、調べて出てきたものを試してみてもできませんでした
教えてください、お願いします
0263nobodyさん2009/06/01(月) 23:44:41ID:???
WordPress (ワードプレス) その12
http://pc11.2ch.net/test/read.cgi/blog/1237205315/
0264nobodyさん2009/06/01(月) 23:49:01ID:???
>>262
なんつーか全力で遠回りするタイプの人だなぁ
02652622009/06/02(火) 00:04:45ID:nshP4Iwz
>>264
本当にど素人ですみません
5日前までHTMLを拡張子だとしか認識してなかったレベルです
3日前までPHPは新書の出版社名だと思ってました

>>263のスレに行ってきます
お世話になりました、また移動しますノシ
0266nobodyさん2009/06/02(火) 05:39:38ID:td4jeRp0
携帯サイトの文字コードについての質問です。
現在、php+MySQLで携帯サイト(3キャリア対応)を作成しているのですが
文字コードの問題で文字化け等で困っています。
MySQLは文字コードがutf-8です。

始めは、utf-8でコーディングしていたのですが、携帯サイトはShift-JISの方が良いとの事で
コーディング自体をShift-JISに変えてみたのですが、今はDBからの値が文字化けしてしまっています。
いまは文字コードがバラバラになってしまい統一出来ていない状態です。

・出力部分だけをShift-JISに変換して表示させた方がいいのでしょうか?
(例■$html = mb_convert_encoding($html, "SJIS", "UTF-8");

・それと「SJIS-win」などは使った方がいいのでしょうか?
絵文字などは

mb_substitute_character('none');//存在しない文字コードの処理を設定。
$Pictograph = mb_convert_encoding($Pictograph, 'Shift_JIS', 'Shift_JIS');//絵文字削除

上記のような事をして削除しておりました。
しかし、正常に表示(3キャリア)されるのなら絵文字表示してもいいかなと思っている状態です。

長文申し訳ありません。
0267nobodyさん2009/06/02(火) 08:14:19ID:???
データベースの文字コードをJISにする
以上。
0268nobodyさん2009/06/02(火) 08:16:20ID:???
>262
PHPを出版社だと思ってたなんて・・・ま、オレもそうだったけどw
Wordpressって使ったことないんだけど、RSS出力とかないのかい?

>266
文字コードが違うと文字化けするのは当たり前だろう・・・
HTMLがSJISならDBからの出力もSJISにしないと。
出力するところだけmb_convert_encodingで変換させるといいよ。
DBに登録するときは反対にSJISからUTF-8に変換しないとDBのほうが化けるからね。
02692652009/06/02(火) 11:16:28ID:QiIiWnUH
>>268
あります
でも俺の技術力じゃどうにもできません
今は、
WordPressループを挿入?トップページを静的ページに?
テーマ変更?ページテンプレート使用?
どれがいいか向こうで聞いてます
やっぱり本当は自分でデザインしたHTML内部に埋め込みたいなあ
0270nobodyさん2009/06/02(火) 11:34:43ID:???
技術力がないっていっても、ページの中の一部分にWordpressの記事を埋め込みたいのならRSSがベストじゃないかな。
ググればなんぼでもRSSに関する事が出てくるから調べてみるといいよ。
PEARなんか使えば簡単に使えるから。
PHP5なら最初からRSS関係の関数はあるんでもっと簡単だよ。
配列にRSSで読み込んだ記事が入るんで、普通にそれをprintやechoで出力するだけだし。
0271nobodyさん2009/06/02(火) 12:00:45ID:???
そもそもphpがまったくわかって無いと見たが。
やりたいことのレベルに達するのはかなり苦労しそう。
0272nobodyさん2009/06/02(火) 14:49:38ID:???
DBの文字コードをJISにするって新し過ぎだろ
メール専用DBか?
0273nobodyさん2009/06/02(火) 14:53:47ID:???
だな
普通はEUCだよな
0274nobodyさん2009/06/02(火) 15:01:45ID:???
>>266
docomoの古めの機種は対象外と割り切って、
出力もUTF-8にすればよろし。
0275nobodyさん2009/06/02(火) 18:45:59ID:???
utf-8使えよ
02762692009/06/02(火) 19:03:40ID:???
>>270
RSSでできました!
本当にみなさんありがとうございました
0277nobodyさん2009/06/02(火) 19:09:02ID:???
DBは普通はUTF-8だよな。
最近はHTMLもUTF-8にしてる。
携帯のサイトはSJISだけどね。
0278nobodyさん2009/06/02(火) 23:08:51ID:yP1TTuLt
WordPressのソースコード見て疑問に思ったんです。
基本オープンソースのアプリケーションてMVCはっきりしていないですよねって


実際プロの人っていうか、金もらってWebアプリ作られている方は
どんな感じでコーディングなさっているのかなぁって思ったんです。

0279nobodyさん2009/06/02(火) 23:17:04ID:???
このスレの奴数人は多分SJISとJISの違いを解ってないっぽいな
0280nobodyさん2009/06/02(火) 23:26:34ID:???
DBとコードは全てUTF-8。HTML出力は基本UTF-8で、必要な場合はShift_JIS。

>278
プログラミングでは、上のほうのレベルでは金をもらっているかもらっていないかはあまり関係ない。
Linux開発者は基本的に金をもらっていないわけだが、彼らの技術力には疑問の余地はないだろ。

んで、実際だが。
PHP開発の大半はフレームワークに移行しているらしい(ソースは『PHPプロ!』)ので、恐らく大半がMVC。
うちは自社サービスだが、フリーダムすぎて恐らく参考にならない。
同じサービスのはずなのにエンドユーザ側と管理側でフレームワークが違う、とかあったからな。誰か言えよと。

ちなみにWordPressはプラグインなどの拡張性を考えた結果の設計だろう。特殊な例だと思う。
0281nobodyさん2009/06/02(火) 23:34:03ID:yP1TTuLt
>>280
たしかにプラグイン関連を考えると特殊ですね

お聞きしたいのですがMVCのvはどんな感じでコーディングなさってます?

自分はZF,Smartyです。
0282nobodyさん2009/06/03(水) 00:34:52ID:???
うちではフレームワーク使ってないなぁ。
フレームワークを使う利点がイマイチわからないんだよね。
設計・開発・管理を全て一人でやってるし・・・。
でもそのうちフレームワークに移行しないといけないな、とは思ってる。
思ってるけど時間がなくてなかなか移行に踏み切れない。
0283nobodyさん2009/06/03(水) 00:47:44ID:???
一人なら別にいいんじゃない?
自分なりのフレームワークもどき出来てきちゃうし。
0284nobodyさん2009/06/03(水) 01:28:18ID:???
この自分なりのフレームワークもどきがネックで
色々ごてごて機能追加とか思いついたことくっつけてくと
下位互換が無くなったりして、古いアプリケーションとか放置になるという。
0285nobodyさん2009/06/03(水) 01:57:55ID:???
http://php.dori-mu.net/search.html
これ見て勉強中です。
search.phpのスキルの部分で
$temp_where .= "skill REGEXP '$value' || ";
という部分があるんですが、
これは$temp_where .= "'$skill' REGEXP '$value' || ";
ではないのでしょうか。
なんでskillだけなんでしょうか?
すいません。教えてください。
02862852009/06/03(水) 01:59:39ID:LH3y5rMl
すいません。教えてください。
0287nobodyさん2009/06/03(水) 02:21:04ID:???
>>285
foreach($skill as $value) {
$value = addslashes($value);
$temp_where .= "skill REGEXP '$value' || ";
}
の部分が、ナニしてるか理解出来てないみたいだね。

例えば、$skill = array('a', 'b', 'c')の場合
$temp_whereは
skill REGEXP 'a' || skill REGEXP 'b' || skill REGEXP 'c' ||
という文字列になる。

意味は、取得するレコードを、skillの内容がaまたはbまたはcを含む場合のみに絞り込むってこと

skillはテーブルの列のことであり、$skillとは関係ないの
同じskillという文字が入っているから、勘違いしたんだと思うけど
0288nobodyさん2009/06/03(水) 10:30:53ID:hUsGsYQX
このskillの中身はなんなんでしょうか?
skillはテーブルの列ってどういう意味?
よくわかりません。
後$temp_where = substr($temp_where, 0, -4);
はどういう意味でしょうか?
0289nobodyさん2009/06/03(水) 10:33:47ID:???
>>285でお前が出してるurlに全部書いてあるわけだが、
そもそもデータベースそのものが理解できて無いのか?
だとするとphpの前に勉強することいっぱいあるぞ。
0290nobodyさん2009/06/03(水) 10:50:55ID:???
そのページざっと見てみたがDBの仕組みについてはほとんど触れて無いんだな。
解説も雑だし初心者用としては不向きだと思われ。まだ本買ったほうがいい。
02912802009/06/03(水) 23:14:21ID:???
>281
テンプレートエンジンは基本的にはSmarty一本。デザイナーや企画者に無駄な負荷をかけないための措置。
デザイナーが携わらない社内利用モノとかも、面倒という理由でそのままSmartyになってる事が多い。
ビュー層がHTMLではない場合(CSVとかXMLとかJSONとか)は単純なPHPで処理してる場合もある。
0292nobodyさん2009/06/04(木) 00:27:07ID:???
Smartyってどっちかというとデザイナーに負担掛かるテンプレートな気がする
0293nobodyさん2009/06/04(木) 00:36:02ID:???
プログラミング未経験でこれから始めようと思うのですが
おすすめの参考サイトがあれば教えてください。
0294nobodyさん2009/06/04(木) 00:40:09ID:???
>>293
公式
0295nobodyさん2009/06/04(木) 00:49:02ID:???
http://www.php.net/manual/ja/
このサイトは便利でいいよね
0296nobodyさん2009/06/04(木) 01:06:34ID:???
>>293
プログラムを教えてください
http://pc12.2ch.net/test/read.cgi/tech/1243778529/
02972662009/06/04(木) 03:44:06ID:7qmYMxpO
解答ありがとうございます。
DBの文字コードは変えるつもりはありません。というより他のシステムに支障をきたすので…

今の所はHTMLの出力部分を変数に入れて、「mb_convert_encoding」でSJISにしてして出力する事にしました。
HTML部分を全て変数に入れてしまっているので、かなり強引だと思いますが一応正常に出力出来ました。
0298nobodyさん2009/06/04(木) 06:38:42ID:???
>>294,295
ちょっと自分には難しかったです。
>>296
このスレは分かりやすいですねでも
51レスで終わってるのでそれ以降が分からないorz
0299nobodyさん2009/06/04(木) 07:37:25ID:???
>>298
「2時間目」の講義を希望してるってこと?
0300nobodyさん2009/06/04(木) 08:47:07ID:f7spCjC/
MySQLのREGEXP関数は日本語対応していないようです
ttp://dev.mysql.com/doc/refman/4.1/ja/regexp.html
フィールド名 フィールド型 属性
number int(5) PRIMARY KEY, AUTO_INCREMENT
name varchar(255) NOT NULL
address varchar(255)
gender varchar(255) NOT NULL
skill varchar(255)

今回は「名前」「住所」「性別」「スキル」の4つの条件で検索できます。
↑

0301nobodyさん2009/06/04(木) 08:53:24ID:f7spCjC/
>>293

変数→配列→条件→フォームを使った操作→関数
クラス→SQL→データベース接続→Webアプリを作ろう
→PEAR→フレームワーク

が一般的な流れでおそらく初心者は関数・クラスで挫折すると思う。
自分で本屋に行ってクラスの項目を開いて読みやすい参考書を選ぶとGood!

クラス・メソッド・コンストラクター・プロパティなどがキーポイント
03022982009/06/04(木) 11:31:58ID:???
>>299
yes、phpプロとかてサイト見つけたので
今、参考にしてます。

>>301
やっぱり参考書も1冊は必要なのかぁー
これから本屋行って色々見てきます^^;
0303nobodyさん2009/06/04(木) 11:32:36ID:???
別にいらんと思うよ
0304nobodyさん2009/06/04(木) 13:03:28ID:f7spCjC/
>>302
がんばってね
0305nobodyさん2009/06/05(金) 00:24:57ID:???
>>303
過去に少なくとも一つ、プログライング言語をたしなんでいれば、そうかも知れんが、
未経験者って言ってるから、始めのうちは何か手元にあるといいかもね。

最終的には、公式サイトと適当にググった結果を参照することになるだろうけど
0306nobodyさん2009/06/05(金) 00:50:37ID:???
俺未経験だったけど特にいらんかったよ
0307nobodyさん2009/06/05(金) 02:20:53ID:???
俺は参考書無くても問題なかったぜ自慢はなんの役にも立たん
0308nobodyさん2009/06/05(金) 02:54:33ID:???
・リファレンスを引ける事
・エラーメッセージを読める事(設定をちゃんとして、数十行の英文でもちゃんと目を通す)
辺りは必須だな。2chに限らず、ダメな初心者はこの辺ができていない事が多い。
この辺ができてれば、後は努力でなんとでもなる。

error_reportingとdisplay_errorsに触れてないものは、その時点で紙だろうとサイトだろうとアテにならん。
0309nobodyさん2009/06/05(金) 09:12:47ID:???
>>307
なんで?
0310nobodyさん2009/06/05(金) 17:00:46ID:fRLRCZ+m
$input_mode = ($_GET["mode"]) ? $_GET["mode"] : $_POST["mode"];
↑どういう意味ですか?modeって
0311nobodyさん2009/06/05(金) 17:27:33ID:???
?mode=a
のURLクエリでしょ
0312nobodyさん2009/06/05(金) 17:27:37ID:???
isset抜かしてないか?
$_REQUEST使えよ
03133102009/06/05(金) 17:29:34ID:fRLRCZ+m
やっぱマイナーなソースだよねぇ。
使わねぇでおくわ。
0314nobodyさん2009/06/05(金) 17:32:08ID:???
>>310
PHPマニュアルの比較演算子の三項演算子を参照
0315nobodyさん2009/06/05(金) 20:08:58ID:???
演算子は案山子に似てますか?
0316nobodyさん2009/06/05(金) 20:16:09ID:???
>>310
GETで入ってきた場合は、その値を代入。
そうじゃない場合は、POSTの値を代入。

こういう意味じゃない?
0317nobodyさん2009/06/08(月) 00:39:32ID:???
>>313
全然マイナーじゃない。大抵の言語にある.
可読性高まるし、同じ意味のifより使われる。
0318nobodyさん2009/06/08(月) 15:55:38ID:???
話の流れをぶった切って申し訳ないのですが、PHP4でPDF出力をする必要があります。
色々ググったところ、日本語を使うなら今ならTCPDFがいいという結論になりましたので、それを使うことになりました。
解説サイト(http://www.monzen.org/Refdoc/tcpdf/)を参考に設置したのですが、
真っ白なPDFしか出来ません。上記のサイトの初っぱなのサンプルをそのまま入れても真っ白です。
下の方にある、様々なサンプルもいくつか試しましたがどれも真っ白なPDFしか出来ませんでした。
一体何が悪いのでしょうか?
SourceForgeからPHP4用のTCPDFをダウンロードして、ルート下のincludeというフォルダにtcpdfフォルダをぶち込んで、それをrequireしています。
0319nobodyさん2009/06/08(月) 15:59:15ID:???
一番手っ取り早いのはソース見てどこで想定外の動作してるか調べる
あと公式のドキュメントなりFAQなりを見てみれば?
0320nobodyさん2009/06/08(月) 16:20:57ID:???
>>318
apacheのエラーログになにか残ってないかね?
0321nobodyさん2009/06/08(月) 16:32:25ID:???
>320
特に関連するようなエラーログは残ってないです。
0322nobodyさん2009/06/08(月) 16:53:53ID:???
php5は問題なかったな
公式に書いてある説明だけど

・tcpdfフォルダ全体をchmod -R 644
※FTPソフトからパーミッションを変更する場合はサブフォルダ含めて一個ずつ644に変更
・「cache」と「images」フォルダのパーミッションを666に変更

それかpdfを出力するのにメモリが不足してるのかも。
あと自分で書いたスクリプトの各処理のあとに何がを画面に表示させて、どの行で止まってるのかを調べると良かろう。
0323nobodyさん2009/06/08(月) 17:03:51ID:???
試しにPHP5なサーバーにPHP5用をアップロードしたところ、こちらは正常に表示されました。
PHP4な他のサーバーにPHP4用をアップロードしましたが、こちらはまたもや真っ白でした。
PHP4用は何か他に設定しないといけないところがあるんですかね・・・
パーミッション関係は設定しました(imagesを666にすると、読み取れないとエラーが出たので755にしましたが)。
0324nobodyさん2009/06/08(月) 17:48:19ID:???
php4でも特に設定はいらない
php4でもバージョンはいろいろあるのでそれを確認する
どこで処理が止まっているのかを特定する
chacheフォルダに書き込めるかテストする
お宝画像を発掘しそれをスレ住人に与える
0325nobodyさん2009/06/08(月) 17:56:59ID:???
PHPのバージョンは4.3.2です。
真っ白なページといいましたが、ちゃんとAcrobatReaderは起動してPDFの表示は出来ています。
PDFが真っ白なだけで、生成はされているようです。PDFの情報もきちんと入っています。

とりあえずTCPDFはおいておいて、FPDFにチャレンジしましたが、こちらは
「FPDF error: This version of PHP is not supported」と出てPDFすら表示されません。
公式を見ると、PHP4.3.1以上となっているので、大丈夫なはずなんですが・・・。

もうウチのサーバーではPDFを生成出来ないのでしょうか・・・。
0326nobodyさん2009/06/08(月) 18:03:51ID:???
とりあえずFPDFのソースで、件のエラーの部分をコメントアウトし、強制的に動作させましたが
やはりTCPDFと同様に真っ白なPDFが生成されました。
なにか他の原因がありそうですが、糸口が見つかりません・・・
0327nobodyさん2009/06/08(月) 18:20:15ID:???
セーフモードとかどうなってる
0328nobodyさん2009/06/08(月) 18:23:49ID:???
phpのセーフモードはOFFです。
同じサーバー内で動いているphpMyAdminのPDF出力はTCPDFを使っていると思うのですが、こちらはちゃんとPDFが出力されます。
0329nobodyさん2009/06/08(月) 19:32:32ID:???
images, cache のパーミッション 777 は試した?ここまで開けなくてもいいはずだけど。
あわてていろいろ別のに走ると余計に遠回りになるかもしれないよ。
0330nobodyさん2009/06/08(月) 20:44:25ID:???
images,chcheのパーミッション777は試しました。
PDFlibも念のため試しましたが、やはり真っ白なPDFが開くだけです。
関係あるかどうかはわかりませんがGDライブラリは使えます。
phpMyAdmnのPDF出力は文字化けするものの、ちゃんとPDFが生成されてますので全くPDF関係が使えないというわけではなさそうですが・・・。
0331nobodyさん2009/06/08(月) 21:58:50ID:???
PHPど素人です。

$pos = array("row" => 12.1234 , "col" => 77.1234);
$pos2 = array($pos,$pos,$pos,$pos);
$
$js = array(
array("id" => "icon1" , "name" => "ID_1","pos" => $pos , "size" => 10),
array("id" => "icon2" , "name" => "ID_2","pos" => $pos2, "size" => 10),
array("id" => "icon1" , "name" => "ID_3","pos" => $pos , "size" => 10)
);
0332nobodyさん2009/06/09(火) 00:02:44ID:H57jWlF/
がんばれ!
0333nobodyさん2009/06/11(木) 11:36:52ID:???
質問です。
DBに格納されている日付(TEXT) 「2009-06-11 00:00:00」を
PHPで引っ張ってきて、この日付から例えば1ヵ月後の日付を求めたい場合は
どうすればよいでしょうか?

いろいろ探してみると、strtotimeを使えばよいと書いてあるサイトがありましたが、
>>3,5,7,10,12月の月末に実行すると、そのまま3,5,7,10,12月が返ってきてしまいます。
とのことで、mktimeの使用を推奨しているようです・・・。
0334nobodyさん2009/06/11(木) 11:49:25ID:???
SQLでDBにやらせる手もあるけど、1ヵ月後の細かい定義は?
翌月同日なんだとしたら、31日の1ヵ月後は翌月月末なのか翌々月になるのか
mktimeだと例えば6/31は7/1になるけれども
0335nobodyさん2009/06/11(木) 11:51:38ID:???
1ヶ月後は具体的にどういう計算がいいの?
プラス30日とか、年月日の「月」だけが1加算されればいいとか、
例えば2009-01-31の一ヵ月後はいつになる?
0336nobodyさん2009/06/11(木) 12:30:18ID:???
>>333
DBでやらせたほうがいいよ、PHPのコードも減るし、2038年とかも気にしなくて良くなるし。
■ このスレッドは過去ログ倉庫に格納されています