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

【PHP】下らねぇ質問はここに書き込みやがれ 67

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/04/11(金) 06:38:35ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは970が立ててください立たなかった場合は980よろ

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/

◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。

◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0204nobodyさん2008/04/17(木) 15:34:59ID:???
すいません。くだらない質問ですが教えて下さい。

いま、無料の掲示板(PHP)を使おうと思っているのですが
googleを入れたく思っています。

表示エリアには
// 表示
echo " <tr><th colspan=¥"2¥" $_class><p class=¥"header_menu¥">$res$edit$del</p>$title</th></tr>¥n";
echo " <tr>¥n";
echo " <td class=¥"t_row1¥">$name<br /><br />$id</td>¥n";

とあり、$IDの後に入れたいと思っています。

入れるgoogleは

<script type="text/javascript"><!--google_ad_client = "pub-11111111111";/* 125x125, 作成済み 08/04/16 */google_ad_slot = "11111111111";google_ad_width = 125;google_ad_height = 125;//-->
</script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

となっております。

その場合どのよう入れれば表示しますでしょうか?
上の行で$で指定する文章を入れるのが良いのでしょうか?

恐れ入りますが、ご教授下さい。
0205nobodyさん2008/04/17(木) 16:00:22ID:???
>>204
//表示 の直後に下記の5行
$google = <<<OMAEHAKUDARAN
<script type="text/javascript"><!--google_ad_client = "pub-11111111111";/* 125x125, 作成済み 08/04/16 */google_ad_slot = "11111111111";google_ad_width = 125;google_ad_height = 125;//-->
</script><script type="text/javascript"src="(p)http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
OMAEHAKUDARAN;

であとはecho文の入れたいところに$googleを入れる。たとえば
echo " <td class=¥"t_row1¥">$name<br /><br />$id $google</td>¥n";
0206nobodyさん2008/04/17(木) 16:01:34ID:???
あ、わりぃ。 rep2でリンクに付く(p)までコピーしてもた。
そこは無視でよろ。
0207nobodyさん2008/04/17(木) 16:09:21ID:???
ちょっと酷いよ。
<<<OMAEHAKUDARAN
02082042008/04/17(木) 16:12:04ID:???
やっぱりうそですよね・・・。T_T
0209nobodyさん2008/04/17(木) 16:14:58ID:???
いや、あってることはあってるよw

ヒアドキュメントをより先にまず "は\でエスケープすること学ぼう
02102042008/04/17(木) 16:35:24ID:???
やっぱり出来ない。現状

$google = <<<GOOGLE
<script type=¥"text/javascript¥"><!--google_ad_client =¥"pub-1111111111¥";/* 125x125, 作成済み 08/04/16 */google_ad_slot =¥"pub-1111111111¥";google_ad_width = 125;google_ad_height = 125;//-->
</script><script type=¥"text/javascript¥"src=¥"http://pagead2.googlesyndication.com/pagead/show_ads.js¥;">
</script>
GOOGLE;


として入れてるんですが、HTMLはき出した後ソースを見ると円マークが残ったままになっています。本来HTMLにはき出した後のソースは消えていますよね・・・。

やはり初心者にはむりですかね・・・・。
0211nobodyさん2008/04/17(木) 16:44:41ID:???
>>210
>205で言われた通りにやろうよ。
ヒアドキュメントに¥でエスケープは要らない
02122042008/04/17(木) 16:51:44ID:???
すいません。
ありがとうございます。
ヒアドキュメントという言葉を知らず、見落としました。

現状何となくエリアが出たのですが、表示はしていませんが
何となく出そうな感じまで行きました。


