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

【PHP】下らねぇ質問はID出して書き込みやがれ 75

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/10/16(木) 23:52:01ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 74
http://pc11.2ch.net/test/read.cgi/php/1221909788/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0749nobodyさん2008/11/07(金) 16:57:23ID:???
>>747
加算した数値を渡してないからでしょ・・・
>>745の言うとおりだよ
0750nobodyさん2008/11/07(金) 17:09:40ID:???
くだらね
0751nobodyさん2008/11/07(金) 17:12:29ID:???
>>740
2〜3年前にReflection聞いたことあるって嘘だろ
0752nobodyさん2008/11/07(金) 17:15:07ID:???
>>747
hiddenフィールドに数値入れてね
0753nobodyさん2008/11/07(金) 19:33:07ID:???
>>752
GETでやったほうが手っ取り早い
0754nobodyさん2008/11/07(金) 19:41:41ID:???
GETでやると、外部からのリンクで数値操作されても防御できない。
ま、REQUESTで処理してる段階で終わってるけどw
POSTもしくはCOOKIE
用途によってはSESSIONを使う方がお勧め
0755nobodyさん2008/11/07(金) 19:42:21ID:???
どこに数値操作を防ぎたいという話が?
0756nobodyさん2008/11/07(金) 19:51:32ID:???
どっかにその話が書いてないといけないのか?
リテラシーとしてこういう時にGETは使わない
えw もしかして使ってるの?
0757nobodyさん2008/11/07(金) 19:52:31ID:???
数値操作を防御できないとか言いつつなぜPOSTもしくはCOOKIEなのかと
0758nobodyさん2008/11/07(金) 19:57:56ID:???
だから、用途によってはSESSIONて書いてるやん
0759nobodyさん2008/11/07(金) 20:13:10ID:???
この質問では>>745,752が適切な答えだろ
それ以上ごちゃごちゃ言っても基礎を理解していない人なんだし無意味だ
0760nobodyさん2008/11/07(金) 20:25:06ID:???
単なる練習課題or遊びだと思ったけど

これを何らかの公開サービスに結びつけるほうがどうかしてる。
内容的にもレベル的にも
0761nobodyさん2008/11/07(金) 20:26:45ID:???
公開サービスwww
初心者のうちに磨いとくセンスってもんがあるんだよ。
ポストフォームを使ってる時にGETにパラメーター付けるなんて愚の骨頂ww
0762nobodyさん2008/11/07(金) 20:27:38ID:???
なんでpostメソッドを変えるという発想ができないの?
0763nobodyさん2008/11/07(金) 20:29:41ID:???
GETフォームにしたって同じ
hiddenに入れるんならパラメーターだが
URLにつけるって意味だろ、>>753はwww
0764nobodyさん2008/11/07(金) 20:30:24ID:???
>>763
アンカーそこ?
0765nobodyさん2008/11/07(金) 20:32:20ID:???
>>752は正解 >>753はバッドノウハウ
以上
0766nobodyさん2008/11/07(金) 20:33:39ID:???
>>763
何を主張したいのか分からん
GETフォームと何が同じ?URLにパラメータを付けたからどうなの?POSTとGETはどちらにどんな問題があって、どちらにすべきなの?
人に伝わる文章を書いてくれ
0767nobodyさん2008/11/07(金) 20:34:27ID:???
>>765
まさかhiddenに入れたら操作できないとか思っちゃってんの?
0768nobodyさん2008/11/07(金) 20:35:45ID:???
>>766
わからねぇんならいいよ。URLにパラメータつけてくださいませ

IDさらして質問するんなら別の人が答えてくれるんじゃね?
おれはお断りだが

