【PHP】下らねぇ質問はID出して書き込みやがれ 82
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/03/09(月) 02:14:28ID:HyrthkeE過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 81
http://pc11.2ch.net/test/read.cgi/php/1234958956/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0440nobodyさん
2009/03/20(金) 08:33:43ID:???0441nobodyさん
2009/03/20(金) 08:38:37ID:???0442nobodyさん
2009/03/20(金) 08:40:35ID:???「悪名高きda.me..@docomo.ne.jpを引っ掛ける一方で、dankogai+regexp@gmail.comを弾いてしまう」
ってのはどうなん?
ドキュモでda.me..@docomo.ne.jpが取得できる以上、
それをウェブアプリ側ではじくわけにはいかないじゃん
RFCを守るべきはdocomoであって、ウェブアプリは現実に準拠するしかない
0443nobodyさん
2009/03/20(金) 08:45:13ID:???http://labs.cybozu.co.jp/blog/akky/archives/2007/10/phpspot-bad-regex.html
このトラウマを刺激されたから過剰反応したんだなw
0444nobodyさん
2009/03/20(金) 08:47:16ID:???せめて自分で確かめてから紹介しようよw
>>phpspot
0445nobodyさん
2009/03/20(金) 08:57:25ID:???dankogai+regexp@gmail.com はRFCに準拠している。
ドキュモを弾くかはか方針次第だが、このアドレスを弾いてはいけない。
元々phpspotの提示していたコードが役に立たないのは確か。
出力例が「正しいかもしれない」「間違ってるかもしれない」な事からも明らか。
こういうのは「絶対正しい」「間違ってるかも」、もしくは「正しいかも」「絶対間違ってる」のいずれかを返さなければ糞の役にも立たん。
0446nobodyさん
2009/03/20(金) 09:47:11ID:???0447nobodyさん
2009/03/20(金) 09:59:17ID:???0448nobodyさん
2009/03/20(金) 10:02:52ID:???+\とか記号を入れるメアドなんて普通の人は持ってないだろ
0449nobodyさん
2009/03/20(金) 10:23:25ID:???なんというか、ここにも馬鹿が多いな。
「食べやすい大きさに野菜を切るには」という記事に「カレーは野菜が大きいほうが美味しい」とか言ってるようなものだぞ、それ。
0450nobodyさん
2009/03/20(金) 10:31:42ID:???0451nobodyさん
2009/03/20(金) 10:49:03ID:???0453nobodyさん
2009/03/20(金) 11:54:25ID:MICYHS4W【PHPのバージョン】php5.2.0-8
PukiWiki Plus!で「ajaxtree.inc.php」プラグインを使おうとしたのですが
キャッシュファイルの作成が正常に行われず色々と調べてみていたところ
下記の部分でよくわからない動きをしていることがわかりました。 (ajaxtree.inc.php 198行目付近)
foreach ($pages as $page) {
if ($leaf[$page] === false) {
plugin_ajaxtree_update_cache($page);
}
echo $page . " " . $leaf[$page] . "<br>\n"; //debug
}
具体的には「plugin_ajaxtree_update_cache」関数が一度でも実行されると
その時点でループが終わってしまい配列の残りの要素が処理されなくなってしまうといった感じです。
(関数から戻ってきたあとのechoまでは処理されています)
ループ後の「$pages」の値には特に変化が無く、エラーも発生していませんでした。
なぜforeachが途中で止まってしまうのかわからずに困っています。
この場合、どういった原因が考えられるのでしょうか?
0454nobodyさん
2009/03/20(金) 11:55:01ID:uQ1BNnXRfsockopenで送信されたPOSTやGETを受け取ると思うのですが、
連続送信防止の処理って入れられるのでしょうか?
WEBページのフォーム処理からだと、cookieで制御できると思うのですが
fsockopenは出来ないような気がしています。
0456nobodyさん
2009/03/20(金) 12:02:10ID:???ドッカン
m ドッカン
=====) )) ☆
∧_∧ | | / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( )| |_____ ∧_∧ < おらっ!出てこい>>449
「 ⌒ ̄ | | || (´Д` ) \___________
| /  ̄ | |/ 「 \
| | | | || || /\\
| | | | | へ//| | | |
| | | ロ|ロ |/,へ \| | | |
| ∧ | | | |/ \ / ( )
| | | |〈 | | | |
/ / / / | / | 〈| | |
/ / / / | | || | |
/ / / / =-----=-------- | |
0457nobodyさん
2009/03/20(金) 12:06:26ID:???RFCに準拠するばかりで現実で使えないんじゃ同じようにクソ
0458453
2009/03/20(金) 12:31:15ID:MICYHS4Wありがとうございます。
該当するコードに特にエラーなどは発生していませんでしたが解決しました。
配列を関数の戻り値の参照として受け取っていたためおかしな挙動をしていたようでした。
$pages =& plugin_ajaxtree_get_pages();
失礼いたしました。
0459449
2009/03/20(金) 12:38:12ID:???実装の問題じゃない。ビジネスロジックの問題だ。何をどこまで許容するかは技術の問題じゃない。
コーディングする奴が勝手に決めてはいけない問題だし、従って前提条件が提示されないと「正しい」コードなんぞ書けっこない。
何が「正しい」のか、仕様が決まってないんだから当たり前だな。
「正しい」メールアドレスを「RF2822準拠」と定めるなら、PHPSPOTや百式のコードは明白に間違っていて、小飼のコードは正しい。
docomoの非準拠アドレスを許容しなければいけない、とか、gmailの無限アドを拒否しないといけない、という条件下なら小飼のコードは間違っているだろう。
実際、小飼の出力メッセージはちゃんと「RFCに準拠しているか」で出るだろ。
あのコードが解こうとしている判定問題は「RFCに準拠しているか」であって、「一般社会で通用するメールアドレスか」じゃない。
それをてめえらは勝手に問題を取り替えてガタガタ抜かしてるだけなんだよ。これだからPHPerは馬鹿だとか言われるんだ。
RFCに準拠していないアドレスが通ったり、準拠しているアドがNGだったら文句を言うべきだが、それ以外は筋違いだ。
0460nobodyさん
2009/03/20(金) 12:41:36ID:???0461nobodyさん
2009/03/20(金) 12:47:51ID:???RFCに準拠してる正規表現はブログに書いてもOK
RFCに準拠してない現実に即した正規表現はブログに書いたらNG
ってことですね、わかります
0464nobodyさん
2009/03/20(金) 16:20:44ID:???0465nobodyさん
2009/03/20(金) 16:21:47ID:???何が言いたいかというとRFC必死だな(笑)
0466nobodyさん
2009/03/20(金) 18:48:51ID:???$は行末判定なので最後に改行コードが付いてても通ってしまう。
ちゃんと\zを使えよ
弾&phpspotともどもm9(^Д^)プギャー!
0467nobodyさん
2009/03/20(金) 18:51:14ID:???0468nobodyさん
2009/03/20(金) 18:56:31ID:???0469nobodyさん
2009/03/20(金) 19:01:48ID:???ある程度のシェアを取った言語なので、
perlの正規表現の文法は他の言語にも
そのまま受け継がれていくわけだな。
つまり勉強したことが無駄にならず
再利用できると。
シェアととると、こういう「いいこと」があるんだよな。
0470nobodyさん
2009/03/20(金) 20:16:44ID:???その上でどんなスクリプトでも走るエンジンみたいのどうなったんだよ
えーこら
0471nobodyさん
2009/03/20(金) 22:34:03ID:oZ8fGjsV以下のような方法も考えたのですがページを移動するか更新しないとクッキーを読めないので困ってます
どなたかアドバイスお願いいたします
javascriptでクッキーを発行する
↓
クッキーが読み込めたらjavascriptがオン・読み込めなければオフ
0472nobodyさん
2009/03/20(金) 22:44:55ID:???処理の順序を考えれば分かるが、無理。
0473nobodyさん
2009/03/20(金) 22:53:31ID:???0474nobodyさん
2009/03/20(金) 23:15:48ID:???いけない状況って何だろう?
0475nobodyさん
2009/03/20(金) 23:17:56ID:???0476nobodyさん
2009/03/20(金) 23:23:33ID:???0477nobodyさん
2009/03/20(金) 23:42:53ID:???なんで?
Ajax使う前提なら、こんなことで悩まんでしょ。
有効な時にメッセージ出したいなら、Javascriptで出せば良いし、使えない時にメッセージ出したいなら
NOSCRIPT使えばいいし。
トップページへのアクセスだけで、Javascriptを有効にしてるかどうかサーバ側に記録を取りたいとか、そんな感じ?
0478nobodyさん
2009/03/20(金) 23:59:59ID:???だとしても、JavaScript経由で鯖にアクセスさせるだけだしな。
PHPではできない、というのは正しい。
まあ、質問が抽象的すぎるんでなんとも言えん。どうして質問掲示板の類の質問者は情報を出し惜しみするんだか。
0479nobodyさん
2009/03/21(土) 00:11:32ID:???それはいいがかり。
おまえだって18世紀にペストにかかったら
「ネズミが運んできた病原菌のせいで感染しました」
とは医者には報告しないはずだ
0480nobodyさん
2009/03/21(土) 00:49:23ID:???0481nobodyさん
2009/03/21(土) 02:16:36ID:???0482nobodyさん
2009/03/21(土) 02:24:45ID:???0483nobodyさん
2009/03/21(土) 02:34:45ID:???0484nobodyさん
2009/03/21(土) 19:33:45ID:Kz7V9K+/0486nobodyさん
2009/03/21(土) 22:18:16ID:???そういうのがあると、レンタルサーバ屋に怒られるんですか?
0487nobodyさん
2009/03/21(土) 22:29:13ID:???0489nobodyさん
2009/03/21(土) 22:39:17ID:???0490nobodyさん
2009/03/21(土) 22:46:46ID:???0491nobodyさん
2009/03/21(土) 23:10:45ID:???ありがとうございました。
0492nobodyさん
2009/03/21(土) 23:18:28ID:???0495nobodyさん
2009/03/22(日) 01:29:46ID:???0496nobodyさん
2009/03/22(日) 01:34:00ID:???/**
*
* @package hogehoge
* @version $Id: index.php 0000 2010-01-01 14:00:00Z hogehoge$
* @copyright (c) 2010 fugafuga
* @license ttp://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
こんなの見かけるけど、これは手動で書いてるんですか?
まさかね?
0497496
2009/03/22(日) 01:35:02ID:???0498496
2009/03/22(日) 01:35:33ID:pWqW8Yq7ごめんなさい
0500nobodyさん
2009/03/22(日) 05:17:23ID:???メニューに一項目増えた場合 全部のHTMLページを
書き換える処理ってしてるんですか?
0503nobodyさん
2009/03/22(日) 06:19:37ID:???0504nobodyさん
2009/03/22(日) 06:22:33ID:???自分はプログラムで呼び出すか、SSIしか思い浮かばないです
0505nobodyさん
2009/03/22(日) 06:23:55ID:???0506nobodyさん
2009/03/22(日) 06:25:11ID:???すいません。ただ、require include で呼び出したページは
グーグルランクつきにくいです
SSIにしてみたところ、それよりはわずかにつきやすかったです
CMSがHTMLファイルなら、どうやって外部からメニューを
呼び出しているかわからなかったので
0507nobodyさん
2009/03/22(日) 06:28:00ID:???0509nobodyさん
2009/03/22(日) 06:31:26ID:???0510nobodyさん
2009/03/22(日) 06:32:34ID:???グーグルランクのつきが明らかに悪いです(個人の弱小HP)
そしてSSIに変えたところ、3つほどつきました
現在SSIのほうがPHPによる外部ページ呼び出しよりランクがつきやすいです
内部は全く変えてないです
0511nobodyさん
2009/03/22(日) 06:33:30ID:???0512nobodyさん
2009/03/22(日) 06:37:40ID:???0513nobodyさん
2009/03/22(日) 07:18:32ID:???0514nobodyさん
2009/03/22(日) 09:24:55ID:???0517nobodyさん
2009/03/22(日) 10:06:20ID:???A型はひつこいな
0518nobodyさん
2009/03/22(日) 10:11:46ID:???0519nobodyさん
2009/03/22(日) 10:11:46ID:???0520nobodyさん
2009/03/22(日) 10:24:48ID:???Nucleusでアクセス解析いれたら劇重になって、翌日、鯖停止->強制解約になったよ。オレ
0523nobodyさん
2009/03/22(日) 11:33:37ID:???0524nobodyさん
2009/03/22(日) 11:39:35ID:???これ以上やるなら専用スレ立ててやるからそっちで共食いしてくれ
0525nobodyさん
2009/03/22(日) 11:46:58ID:???バージョン管理システムを導入するといいです
>>496
いくつかのIDEでは/**と入れて改行すると自動で作ってくれます
EclipseのPHPプラグインあたりだと
最初に関数を定義してからその上に/**を入れて改行すると
下の関数を見て引数があったら@param
返り値があったら@returnを生成してくれます
その他については必要であったら自分で記述するか
デフォルトの値として設定可能なものなら設定するしかありません
0526nobodyさん
2009/03/22(日) 11:49:05ID:dhNIUg3nどうすればいいですか?
get_multi_array($array,array('hoge','fuga','poge'))
→$array['hoge']['fuga']['poge']を取得
こういう動作をさせたいのです
0530nobodyさん
2009/03/22(日) 12:57:11ID:???いいんだよ byスレ回り先生
自作自演する若者はためが無い by湯浅誠
自作自演格差社会 〜492のレス能力格差がスレッドを引き裂く
>>528は、新自由主義者
何でも排除して、格差を作ろうとする
0532nobodyさん
2009/03/22(日) 14:07:27ID:ofSdd/CM"<a href='".$value."'>"などとしたときに
htmlspecialcharsだけでは変数にscript:〜が含まれていた場合に回避できませんが
変数の前に"http://sample.com/"とURLがあれば問題ないのでしょうか
実際Firefox,safariなどでは普通にnot foundになります
0533nobodyさん
2009/03/22(日) 14:09:38ID:???こんなのどう?連想配列でも多分問題ないと思う。
<?php
function get_multi_array(array $a, array $keys) {
$tmp = &$a;
foreach ($keys as $key) {
if (! is_array($tmp) || ! array_key_exists($key, $tmp)) return null;
$tmp = &$tmp[$key];
}
return $tmp;
}
// 以下テスト
$array =array(
array(
array(1,2,3), array(4,5,6),
),
array(
array(7,8,9), array(11,12,13), array(14,15,16)
)
);
var_dump(get_multi_array($array, array(0, 1, 2)));
0535nobodyさん
2009/03/22(日) 14:33:52ID:???0537nobodyさん
2009/03/22(日) 17:29:33ID:XWTxCtFo0538nobodyさん
2009/03/22(日) 17:35:05ID:XWTxCtFo<input type="text" name="title" value=""><br>
<textarea cols="80" rows="7" name="text"></textarea>
<input type="submit" value="send">
</form>
<?php
$title="<h2>".$_POST["title"]."</h2>";
$text='<div class="text">'.$_POST['text'].'</div>';
if ( get_magic_quotes_gpc()) {
$title = stripslashes($title);
$text=stripslashes($text);}
$text = nl2br($text);
$log = 'log/200902.htm';
$lock = 'lock.txt';
$lock_fp = fopen($lock,"w");
flock($lock_fp,LOCK_EX);
$old_log = file_get_contents($log);
$fp = fopen($log,"w");
fwrite($fp,$title);
fwrite($fp,$text);
fwrite($fp, $old_log);
fclose($fp);
flock($lock_fp,LOCK_UN);
fclose($lock_fp);
?>
これ、とあるサイトから引用してきたスクリプトなんですけど、どうやっても$_POSTの値を取得できずにlog/200902.htmの内容が<h2></h2><div class="text"></div>と内容が空になってしまいます。
POSTの値を取得するにはどうしたらいいんでしょう?どなたか知識のある方、ご教授下さい。
■ このスレッドは過去ログ倉庫に格納されています