ちょっこり、色々いじってみます。ありがとうございました。
0213nobodyさん2008/04/17(木) 17:03:04ID:???
ひゃあドキュメントってなんかエッチな感じがするな。なぜだろう?ひゃあ!
0214nobodyさん2008/04/17(木) 17:50:59ID:???
またオマエか
0215nobodyさん2008/04/17(木) 18:01:14ID:???
春は新しい出会いにときめく学生さんがここに遊びに来てるんだからオマエとかいわず温かい目でみてやれよ
0216nobodyさん2008/04/17(木) 19:02:05ID:???
>>212
初心者か否かは関係ない。
真剣やる気があるかどうか、人の話を聞けるかどうかが問題。
0217nobodyさん2008/04/17(木) 19:12:00ID:???
>>216
そんなくだらんレスするくらいなら、>>202>>203にでもレスしろよ。
0218nobodyさん2008/04/17(木) 19:14:45ID:???
>>217
そんなくだらんレスするくらいなら、>>202>>203にでもレスしろよ。
02192172008/04/17(木) 19:23:39ID:yQIY/Upa
>>202
やったこと無い。
>>203
ちいたんじゃダメか?w
0220nobodyさん2008/04/17(木) 19:45:53ID:???
すいません、教えてください。
Apache2.63にPHP5.25をインストールしました。
PHPファイルをモジュールで動かしてたのですが、勉強のため一部のファイルのみCGIとして動かしたいんです。

動かしたいファイルのソースはこれです。これを実行させるとechoで出力はできるのですが、#!C:/php5/php-cgi -qが文字列として表示されてしまいます
ということはCGIとして動いてないからなんでしょうか・・・?
#!C:/php5/php-cgi -q
<?php
echo 1111111;
?>
0221nobodyさん2008/04/17(木) 20:19:24ID:???
CGIとして動かすためにしたことは?
0222nobodyさん2008/04/17(木) 20:30:25ID:???
>>221さんありがとうございます
一行目に#!〜おまじないをいれてみましたができません

httpd.confにcgiとして設定しないとできないのでしょうか?
0223nobodyさん2008/04/17(木) 20:46:52ID:???
httpd.confをCGIが動くように設定したのか?してなかったら恥
0224nobodyさん2008/04/17(木) 21:23:22ID:???
てかid出せボケ
0225nobodyさん2008/04/17(木) 21:31:27ID:???
>>224
氏ね答えられない低脳
0226nobodyさん2008/04/17(木) 21:34:40ID:???
このスレはこの程度か!
どうもありがとうございました
0227nobodyさん2008/04/17(木) 21:35:07ID:???
いえいえおよび出ないですよ
0228nobodyさん2008/04/17(木) 21:39:06ID:???
>>225-227
無職乙
0229nobodyさん2008/04/17(木) 21:40:04ID:???
>>228
ニート乙
0230nobodyさん2008/04/17(木) 21:40:35ID:???
マジきめええwwww
答えられないならでてこなくていいからw
0231nobodyさん2008/04/17(木) 22:08:12ID:???
つうかもういい加減id出してない質問にレスするのやめようぜ
0232nobodyさん2008/04/17(木) 22:12:02ID:???
仕切り厨でましたね
0233nobodyさん2008/04/17(木) 22:46:48ID:???
仕切り厨でもなんでもいいがルールぐらい守れミジンコ共が
0234nobodyさん2008/04/17(木) 22:47:05ID:???
粘着妖精さんもスルー
0235nobodyさん2008/04/17(木) 22:56:16ID:???
>>220=225=226=230=232=234
http://pc11.2ch.net/test/read.cgi/php/1158647441/
ほれこっち池
0236nobodyさん2008/04/17(木) 22:57:36ID:???
phpで、携帯のサイトを作っているのですが、
セッション管理が必要なサイトで、
セッションIDの情報をURLに埋め込んでいます。

ただ、ユーザーの中にセッションIDが入ったURLをブックマークとして
公開する人がいて、セッションハイジャックが毎日行われています。

これって、仕様として客に説明しているのですが、
客が納得してくれず、携帯であるが故に技術的に不可能なことを説明しているのですが堂々巡りです。