いや、お前は知りたいんじゃなくて、煽ってるだけってのはわかってて釣られてるわけだがw
0769nobodyさん2008/11/07(金) 20:36:22ID:hn1Talld
下らねぇ質問はID出して書き込みやがれ
下らねぇ喧嘩もID出して書き込みやがれ
おまえらみっともないぜ
0770nobodyさん2008/11/07(金) 20:37:18ID:???
>>768
何だ説明できないんじゃないか
カウントアップを実現するだけならhiddenに入れてpostで持ちまわすよりgetでやったほうが遥かに楽
postでやるメリットなんか何かあるのか?
0771nobodyさん2008/11/07(金) 20:37:46ID:???
>>767
本人操作、外部からリンク、外部からフォーム、セッション固定攻撃
どれをどのくらい意識するかは、用途によると最初から書いてるが、それでも不満かおい。
0772nobodyさん2008/11/07(金) 20:38:47ID:N0eRiSkb
>>759の言うとおりその二つ以外は余計だ
まぁ、そんなことも理解できないのだろう
0773nobodyさん2008/11/07(金) 20:39:34ID:???
>>770
質問者がPOSTでフォームとボタン作ってるってことは、パラメーターは
POSTフォームの中でhiddenでやるのが妥当。
それを、URLに埋め込むなんて愚の骨頂 何度目だこれ。
0774nobodyさん2008/11/07(金) 20:39:52ID:???
>>768
釣られて乗せられてレスすんなよ
同じバカに見られるぞ
0775nobodyさん2008/11/07(金) 20:40:21ID:???
>>771
だからそれはお前の勝手な思い込みじゃん。違う?
冷静に747のコードを見てみろ。それでも771のようなことが言える?
俺にはピント外れまくったアドバイスにしか見えない。

それと、getでやるよりpostでやったほうが良いケースを教えてくれ
0776nobodyさん2008/11/07(金) 20:42:56ID:???
>>773
質問者がメソッドをpostで書いているから処理は必ずpostリクエストで実現しなければならないってこと?
もうちょっと柔軟性ってものが必要じゃね?頭固いよ。
特に相手は初心者の質問者だぞ。
「getメソッドにしたら?」だけでどれだけ簡単化できることか。
0777nobodyさん2008/11/07(金) 20:43:49ID:???
>>775
>>771でFAだろ
詳しく知りたきゃ質問立てろw
0778nobodyさん2008/11/07(金) 20:44:36ID:???
横からすまんが、GETメソッドにしたって簡単にならないよな?
0779nobodyさん2008/11/07(金) 23:21:46ID:???
SESSIONでいいんじゃ・・・
GETにしろPOSTにしろ外部にデータ出して持ちまわすって事は
改竄の可能性が上がるわけだし・・・
0780nobodyさん2008/11/07(金) 23:26:20ID:???
俺はpostが好き。
後747さんへsessionでやりましょう。
答えはここ
http://www.scollabo.com/banban/php/ref/ref_session_start.html


0781nobodyさん2008/11/07(金) 23:41:31ID:sUo3rc04
フレームワークって何ですか?
分かるように説明してくださる方お願いします
0782nobodyさん2008/11/07(金) 23:43:09ID:sUo3rc04
自己解決しました。
失礼しました
0783nobodyさん2008/11/08(土) 03:34:18ID:JnA3Aa5O
(1)getでURLにパラメーターつけてやる
(2)POSTでhideenに埋め込む
(3)クッキーで
(4)セッションで


おおざっぱに言って
以上の4つの方法があるということですね。
それで、(1)はセキュリティ的に危険だと。
0784nobodyさん2008/11/08(土) 05:25:35ID:???
(1)がとりたててセキュリティ的に危険ということはないです。
他の方法でも注意するべきことはあります。

ただ、だれかが踏んだURLをどっかにコピペしたりと、
"本人も他人も悪意がない状態"でも数値が漏れたり、誤動作の原因になるので、
目的の仕様を実現できなくなります。
個人的なデータを単純に埋め込むのには向かない。
個人的なデータをGETで正常に回すときはトークンを入れたりと
かえって手間がかかる。
0785nobodyさん2008/11/08(土) 06:17:07ID:JnA3Aa5O
もしかして、
mySQLでデーターベースに値を格納して、
一回ごとに、データーベースからデーターを
ひっぱってきて、それを表示する、って方法でもできる?
0786nobodyさん2008/11/08(土) 08:22:30ID:???
データベース使う方法はセッションと構図は同じこと
セッションIDをクッキーまたはクッキーが無効なら埋め込みで渡して
データはサーバ側で管理する
0787nobodyさん2008/11/08(土) 09:32:08ID:???
>>783
それは間違い。GETもPOSTも同じ。
あとクッキーとセッションも同じ。
「セキュリティ」的に危険とか言って「セキュリティ」が具体的に何を意味してるのか分かってないべ?
低レベル回答者に騙されすぎ。
用途によってどれも意味がある。上をちゃんと読んで自分で理解してから判断すれ。
0788nobodyさん2008/11/08(土) 10:07:06ID:JnA3Aa5O
できれば継続的に使いたいんだけど、
もしかして、ファイルに値を保存して、
そこのファイルから数字を取ってきて
表示、ってしたほうがよかったかな?
0789nobodyさん2008/11/08(土) 10:35:00ID:???
>>788
個人を特定して使いたいなら、クッキーにキーを保存して
SQLiteにでもデータを保存するのがお手軽かな。
0790nobodyさん2008/11/08(土) 10:40:34ID:???
>>787
> 用途によってどれも意味がある

