【PHP】下らねぇ質問はここに書き込みやがれ 55
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/09/29(土) 18:35:56ID:YlkpEUW6PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 54
http://pc11.2ch.net/test/read.cgi/php/1189309377/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0514nobodyさん
2007/10/06(土) 13:41:51ID:???そkらへんの処理めんどくさいからフレームワーク使ってる
簡単なもんだったら期待値以外はエラー
クエリー実行は全てぷりぺあ通して使ってる
0515nobodyさん
2007/10/06(土) 13:49:34ID:???かならずしも回答がくるとは限らない
回答者のレベル・回答者の気分で影響するからだ。
質問者はどうやったら回答率をあげられるか考えてから言葉を選んだほうが良い
0516nobodyさん
2007/10/06(土) 14:18:15ID:???それを形にしようとする努力をするタイプかどうかが重要なんじゃないかな?
すごいといわれるプログラマや技術屋は掃いて捨てるほどいるけど、頭の柔軟なやつは少ないからね
起業するなら特にコミュニケーション能力なんかにも長けている必要がある
物事をシステマチックに考えて合理的な道を歩むのは得意だけど、逆を返せば不必要な回り道をしたくないばかりに
それに重点を置かないから結果的に評価がされなかったりと、そのあたり不器用な人多いね
0517nobodyさん
2007/10/06(土) 14:38:54ID:QcrZFc+A四苦八苦しながらやっている者です。
PHPをやっていて、どうしても解決できなかったので教えて下さい。
BASIC言語でいう、GOTO文ってPHPだとどうやって書けば宜しいのでしょうか?
あと、PHPだと、文法エラーの際に行番号がでるのはいいのですが、
PHPコードの先頭に行番号を書こうとすると、それが原因で文法エラーがでてしまします。
これは環境が悪いせいなのでしょうか?今は行番号を書かずに、先頭から数えています。
すみません、二点質問お手数ですが宜しくお願いします。
0521nobodyさん
2007/10/06(土) 14:45:23ID:???って書けばok
0522nobodyさん
2007/10/06(土) 14:55:18ID:QcrZFc+A>>520さん
>>521さん
早速のお返事ありがとうございます。
行番号は、コメント文として書けば宜しいんですね。ありがとうございます。
行番号をコードに書いていないのに、コンパイラが勝手に行番号を認識しているので、面食らってしまいました。
隠れている行番号を見せてくれるエディタ(ソフト)って、何があるのでしょうか?
私が今使っているのは、Windowsで標準ソフトであるメモ帳です。
あと、GOTO文についての回答どうもありがとうございました。
PHPって、GOTO文ないんですか。それはかなり辛いですね。
ネットで検索していても無かったんで、もしかしてと思っていたのですが。
今相当青い顔になっていますが、頑張ってやってみます・・・
どうもありがとうございました。
0523nobodyさん
2007/10/06(土) 15:01:49ID:???何度も同じ処理をしたいなら関数作れば良いし
ループを抜けたいとかならbreakと書けば良い
はっきり言ってgotoなんか無くても書けるよ
エディタは
emeditorとか秀丸とか一般的なエディタなら普通にできるし
PHPエディタ_スタンドアロン版とか使えば良いんじゃないかな
0524nobodyさん
2007/10/06(土) 15:05:46ID:???なんて質問投げられたら発狂するかも。(ちょっとオーバーだけど)
0525nobodyさん
2007/10/06(土) 15:25:18ID:???ネタなのかって疑ってしまいそうになるけど、BASICの考え方は
捨てたほうがいい。goto文なんていまどきの言語じゃ仮に実装
されててもまず使わない。
BASICでもgoto使うとスパゲティプログラムになっちゃいやすい
とかで、構造化プログラミングとか推奨されてたはず。
labelとかでcontinueからの飛び先を指定するのとかはあったり
するけれど。
行番号もやっぱりない。
それじゃ分かりにくいので、たいていは行番号を表示してくれる
エディタを使ってコード書く。コードそのものに行番号書く必要はない。
っていうか君はまず本なり買って基本的なこと学ぶべきだと思うよ。
プログラミングの感覚そのものは役に立つと思うけど、「BASICのように・・・」
とか考えちゃうと却って足踏みするだけだと思う。
0526nobodyさん
2007/10/06(土) 15:32:14ID:???0527nobodyさん
2007/10/06(土) 15:52:29ID:???まぁたまにGOTOほしいと思うことはあるよ
0528nobodyさん
2007/10/06(土) 16:02:51ID:???0529nobodyさん
2007/10/06(土) 16:08:00ID:???0530nobodyさん
2007/10/06(土) 16:08:11ID:kTZnfqET0532nobodyさん
2007/10/06(土) 16:28:59ID:???20 モニタの白が茶色に見えてくる
30 CLEAR SCREEN '掃除する
40 GOTO 10
0533nobodyさん
2007/10/06(土) 16:30:56ID:???そんなことも出来ない言語はお�hる
0534nobodyさん
2007/10/06(土) 16:34:22ID:???自動的に、ってのがプログラムを書かなくても勝手に、って意味なら無い。
素直に
テンポラリディレクトリにアップロード(自動)→ディレクトリ生成→そこにファイル移動
ってコードを書けばいいと思うよ。
0535nobodyさん
2007/10/06(土) 16:36:27ID:???出社
while(true){
仕事しながらタバコふかす
モニタの白が茶色に見えてくる
CLEAR SCREEN '掃除する
if(終業時間<=時計) break
}
退社
0536nobodyさん
2007/10/06(土) 16:37:16ID:???いまどきはBasicでもgotoはまず使わないし、先頭に行番号も書かないよ。
機能ごとにfunctionで処理を書いて、それを呼び出し→終わったら自動で戻る、を使う。
ファイルの行番号についてはプログラム向けのテキストエディタなら大抵表示してくれる。
0537nobodyさん
2007/10/06(土) 16:41:41ID:???どうでもいい事だが、
> if(終業時間<=時計) break
の所は、オレなら
if(終業時間==時計) break
と書く。じゃないとバグの発見が遅くなる。
0538nobodyさん
2007/10/06(土) 16:44:33ID:U5yeBGyi調べても置換用の関数しか出てきません・・・・
0539nobodyさん
2007/10/06(土) 16:52:23ID:???0540nobodyさん
2007/10/06(土) 16:53:07ID:???私はwhileにtrue突っ込むのいやなので、
while(終業時間>時計){としたいところなのだが。
>>535だと、出社の時点で終業時間 > 時計だったときに無駄に処理が動いてしまわないかい?
0541535
2007/10/06(土) 16:56:52ID:???そうですね>>while(true)
最初はifなしの無限ループにするつもりだったので
ネタなのでそこまで厳密に考えてません>>出社時間
0542nobodyさん
2007/10/06(土) 16:58:47ID:???どうせ雑談スレ作っても人少なすぎて閑古鳥状態だろうからこのままでいいよな?
0543nobodyさん
2007/10/06(土) 17:00:39ID:???123.123.123.123/20
に対して最後の20をとりたい場合
$str = 'fasdasda123.123.123.123/20fasrdqwrgsy4';
$ret = preg_match('!\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/(\d{2})!',$str,$match);
って感じにpreg_matchの第3引数に変数を入れてやると20が入ってくる
0544nobodyさん
2007/10/06(土) 17:00:56ID:???0545nobodyさん
2007/10/06(土) 17:02:55ID:???マッチしたか否かも、マッチした文字列取得も、書いてある気がするが
preg_match
http://jp2.php.net/manual/ja/function.preg-match.php
preg_match_all
http://jp2.php.net/manual/ja/function.preg-match-all.php
正規表現の結果とは何?
0546nobodyさん
2007/10/06(土) 17:11:03ID:???をループの先頭に入れればいいんじゃね?ちがう?
0547nobodyさん
2007/10/06(土) 17:14:02ID:???0548nobodyさん
2007/10/06(土) 17:28:42ID:???ちんちんちょん切っちゃうぞ、ってレスに、私女ですから、っていたら、男ですから、ってレスすればいいのに、医学的についているハズだとするのは興ざめに他ならない。
0550nobodyさん
2007/10/06(土) 17:43:29ID:???それだとタバコ休憩が長くなったりしてとっくに終業時刻を過ぎてると
帰れなくなったりしないか?w
終業時間の判定が分単位でなく時単位とかなら大丈夫かもしらんが。
>>540
ループに入る前の段階で if(時刻 > 終業時刻) 終業時刻 = 99; みたいに
例外状態に切り替えるのがいい気がする。
ま、どっちにしろループの終了判定はループ先頭ですべきだな。
0551nobodyさん
2007/10/06(土) 20:13:41ID:???php暦3年にもなろうというのにw
0552nobodyさん
2007/10/06(土) 20:21:30ID:???初めに学んだ言語が自分のデフォルトになっちゃって
他を軽蔑しがちになるよね
0553nobodyさん
2007/10/06(土) 20:54:23ID:???正直どれも好きだ
0554nobodyさん
2007/10/06(土) 20:59:50ID:???ループの外からいきなり飛び込んできたりとか
そんなスパゲッティなコードに悩まされた時期がありました
#あの過ぎ去った時間は無かったことにしたい黒歴史
0555513
2007/10/06(土) 21:20:05ID:JwDld5m1お返事ありがとう。
やっぱりフレームワーク使う以外楽するやり方ないのかな。
ちょっとやり方が泥臭い気がしてたんだけど必要な処理だし。。
0556nobodyさん
2007/10/06(土) 23:54:35ID:???0557nobodyさん
2007/10/07(日) 01:41:52ID:???0558nobodyさん
2007/10/07(日) 02:31:36ID:???/ / ヽ ::: \
| (●), 、(●)、 |
| ,,ノ(、_, )ヽ、,, |
| ,;‐=‐ヽ .:::::|
\ `ニニ´ .:::/ NO THANK YOU
/`ー‐--‐‐―´´\
.n:n nn
nf||| | | |^!n
f|.| | ∩ ∩|..| |.|
|: :: ! } {! ::: :|
ヽ ,イ ヽ :イ
0560nobodyさん
2007/10/07(日) 08:16:21ID:ucFl6OYUお礼のレスをしようとしたところ、数日アクセス拒否されておりまして、
レスが遅れて申し訳ありませんでした。
おかげ様で何とか先に進めそうです。どうもありがとうございました。
0561nobodyさん
2007/10/07(日) 08:44:53ID:???PHP 6でgoto文導入へ
http://itpro.nikkeibp.co.jp/article/COLUMN/20060327/233460/
0562nobodyさん
2007/10/07(日) 09:01:32ID:???goto文とかいらねーよ
0563nobodyさん
2007/10/07(日) 09:26:12ID:???ベーシック言語の特権みたいなものだしさ
0564nobodyさん
2007/10/07(日) 09:55:39ID:???0565nobodyさん
2007/10/07(日) 10:36:19ID:???0566nobodyさん
2007/10/07(日) 10:42:28ID:???処理速度の観点から言えば、(計算内容によるが)相当不利だよ。
0567nobodyさん
2007/10/07(日) 11:08:31ID:???Rubyは松本が面倒くさいからという理由で実装されてない
0568nobodyさん
2007/10/07(日) 11:09:07ID:???0569nobodyさん
2007/10/07(日) 11:20:09ID:???0570nobodyさん
2007/10/07(日) 11:49:26ID:???0572nobodyさん
2007/10/07(日) 12:49:22ID:???そういうツールとかある?
0575nobodyさん
2007/10/07(日) 16:49:57ID:9C3AWJOKクッキーについてですが、配列をクッキーに入れる場合全て上書きされるのでしょうか?
既存のクッキー配列に値を追加するということは可能なのでしょうか?
あと配列の名前設定は「cookie_name[]」←でいいのでしょうか?
たとえばこんな感じ
$hoge_arr = array("りんご", "みかん", "ぶどう");
$str_arr = array_push($hoge_arr, "バナナ", "マンゴー");
setcookie ("cookie_name[]", $str_arr );
if (isset($_COOKIE['cookie_name[]'])) {
foreach ($_COOKIE['cookie_name[]'] as $name => $value) {
echo "$name : $value <br />\n";
}
}
0576nobodyさん
2007/10/07(日) 16:51:29ID:9C3AWJOK$hoge_arr = $_COOKIE['cookie_name[]'];
$str_arr = array_push($hoge_arr, "バナナ", "マンゴー");
setcookie ("cookie_name[]", $str_arr );
if (isset($_COOKIE['cookie_name[]'])) {
foreach ($_COOKIE['cookie_name[]'] as $name => $value) {
echo "$name : $value <br />\n";
}
}
0577nobodyさん
2007/10/07(日) 16:56:05ID:???0578nobodyさん
2007/10/07(日) 17:03:20ID:???自ずと答えは出てくると思うけど・・・
もしそれでも解らないなら多次元配列から勉強すればいい
0579nobodyさん
2007/10/07(日) 17:15:02ID:???0580nobodyさん
2007/10/07(日) 17:15:15ID:4hyano09設置したところの自分のところのURLからのみ、メールを送信できるようにしたいと思うのですが、
他のURLからメール送信されないようにしたいのですが、
クッキーを使って対策したいと思います。
2ちゃんのようにハナモゲラみたいな語句を発行して、それで自分とこのURLから
メール送信されたか判断するのが妥当でしょうか?
0581nobodyさん
2007/10/07(日) 17:23:22ID:???どっちにしろリファラ偽装してくるような奴はクッキーも偽装してくるだろうし。
0582nobodyさん
2007/10/07(日) 18:34:41ID:???0583nobodyさん
2007/10/07(日) 18:37:34ID:Dz4kk+z7PHPマニュアル[http://www.php.net/manual/ja/]のコードなどは転載してもいいものなのでしょうか
PHPの質問ではなく著作絡みの問題だと思うのですが他に質問できる場所もわからなくて・・・
すみませんが宜しくお願いします
0584nobodyさん
2007/10/07(日) 18:41:50ID:???ありませんでしょうか?。ラインはなくて空白でシフトするのでも良いのですが・・・。
0585nobodyさん
2007/10/07(日) 18:45:06ID:???0586nobodyさん
2007/10/07(日) 18:47:34ID:???http://www.opensource.gr.jp/openpub/
オープン・パブリケーションのライセンスの翻訳からそれらしいところを
抜き書きすると次のようになります。
>オープン・パブリケーションである著作物かその一部を、
>同一の媒体上に他の著作物やプログラムと一緒に集めただけならば、
>本契約書が他の著作物にまで適用されることはない。
>しかし、そのような集積著作物には、オープン・パブリケーションである作品を含んでいる
>という通知と、適切な著作権表示を含めなければならない。
0590nobodyさん
2007/10/07(日) 18:57:40ID:1Vf0WhZEしかし以前、
「自分のPCにサーバ入れると、
自分のPCの中が丸見えの状態に
なるからセキュリティに注意」
と言われたんですが、どうすればよいですか?
0591nobodyさん
2007/10/07(日) 19:00:55ID:???0593nobodyさん
2007/10/07(日) 19:58:59ID:d3go+S9rhttp://neatstyle.p.cmssquare.com/
0594nobodyさん
2007/10/07(日) 20:26:54ID:???Apacheの設定で自分のPCの中が丸見えの状態にならないようにすれば大丈夫です。
基本的にはApacheの問題なのでApacheのスレで聞きましょう。
あと手っ取り早い?方法として、ルーターで80ポート塞いで外部アクセスを遮断する手もあるよ。
ローカルでテストできればいいだけならそれもアリ。
0595nobodyさん
2007/10/07(日) 20:31:14ID:???学習資料で、本文中のサンプルコードを記載するならともかく、
下のコメントまで記載する必要はないんじゃない?
で、サンプルには固有の著作権とかはないでしょ。
学習資料に「php.netのマニュアルからの転載である」と明記しときゃ問題ないかと。
0596nobodyさん
2007/10/07(日) 20:43:30ID:???外部に向けて公開さえしなけりゃ何の問題もない
右も左もわからない奴が外部にポート開くこと自体無謀というか馬鹿
0597nobodyさん
2007/10/07(日) 20:47:48ID:???俺俺判断いくない
Website Copyright
http://www.php.net/copyright.php
0599nobodyさん
2007/10/07(日) 20:57:25ID:Dz4kk+z7レスありがとうございます
>>597の文章読んでみましたがこういうことでOKでしょうか?
・このサイトの全てはこっち(php.net)に著作権があるよ
・ライセンスならOKですよ(?)
・三番目がよくわからない・・・
0600nobodyさん
2007/10/07(日) 21:02:23ID:???0601nobodyさん
2007/10/07(日) 21:13:20ID:???量的な労力が増すにしてもサンプルくらい自力で書いて欲しいとは思う
そのくらいの力量(技術)は備わってるだろうし
0602nobodyさん
2007/10/07(日) 21:22:10ID:???0604nobodyさん
2007/10/07(日) 21:32:35ID:Dz4kk+z7コードなら自力で書けるのですが
たとえばregister_globalsの動作を問題として出したときに
抜けてる知識がないかマニュアルページを見に行きますよね?
そうしたときに自分が知らなかった情報を引用していいのかってことです
ex)問題:register_globalsがONの時に気をつけるべき点を答えなさい
自分の知らなかったことを選択肢として追加→使用する前に変数を初期化すべきである
0605nobodyさん
2007/10/07(日) 21:42:52ID:???0606nobodyさん
2007/10/07(日) 22:00:26ID:???だからさ、その引用の良し悪しの判断できる唯一はPHP Groupじゃないの?
聞くところが無いって…そこに問い合わせるしかないんじゃないの
webmasterが適切かどうかわからんけど
0608nobodyさん
2007/10/07(日) 23:35:54ID:Dz4kk+z7とりあえず先ほどメールだしてみました
返信が来ましたらここにまた結果を報告しようと思います
どうもお騒がせしました 皆様ありがとうございます
0609nobodyさん
2007/10/07(日) 23:51:21ID:???考えています。
この時、条件にあうデータが1件のみであればそのまま結果を返し、
複数存在する場合には別窓に一覧を表示して選んでもらったものを
戻り値として返すような処理をしたいのです。
1件のみの場合の処理の見当はつくものの、複数ある場合の選択結果を
どうやって受け取ればいいのかがわかりません。
どういった方法がありますでしょうか?
0610nobodyさん
2007/10/07(日) 23:58:16ID:???> 複数存在する場合には別窓に一覧を表示
検索結果によって別窓を出すか出さないか切り替えるってのは
JavaScript使わないと無理なんじゃないかな…
0612nobodyさん
2007/10/08(月) 00:11:37ID:???複数のうち1件選択してもらうだけだから
inputを配列にする必要はないんじゃね?
検索キーをキー+ユニークIDの組み合わせで受け取るか
キー+n件目という組み合わせで受け取ればいいと思う。
■ このスレッドは過去ログ倉庫に格納されています