こういう場合、どのような資料を提示して納得してもらえるのでしょうか?
宜しくお願いします。
0237236 2008/04/17(木) 22:58:55ID:8cCEOmJ0
すみません、下げていました。
0238nobodyさん2008/04/17(木) 23:00:47ID:???
有効期間つければ?
0239nobodyさん2008/04/17(木) 23:02:20ID:???
>>236
仕様って!!www
そんなサイトでセッションIDを生で埋め込むなよ
0240236 2008/04/17(木) 23:08:32ID:8cCEOmJ0
>>238
アドバイスありがとうございます。
有効期間はつけているのですが、
短いと、すぐにセッションが切れると苦情が来るし、
長いと、2chやブログでURLが貼られた場合に、セッションハイジャックが多発してしまします。
結局、有効期間ですと根本的には解決されないのではというのが結論です。

>>239
いや、携帯のサイトですから・・・
0241nobodyさん2008/04/17(木) 23:13:21ID:???
>>240
IPの範囲みたりとかしたら?
あとauはクッキー使えるし
0242nobodyさん2008/04/18(金) 00:07:02ID:???
IPアドレスや個体識別番号を持たせておけばいいだけじゃないの?
0243nobodyさん2008/04/18(金) 00:09:22ID:???
URL埋め込みのSIDだけで何とかしようと思うほうがどうかしてる
0244nobodyさん2008/04/18(金) 00:30:00ID:???
んむ クッキーがどうとか全く関係ないな
セッションハイジャックの対策をしていない事が問題なだけ
0245nobodyさん2008/04/18(金) 00:33:53ID:???
「セッションハイジャックが毎日行われています。」

「fscanfがおかしいです。」も好きだけど、これも気に入った。
0246nobodyさん2008/04/18(金) 00:40:53ID:???
無知なクライアントでよかったねぇ
うちの下請けが「これが仕様です」なんて言ってきたら二度と仕事回さないぞ
0247nobodyさん2008/04/18(金) 00:52:58ID:???
>>240
> いや、携帯のサイトですから・・・
携帯サイトやからセッションIDを生で埋め込まへんねんて
0248nobodyさん2008/04/18(金) 01:40:20ID:???
mixiとか大手はどうしてんだろ?
0249nobodyさん2008/04/18(金) 01:46:33ID:???
uidじゃね?
0250nobodyさん2008/04/18(金) 06:04:41ID:???
if (!isset($a))
$a = "hoge";

isset($a) ? $a : "hoge"
をもっと簡潔に(短く)書く方法はありますか?
0251nobodyさん2008/04/18(金) 06:40:54ID:???
あるけどそんな微々たるところの効率なんか工夫しようとすんな
0252nobodyさん2008/04/18(金) 13:48:09ID:VW/Du+vX
掲示板つくってます。
【日付,名前,本文,削除pass,IP】とデータをログファイルに残してます。
出力はこのログを頭から順にだしてます。

ここから返信機能つき掲示板に組み替えたいのですが、
ログファイルにどのようにデータを残し、
どのように出力するように動作させたらよろしいのでしょうか?
流れだけでもどうかご教授お願いいたします。

0253nobodyさん2008/04/18(金) 14:03:31ID:???
>>252
とりあえず全てのスレッドにユニークなIDをつける。

新しいテーブル(データベースの場合)、またはファイルを作成。

【ユニークID,本文】でデータを取る。

ユニークIDが新テーブルと一緒の物だけを表示。

(例) データベース使ってる場合のsql
>>252の作ってるテーブルのユニークID(55)を一覧する場合
select * from new_table where ユニークID = 55

こんな感じでいいのかな?
0254nobodyさん2008/04/18(金) 14:04:08ID:???
まずデータにIDが必要
0255nobodyさん2008/04/18(金) 14:14:18ID:VW/Du+vX
ありがとうございます、勉強になりました。
さっそく取り掛かります。
ありがとうございました。
0256nobodyさん2008/04/18(金) 14:48:16ID:???
正規表現にマッチした数を返してほしいのですがそんな関数はあるでしょうか?
以下だったら3を返してほしいです。
$preg = "12HOGE.;asd123HOGE.;52HOGE";
/(\d+)HOGE/
0257nobodyさん2008/04/18(金) 14:52:05ID:???
>>256
そのものずばりではないが
preg_match_all
0258nobodyさん2008/04/18(金) 14:54:12ID:???
返して欲しいんだからズバリなんじゃないの
0259nobodyさん2008/04/18(金) 16:06:53ID:???
>>257
なんでも正規表現で答えれば間違いないと思っている馬鹿って何なの?
それしか解決方法を知らないの?
0260nobodyさん2008/04/18(金) 16:07:57ID:???
正規表現嫌なら煽ってないでお前が答えてやれよ
0261nobodyさん2008/04/18(金) 16:21:37ID:???
ずばりそのものだろ?
02622562008/04/18(金) 16:36:42ID:???
自己解決しますた
ほんと使えねえカスばっかだな
0263nobodyさん2008/04/18(金) 16:53:22ID:???
fscanfがおかしいです
0264nobodyさん2008/04/18(金) 16:54:10ID:???
>>256