これは用途によって「違い」を使い分けるという意味でしょうか?
それとも、「同じ」だからどれでも意味があるという意味でしょうか?
0791nobodyさん2008/11/08(土) 10:46:39ID:???
>>788
ページ別に「Web拍手」を記録したいとかいう用途なら、
それなりのソースを拾って読むのがお勧め。
0792nobodyさん2008/11/08(土) 12:09:28ID:JnA3Aa5O
http://www.komonet.ne.jp/~php/chap11.htm

このページに
<?php
print ($hoge);
?>

これをサーバー上の適当なディレクトリにアップし、ブラウザから次のように入力します。

http://www.***.***.jp/~***/***/test.php3?hoge=Hello

すると、引数「Hello」を受け取ったtest.php3はブラウザに「Hello」と出力します。

、、、と書いてあるので実際に実験したら、
Notice: Undefined variable: hoge in C:\xampp\htdocs\1.php on line 2

と出るだけで、教科書のとおりにならないんですけど、なんで?
0793nobodyさん2008/11/08(土) 12:21:37ID:???
>>792
そこに書いてある情報が古いから
PHP3あたりまではそれでいけたと思う
今も設定すればできるけど
$_GET['hoge']とするほうが良い
0794nobodyさん2008/11/08(土) 12:22:49ID:???
書いた後にそのページみたけどすぐ下に書いてるね
4.2以降の〜ってやつ
0795nobodyさん2008/11/08(土) 12:39:29ID:JnA3Aa5O
もしかしてphp3とphp4とで
かなり挙動が変わったのかな?
0796nobodyさん2008/11/08(土) 12:59:03ID:???
かなりというほど変わっていないが、PHP3はもう化石だろさすがに
0797nobodyさん2008/11/08(土) 13:11:41ID:???
>>795
そのレベルでそんなことやろうとしても効率悪いし
質問も基礎的すぎて無駄だから
まずマニュアルか入門本読んでからやれよ
0798nobodyさん2008/11/08(土) 13:53:27ID:???
くだすれPHP(超初心者用)4
ttp://pc11.2ch.net/test/read.cgi/php/1213356756/l50
0799nobodyさん2008/11/08(土) 13:58:51ID:???
2chへのリンクぐらい直リンしろよw
0800nobodyさん2008/11/08(土) 14:22:21ID:ONquUP0K
画像を表示するページをirvineなどのダウンロードツールから守る為にはどうすればいいですか?
0801nobodyさん2008/11/08(土) 14:31:35ID:ne9hzuFx
すみませんが、質問です。

PHP5では、あるstaticメソッドを他のメソッドから呼び出す場合、
self::funcName();
という形で呼び出しますが、PHP4にはselfは無いようです。

PHP4ではどのようにして他のメソッドから呼び出せばよいのでしょうか?

ClassName::funcName();
というやり方で呼べるのは確認しましたが、これはクラス名が変更されたとき
に修正箇所が増えてわずらわしいです。もっと良い方法は無いのでしょうか?
0802nobodyさん2008/11/08(土) 15:09:32ID:???
>>800
JavaScriptを使ってirvineが解釈できない書き方する
0803nobodyさん2008/11/08(土) 15:29:12ID:???
>>801
__CLASS__
4にあるかは知らん
0804nobodyさん2008/11/08(土) 16:17:08ID:???
>>803
ありがとうございます。4.3.0以降にあるようです。
しかし__Class__はクラス名を納めた定数であり、そこからstaticメソッドを呼
び出す方法が、私にはわかりません。

Javaでいう Class.forName() みたいなものがPHP5, およびPHP4にあるのでしょ
うか?PHP5かららリフレクションAPIが存在するようですが、調べてもよく分か
りません。
0805nobodyさん2008/11/08(土) 16:24:33ID:???
クラス名が変更されたときに修正箇所が増えて煩わしいんだべ?
んで__CLASS__でクラス名が取れるんだべ?
つまりそういうことだ
0806nobodyさん2008/11/08(土) 16:27:00ID:???
あともう一つ質問なのですが、staticなメソッド間で共有できる、staticなプ
ロパティ変数は、PHP4には存在しているのでしょうか?

PHP5なら、static $変数名というプロパティ変数を宣言すればよいのですが。

メソッドの中で変数にstatic宣言子をつければ、そのメソッドの中だけで永続
した変数を作れますが(C のstatic変数と同じ)、staticメソッド間で共有す
ることは出来ませんし。
0807nobodyさん2008/11/08(土) 16:34:55ID:ne9hzuFx
すみません、いつもの癖でsageで書き込んでしまっていました。

>>805
もしかして evalを使えとおっしゃっていますか?
eval(__Class__ . "::fuga1();");
たしかにこれなら動きますが、できたらevalは最後の手段にしたい気が。
0808nobodyさん2008/11/08(土) 16:40:50ID:???
>>806
マニュアルくらい読んでください
>>807
・・・
0809nobodyさん2008/11/08(土) 16:52:51ID:ne9hzuFx
>>808
すみません、たしかにマニュアルに書いてありました。

http://search.net-newbie.com/php/keyword.paamayim-nekudotayim.html
> クラス関数はありますが、クラス変数はありません。

何かその代替物として使えるものもないということでしょうか?

どうも呆れられてしまったようで申し訳ありません。ですがまじめに考えても
分からないのです。どうかお答えいただける範囲でお教えいただけたらと思い
ます。
0810nobodyさん2008/11/08(土) 17:01:34ID:ne9hzuFx
関係ありそうなページを見つけました。

PHPで変数のクラス名からインスタンスを生成する - (DxD)
http://dxd8.com/archives/110/

しかし new __Class__(); はエラーになります。
PHP Parse error: syntax error, unexpected T_CLASS_C, expecting T_STRING or T_VARIABLE or '$' in /home/agni/hoge.php on line ??

まあ今回はstatic呼び出しですから、newは関係ありませんし、そもそも上の
ページでもstatic呼び出しには失敗しているのですが。

あと、これは成功することが分かりました。
$hoge = __Class__;
$fuga = new $hoge();
$fuga-->fuga1();

しかしこちらはダメです。
(new $hoge())-->fuga1();

何でこうなるのかぜんぜん見当がつきません。
0811nobodyさん2008/11/08(土) 17:55:03ID:???
>>801
PHP4インスコすんの面倒だから試してないけど

call_user_func(array(__CLASS__, 'funcName'));
0812nobodyさん2008/11/08(土) 18:22:08ID:???
>>810
それは無理
08138002008/11/08(土) 19:42:42ID:ONquUP0K
>>802
PHPでできないですか?


それと別の質問なんですが
データベースに入っている画像のデータを、jpgなどのヘッダを吐いて画像を表示するhtmlの
filesizeが取得できません。

filesize(gazo.html?no=123456)//取得できない
(※123456は123456.jpg)

gazo.html?no=123456にアクセスするとちゃんと画像は出るのに
関数内では「ファイルがありません」とエラーがでます。


参考: filesize(123456.jpg)//ローカルフォルダにある画像ならできる


gazo.html?no=123456で表示する画像のサイズなどを取得するにはどうすればいいですか?
画像の縦横のサイズも知りたいです。
0814nobodyさん2008/11/08(土) 19:57:42ID:???
そのhtml何で書いてんの?
0815nobodyさん2008/11/08(土) 20:32:35ID:???
>>813
filesize("http://hoge.com/gazo.html?no=123456");ならいけるかも。
それでもいけないならallow_url_fopenかなんかのせい
08168002008/11/08(土) 20:57:11ID:ONquUP0K
>>814
何でというのは文字コードとかですか?
画像ページがEUCでその画像を表示するページがsjisです。