preg_match_all
返り値
パターンがマッチした総数を返します(ゼロとなる可能性もあります)。 または、エラーが発生した場合に FALSE を返します。

これより楽な方法はないよね
0265nobodyさん2008/04/18(金) 16:57:20ID:???
>>262
またオマエか
0266nobodyさん2008/04/18(金) 17:07:53ID:???
ID出さないやつにご丁寧に答えて議論してやってるお前らが微笑ましい
0267nobodyさん2008/04/18(金) 17:48:00ID:???
ID出す出さないに関係なく自分の糧になるのなら質問も回答もするのが俺様のセオリー
0268nobodyさん2008/04/18(金) 18:10:03ID:???
右乳首が痛いのですがどうすれば治りますか?
バージョンアップするしかないのでしょうか?
0269nobodyさん2008/04/18(金) 18:10:22ID:???
preg_match_allの第三引数で
変数にマッチした値を格納できますが、
$matched[0]にあたる値はいらないので変数に格納しないでほしいのです。

$matched[1]とかは(?:)でできるのは知っています。
$matched[0]はどのようにすればいいのでしょうか?


$str = "1234abs=2;1234abs=7;432abt=3;";
preg_match_all("/[\d]+abs/",$str,$matched);
0270nobodyさん2008/04/18(金) 18:10:35ID:???
正規表現がダメな理由は、その処理速度の遅さ。
forループ文の中に、正規表現で処理するロジックが入っていたら、それこそ最悪。
また、正規表現の処理のために仮想メモリーを浪費するため、異常なメモリーの食い方をする。

現実的に出来るかどうかを検証せずに、出来る出来ると主張しているところが青臭さを感じるといっただけ。
0271nobodyさん2008/04/18(金) 18:20:24ID:???
正規表現は神
0272nobodyさん2008/04/18(金) 19:09:30ID:???
否定するのは誰でもできます
解決方法をかけない奴はいくら言ってもダメ
0273nobodyさん2008/04/18(金) 19:32:15ID:???
特にお前とかな
0274nobodyさん2008/04/18(金) 19:40:42ID:???
>>270
現実的に出来るかどうかを検証してから、

ダメと主張してくださいねw
0275nobodyさん2008/04/18(金) 19:44:40ID:???
方法を提供もしないでこれはダメあれはダメなんて幼稚すぎる
0276nobodyさん2008/04/18(金) 20:22:29ID:???
>>270
そりゃ組み方が下手なだけだろ
0277nobodyさん2008/04/18(金) 20:27:33ID:???
その遅い正規表現は何秒かかるの?
それが問題になる処理じゃなければ使ってもいいだろ。
遅いってんならPHP使わないでCで組めや
0278nobodyさん2008/04/18(金) 20:38:41ID:???
>>270さん正規表現に変わる手法を教えてください
0279nobodyさん2008/04/18(金) 20:54:41ID:???
代案も出さずに批判するとは民主党もびっくりだわw
0280nobodyさん2008/04/18(金) 21:33:57ID:???
ここまで技術的な考察まで書いてやっているのに、
人に代替案まで求めるって、どこまでスィーツ脳なんだ?