>>815
いろいろやってみましたがうまくいきません。
やっぱりfilesizeなどの関数は既にフォルダにある画像じゃないと無理なんでしょうか。
もう少し研究してみます。
0817nobodyさん2008/11/08(土) 22:04:22ID:???
プログラミングとかやったことないんですよ
デザインの方をずっとやってるんでね。
何かやりたくなってきまして、PHPをやるより先にPearlを勉強した方が効率良いんでしょうか?
0818nobodyさん2008/11/08(土) 22:04:56ID:rDOPC16R
ID表示忘れました。
0819nobodyさん2008/11/08(土) 22:15:24ID:???
>>817=818
効率重視ならphpの方が入りやすいんでない?
ていうかこのスレに来てPearl(正:Perl)とかないわw
0820nobodyさん2008/11/08(土) 22:16:20ID:???
>>817
PHPとPerlは別言語です
趣味なら1つ理解すれば十分だと思います
0821nobodyさん2008/11/08(土) 23:27:00ID:rDOPC16R
>>819-820
ありがとうございます。
PearlじゃなくてPerlでしたね。恥ずかしい(ノ_ノ)
0822nobodyさん2008/11/09(日) 02:01:59ID:yvtnk3lz
PerlからPHPに流れた人数 > PHPからPerlに流れた人数

Perlのほうが古いから当然といえば当然なんだが参考までに
0823nobodyさん2008/11/09(日) 03:11:08ID:/aQGvo8I
現在ZendFW勉強中なんですが、javascriptとかcssを相対配置で
リンクする方法ってないんですかね?
0824nobodyさん2008/11/09(日) 03:16:43ID:???
は?ZFと関係あんのそれ?Layout?
0825nobodyさん2008/11/09(日) 03:17:59ID:8icz1Dot
>>811
うまく動きました。ありがとうございます!
しかし、せっかく教えていただいたものの、分かりやすさという点では、
Hoge::fuga1(); と書いてしまったほうが良い気がしました。
PHP4はそういうものだと割り切るべきなのかもしれません。
0826nobodyさん2008/11/09(日) 03:25:40ID:???
割り切るっていうか
php4の使用を真剣に考えなおしたほうがいいかと思います
0827nobodyさん2008/11/09(日) 03:26:03ID:/aQGvo8I
>>824
もしかしたら関係ないかもしれないんですが、
ZFだとhttp://〜/アクションコントローラ/アクション名/
って形でアクセスしますよね?
そうすると、アクションや引数によってアクセスするディレクトリが
違う事になる為か、相対パスだとjsやcssが呼び出せない気がするの
ですが・・・。
それとも別の原因で呼び出せないのでしょうか?

0828nobodyさん2008/11/09(日) 03:32:06ID:???
絶対パスで書きなよ
どうせ末尾のスラッシュの有無で相対位置変わるし
0829nobodyさん2008/11/09(日) 03:39:45ID:/aQGvo8I
>どうせ末尾のスラッシュの有無で相対位置変わるし
確かにそうですね。
今まで相対パスで書いてたというだけの理由で変えたくなかったんですが、
そんな事に拘ってるのも馬鹿ですよね。
有難うございます!
0830nobodyさん2008/11/09(日) 06:27:53ID:HMbby/Hd
仕様書
(1)ボタンを押す
(2)ファイルから、1行読み込む
(3)読み込んだ変数に1を足す
(4)足し算が終わったら、その加算された変数を、ファイルに書き込む
こういうことをしようとおもって、次のコードを書きました。
<html>
<head>
<title>file2</title>
</head>
<body>
<form name="aaa" action="1.php" method="post">
<input type="submit" name="aaa" value="送信" />
</form>
<?php
$a=0;
if($_REQUEST["aaa"] != ""){
$fh=fopen("file2.txt","w+");
$a=fgets($fh);
$a++;
fwrite($fh,$a);
fclose($fh);
print "ファイルの書込完了";
}
?>
</body>
</html>
でも、file2.txtに、何も書き込まれていません。
どこが悪いですか?
0831nobodyさん2008/11/09(日) 07:37:50ID:???
最近回答者のレベルが落ちてきたな。
みんな忙しいのかな。
0832nobodyさん2008/11/09(日) 07:51:26ID:???
Warning が表示されたとき、
「ビーッ、ビーッ、ビーッ、ウオーニング、ウオーニング、」
って合成音声で鳴らして欲しいんだけど、無理?
0833nobodyさん2008/11/09(日) 08:54:16ID:YgxImz5T
初心者が1から始めるのに良い本はありませんか?

題名を教えていただけると助かります
0834nobodyさん2008/11/09(日) 09:31:42ID:???
>>830 w+はオープンに成功したらデータを消すよ
0835nobodyさん2008/11/09(日) 09:46:05ID:HMbby/Hd
>>834
まじで?ありがとう。
0836nobodyさん2008/11/09(日) 09:51:08ID:HMbby/Hd
次の質問なのですが、
ファイル操作関連の関数で
1行読み取って、それは
デフォルトで文字列扱いされてますか?