技術者としての素質もなければプライドもないのかね?
0281nobodyさん2008/04/18(金) 21:34:58ID:???
スイーツ脳なんて特徴的な言葉使うのお前だけ
よく常駐して煽ってるいつもの馬鹿か
0282nobodyさん2008/04/18(金) 21:36:11ID:???
>>281
おまえもな
0283nobodyさん2008/04/18(金) 21:36:48ID:???
>ここまで技術的な考察まで書いてやっているのに

ぷっ

0284nobodyさん2008/04/18(金) 21:38:57ID:???
技術的(笑)
考察(笑)
0285nobodyさん2008/04/18(金) 21:47:56ID:???
(笑) (笑)
0286nobodyさん2008/04/18(金) 21:57:15ID:???
()笑
0287nobodyさん2008/04/18(金) 21:58:07ID:???
代替案が欲しいわけじゃないんだわ

お前さんが本当に代替案を考えられる技術があるのか
その方法が標準の正規表現関数と比べてどの程度早くなるのか
それが知りたいだけ
0288nobodyさん2008/04/18(金) 22:03:28ID:???
真性キティにマジレスカコワルイ
0289nobodyさん2008/04/18(金) 22:32:13ID:???
口だけだったみたいだからあんまりいじめないであげよ
0290nobodyさん2008/04/18(金) 23:54:36ID:???
>>289
他人のふりせずに素直にやめてくださいって言えよw
0291nobodyさん2008/04/19(土) 00:43:26ID:???
実力がある人って批判だけするとこみたことないねえ
かならず何らかの提案をもってきてくれる
0292nobodyさん2008/04/19(土) 01:14:59ID:???
批判だけする人って
勘違い君が多い
0293269 2008/04/19(土) 01:26:36ID:???
お願いします
0294nobodyさん2008/04/19(土) 01:36:11ID:???
だから、必死になって代替案出せって何よ?
本当は知りたいくせに、煽っているってるって、
好きなくせに女の髪の毛引っ張って気を引こうとしている中年男と一緒だろw
0295nobodyさん2008/04/19(土) 02:01:36ID:???
池沼うざい
0296nobodyさん2008/04/19(土) 02:08:33ID:???
本当に知りたいと思ってる人はいないよ。
PCREのパターン展開エンジンを*PHPで*自前実装したい人だけが
高度な技術的考察をしとけばいい。

/^\d+$/ → ctype_digit()
/^Mozilla/ → strpos(), strstr()
>>256のお題がこんな話に見える素質がなくてよかった。
0297nobodyさん2008/04/19(土) 02:27:54ID:???
>>293
>>11をちゃんと読んでから出直してこい
0298nobodyさん2008/04/19(土) 02:50:25ID:???
>>294
いや、批判するなら最初からレスしなくていいと思ってる
0299nobodyさん2008/04/19(土) 06:08:17ID:???
>いや、批判するなら最初からレスしなくていいと思ってる

馴れ合いキモ
0300nobodyさん2008/04/19(土) 06:14:31ID:???
>>293
第4にPREG_OFFSET_CAPTURE入れて
0をunsetしれ
0301nobodyさん2008/04/19(土) 10:19:29ID:???
>>296
CTYPEはそれとイコールじゃないよ。
俺も昔つっかかった
0302nobodyさん2008/04/19(土) 12:03:10ID:???

【迷言ランキング】
 1 : fscanfがおかしいです
 2 : ここまで技術的な考察まで書いてやっているのに

トップ揺るがず。


0303nobodyさん2008/04/19(土) 12:44:33ID:???
質問です。
<?php
$word = $_POST['text'];
$pointer=fopen("./log.dat", "a");
flock($pointer, LOCK_EX);
fputs($pointer, $word);
flock($pointer, LOCK_UN);
fclose($pointer);
?>
<form action="パス" method="post">
<input type="text name="text" size="30">
<input type="submit" value="送信">
</form>

こんな感じのを応用して簡単な掲示板を作ろうと思うのですが、
更新すると何個も同じものを送信してしまいます。
どうすればよろしいのでしょうか?
0304nobodyさん2008/04/19(土) 13:05:00ID:???
>>303
同じものであるか判定する処理

真だったら拒否,偽だったら書き込み
■ このスレッドは過去ログ倉庫に格納されています