つまり、いったん数値化する関数を通して
数値化しないと、+1とか計算できないのか?
ということです。

「1」を読み取ったとしても、それが文字列として
扱われているのであれば、足したり引いたりできないと
いうことです。
0837nobodyさん2008/11/09(日) 10:35:36ID:HMbby/Hd
$a++だと数字が増えなかったのですが、
++$aにしたら増えるようになりました。

こういうものなの?
0838nobodyさん2008/11/09(日) 10:39:58ID:???
>>836
http://goggle.com/
0839nobodyさん2008/11/09(日) 10:43:50ID:HMbby/Hd
よく確認したら、
$a++; でも動かないし、
++$a;
でも動かないのですが
$a=$a+1;
なら動きます。
なんで?
0840nobodyさん2008/11/09(日) 10:46:31ID:???
お願いします。マニュアル読んでください。
0841nobodyさん2008/11/09(日) 10:50:02ID:HMbby/Hd
>>840
はぁ?人にお願いする時の態度がなってないなぁ?!
0842nobodyさん2008/11/09(日) 10:53:50ID:HMbby/Hd
そんなわけで途中までできたんだけど、
どうもいまいちなんだよなぁ

まず、最初に画面に表示されたときに、
0って表示してほしいのと、それと
リロードしただけで、勝手に数字が増えるのが
きにくわない。ボタンを押したときだけ増えるようにしたい。

<html>
<head>
<title>test1</title>
</head>
<body>

<form name="aaa" action="1.php" method="post">
<input type="submit" name="aaa" value="送信" />
</form>

<?php

if($_REQUEST["aaa"] != ""){
$fh=fopen("file2.txt","r");
$a=fgets($fh);
$a=$a+1;
$fh=fopen("file2.txt","w");
fwrite($fh,$a);
fclose($fh);
print "あなたの金玉の数->$a";
}
?>
</body>
</html>
0843nobodyさん2008/11/09(日) 11:03:14ID:7n5Q/DXA
>>ID:HMbby/Hd
変数の型の取り扱いはどうなっているか、
実際の変数の型が何か、どんな値が入っているか(をどうやって確認するか)、
エラーや警告をどうやってみるか、
そういったことはご存じですか?
0844nobodyさん2008/11/09(日) 11:09:05ID:HMbby/Hd
<html>
<head>
<title>test1</title>
</head>
<body>
<form name="aaa" action="1.php" method="post">
<input type="submit" name="aaa" value="送信" />
</form>
<?php
$fh=fopen("file2.txt","r");
$a=fgets($fh);
print "あなたの金玉の数->$a<br>";
if($_REQUEST["aaa"] != ""){
$fh=fopen("file2.txt","r");
$a=fgets($fh);
$a=$a+1;
$fh=fopen("file2.txt","w");
fwrite($fh,$a);
fclose($fh);
print "あなたの金玉の数->$a<br>";
}
?>
</body>
</html>
初期画面で、「0」って表示するバージョンができた。しかし、
リロードするだけで、データーが勝手に送信されてしまってカウントアップする
仕様はどうにもできないのか??
0845nobodyさん2008/11/09(日) 11:10:45ID:HMbby/Hd
>>843
数値型と文字型の違いは、
コンテキストで自動判別かな?
perlではそうだったし。

変数の型の確認は、何か専用の関数があったかな?
それにぶちこめば自分で調べられると?

とりあえず、文字型を計算式にぶちこむと
自動でPHPが「空気を読んで」数値として計算してくれる、
であってる?
0846nobodyさん2008/11/09(日) 11:12:32ID:7n5Q/DXA
>>845
なるほど。よくわかりました。
回答ありがとうございました。
0847nobodyさん2008/11/09(日) 11:12:48ID:???
キミの言うリロードってブラウザの再読み込みのこと?
だとしたら再読み込みだから前回呼んだときとまったく同じパラメータを渡してリクエストしてるからカウントアップするの当たり前
0848nobodyさん2008/11/09(日) 11:26:00ID:HMbby/Hd
>>847
つまり、、、あたりまえの動作であり、
回避は不可能だと、、、??
■ このスレッドは過去ログ倉庫に格納されています