【PHP】下らねぇ質問はここに書き込みやがれ 25
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/07/23(日) 20:00:03ID:???ここならお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
過去スレは>>2
0269nobodyさん
2006/07/28(金) 08:04:27ID:???> DBに入れる前(フォームから投稿された直後)と、
マテ。DBに入れる前に何故htmlspecialcharsなんてかけるか。
フォームから投稿
→確認ページでhiddenにセットするときにhtmlspecialchars
→再投稿(アンエスケープされた状態になる)
→そのままDBに格納
でいいだろが。
0271nobodyさん
2006/07/28(金) 09:59:52ID:???なるほど。ありがとうございます。
ちなみにC言語はやったことがないので、違いを認識することはできません。
そのページの著者の予定では、C言語をやったことがない人は罠には引っかからないはずなんだけど、
fgetsのマニュアルのページで、4096バイトずつとりだすやり方のみ例文となっており、
Lengthを指定しない形での例がないことから、
そのままそこに載っているバイト指定で取り出すルーチンを使ってしまうという結果になってました。
これはC言語をやったこがある人ならば、その注意書きにより気づくかもしれませんが、
やったことがない人は何の疑問も抱かずその例1のルーチンをそのまま使う罠にはまりやすいと思います。
0272nobodyさん
2006/07/28(金) 10:09:38ID:???オマエだけ
他人のルーチンを理解せずそのまま使う方が悪い
普通はどういう処理をしてるか理解して、自分が望む処理でない場合は修正してから使うもんだ
0275nobodyさん
2006/07/28(金) 10:50:41ID:???上のページは「フォーム認証」画面
認証後、下のページに「正」ならA.html、「誤」ならB.html
と表示させたいのですが、上手くいきません
PerlではWindow-taegetなる関数があるのでPHPでやってみたのですが無駄でした
どのような方法がありますでしょうか?おながいしまつ
//現状のソース
switch($userExists[0]) {
case 1:
$_SESSION['username'] = $username;
header('Location: MAIN.html Window-target:right');
break;
default:
header('Location: ERROR.html Window-target:right');
}
0276nobodyさん
2006/07/28(金) 10:56:13ID:???確認画面のhiddenで勝手な投稿がされてしまうんなら、
元々の投稿フォームだって勝手な投稿ができちゃうってば。
内部データを外に出してるわけじゃないんだよ?
0277nobodyさん
2006/07/28(金) 11:04:25ID:???わかった、きっと仮投稿段階ですでにDB上にデータを置いてだな、
それを認証する形なんじゃないか?
で、一定時間を過ぎて認証がなされなかった仮投稿データは破棄される…と。
マンドクセー
0278nobodyさん
2006/07/28(金) 11:06:51ID:???> fgetsのマニュアルのページで、4096バイトずつとりだすやり方のみ例文となっており、
> Lengthを指定しない形での例がないことから、
君は大きな思い違いをしている。
今回の問題はEOFの認識の問題であってLengthなんて「全く」関係ない。
> これはC言語をやったこがある人ならば、その注意書きにより気づくかもしれませんが、
C言語とか関係なく、例では無条件に全ての結果をechoで表示してる(これは最後に空行を出力する)を、
君が何の疑問も抱かずにそのまま配列に格納するよう改造してしまっただけの話。
単に、君が関数の説明文の意味を理解できてないだけ。
自分で解釈せず、何でもコピペで済ますからそうなる。
マニュアルの例文は、実際に実行してみればファイルに存在しない空の1行を出力するので、
EOFの扱いとfgetsの挙動について理解しやすいものとなっている。
それを実際に試しもしないで使う方が悪い。
0279nobodyさん
2006/07/28(金) 11:18:33ID:???> PerlではWindow-taegetなる関数がある
そんな関数は無いよ。Window-targetってのはHTTPヘッダの1種。
header('Location: MAIN.html');
header('Window-target: right');
という風にすれば使える。
でもこれIEでも使えるんだっけ?Netscape独自拡張だと思ってたけど。
> どのような方法がありますでしょうか?おながいしまつ
上のフォームで<form action="〜" target="right">と指定するだけ。
0282nobodyさん
2006/07/28(金) 12:19:19ID:???まあいままでファイル全部を書き直す場合があるのは、
任意行の削除と、任意行のデータ変更のみで、
この場合、配列の最後にstring評価した場合の空文字が入っていても、
echo ""; が実行され、ファイルには何の影響も与えず、
結果的にまったく動作に問題なかったため気づきませんでした。
0283nobodyさん
2006/07/28(金) 12:41:41ID:???0285235
2006/07/28(金) 13:03:50ID:brf1+TV+ありがとうございます。
無事、意図した動作をするようになりました。
経験豊富な貴方みたいな方に教わりたかた
0286nobodyさん
2006/07/28(金) 13:06:06ID:???こっちはつながるよ
0288nobodyさん
2006/07/28(金) 14:17:00ID:???> →再投稿(アンエスケープされた状態になる)
えっっっ!!!!???? ・・・そうなの!?
エスケープされた状態のデータをhiddenで埋め込んで再POSTすると
アンエスケープされるなんて、初耳だぞ。
そんなのマニュアルに載ってたっけ??(もしかしてPHPじゃなくてHTTPの話かな?)
0291nobodyさん
2006/07/28(金) 15:08:06ID:???出来ない。
hiddenのほうから直接やればいいんだし。
ワンタイムチケットとかRefererチェックやれば対応できるがどちらも一長一短
0292nobodyさん
2006/07/28(金) 15:12:10ID:???ログの保存はファイルに書くのとMySQLに入れるのどちらが負荷小さいですか?
0293nobodyさん
2006/07/28(金) 15:14:17ID:???アクセスログを全て記録しっぱなしでランダムアクセスするならデータベースのが有利だな。
100件とか1000件で固定するならファイルで充分
0294nobodyさん
2006/07/28(金) 15:23:15ID:???0295nobodyさん
2006/07/28(金) 15:36:37ID:???データベースの方がいいんじゃないか。
0296nobodyさん
2006/07/28(金) 16:38:07ID:???どのような設定が必要なんでしょうか。。。?
0297nobodyさん
2006/07/28(金) 16:40:22ID:???$temp_file はテンポラリに入っています。書き出す前です。
この様な段階でme5_file する事は無理なのでしょうか?
現在は move_uploaded_file chmod で一度書き出し me5_file した後 unlink で消しています。
この様な面倒な方法以外の方法があればご教示ください。
0301nobodyさん
2006/07/28(金) 19:32:50ID:qH9kRSG5登録したユーザー同士でセカンドメールを与えるという物です。
[email protected]に[email protected]
[email protected]に[email protected]を与え、
[email protected]から[email protected]宛てに送られたメールを
From: [email protected]として、[email protected]に送るような感じです。
1対1のメーリングリストのようなイメージです。
環境は、mod-perl+MySQL+qmail+vpopmailで、vpopmailのユーザー管理はMySQLにしています。
現在はSubjectに送りたい方のidを入力してもらって、[email protected]を窓口にして転送してます。
パイプでperlに標準入力としてメールを渡し処理しています。
もっと直感的なシステムを作りたく、ご相談します。
こういう場合、各ID毎のメールアカウントを作る必要はないのでしょうか?
0302301
2006/07/28(金) 19:33:57ID:qH9kRSG50303nobodyさん
2006/07/28(金) 20:27:58ID:???投稿内容に半角英数字で途切れない長い一文(たとえば長いURLなど)があると、
それをテーブルで表示したときにピクセル指定してあるテーブルの幅で自動改行されずに
どこまでも延びていってしまい、レイアウトが崩れます。
英数字だけならchunk_splitやwordwrap関数で対処できるのですが、
日本語も混じっている文章の場合だと、それらの関数では文字化けしてしまいます。
この場合どうやって一行の長さを制御すれば良いのでしょうか?
0304nobodyさん
2006/07/28(金) 20:37:06ID:???どの程度のレベルでやりたいのかは知らないけど、
一文字づつ走査していきつつ、
半角か?全角か?
半角から全角に(全角から半角に)文字が変わったか?
スペース(全角含む)か?
を調べ、文字列に追加していけばいいんじゃない?
0305nobodyさん
2006/07/28(金) 20:51:29ID:???フォルダからファイル名と数の取得
ファイル数が0ならこれより下の処理を行わない
ファイルの処理
?>
このような順番で処理を行いたいのですが、
if(!ファイル数==0){
ファイルの処理
}
でもいいと思うのですが、
”ファイル数が0ならこれより下の処理を行わない”
ここはどんな命令を書けばいいでしょうか?
関数内ではないのでreturnはつかえないですし、
caseでもないのでbreak文もつかえないみたいです。
0306nobodyさん
2006/07/28(金) 20:52:09ID:???え〜、そこまで回りくどい方法でやらないと実現できないのかな?
逆にPHPで解決するんじゃなくて、HTMLやCSSのレベルで解決できないもんかな。
ミクシィの日記とかはしっかりテーブルの幅で英数字が自動改行されるけど、
あれはどうやって実現してるのだろうか・・・。
0310nobodyさん
2006/07/28(金) 21:00:35ID:???だった。
0311306
2006/07/28(金) 21:04:51ID:???td { word-break : break-all; }
0316nobodyさん
2006/07/28(金) 22:21:20ID:???まずさ、PHPでメールを送信ってことになると、メールサーバに送信を依頼するわけだ。
という事はまずメールサーバをたてなきゃならない。
でも、ここはPHPスレだ。分かるな?
まぁ、とりあえずメールサーバをたてる説明が載ってる簡単な解説本買ってきたほうが良いんじゃないか?
0317nobodyさん
2006/07/28(金) 22:25:10ID:???という仕組みなんですか?
0318nobodyさん
2006/07/28(金) 22:29:42ID:???0322nobodyさん
2006/07/28(金) 22:51:07ID:???SMTP = smtp.mail.yahoo.co.jp
smtp_port = 25
; For Win32 only.
sendmail_from = *****@yahoo.co.jp
とすると、
SMTP server response: 521 smtp.mail.yahoo.co.jp closing transmission channel. You must be pop-authenticated before you can use this smtp server,
and you must use your yahoo mail address for the Sender/From field. in
と返ってきました。Yahooじゃだめなんですね・・・。
0323nobodyさん
2006/07/28(金) 23:30:55ID:???0324nobodyさん
2006/07/28(金) 23:31:57ID:???つまり、メールサーバでぐぐらなきゃいけない。分かるな?
あなたは根本的に調べる努力が足りない。
節度ある人なら、調べてから質問するものだ。
0325nobodyさん
2006/07/28(金) 23:37:29ID:???これでも参考にしろ:
http://pc8.2ch.net/test/read.cgi/php/1017456911/647-659
0326(^ω^)
2006/07/29(土) 00:06:35ID:???エラーメッセージの1行目は
http://e-words.jp/w/POP20before20SMTP.html
を参照
0327nobodyさん
2006/07/29(土) 00:54:29ID:o/NOOu9zここに、<A href="sample.php">で、
http://example.com/sample.phpへのリンクが貼られますけど、
http://example.com/index.php/hogehoge/
ここに、<A href="sample.php">で、
http://example.com/index.php/sample.phpになってしまいます。
どちらからアクセスしても、
http://example.com/sample.phpへのリンクを貼ることはできないのでしょうか?
また、http://example.com/がhttp://abc.example.com/やhttp://test.example.com/に変わったりを
すること前提でお願いします。(相対パス)
0328nobodyさん
2006/07/29(土) 00:55:54ID:???0330nobodyさん
2006/07/29(土) 00:58:33ID:o/NOOu9z<? $_SERVER['PHP_SELF'];?>を使ったり、似たような感じで
0331nobodyさん
2006/07/29(土) 01:00:58ID:???/
033284
2006/07/29(土) 01:04:06ID:3hlZJo6Tを使ってwebプログラムを作りたいのですが、設定の方法がわかりません。
WindowsXPProSP2,Apache2,php5.1,を使っています。php.iniとhttp.confを
いじるのでしょうか?その手のsiteの情報でもかまいません。お願いします。
0334nobodyさん
2006/07/29(土) 01:13:23ID:???ググって参考になるサイトがなかったから書き込みしてるんだろ
0335nobodyさん
2006/07/29(土) 01:15:18ID:3fQzY82m0337nobodyさん
2006/07/29(土) 01:20:50ID:???PEARとか文献少なくて苦労したけど、ソース読めば分かるしね
0338nobodyさん
2006/07/29(土) 01:20:59ID:???はぁ? ググったら DB2 知らん俺にもすぐ出来そうだったぞ。
ググって分かりそうだからググれって書いたまでだ。
情報検索能力を磨け。
0340nobodyさん
2006/07/29(土) 02:30:05ID:???0341nobodyさん
2006/07/29(土) 02:49:30ID:???ここはそういうスレだからなぁ。
押し付けられるのがイヤなこのスレに来るんじゃねぇ。
>>332
初心者がどうしてわざわざDB2? 素直にMySQL使いなさい。
0342nobodyさん
2006/07/29(土) 03:05:59ID:br9tPqMJ最近特にそんなのが多いな。
0343nobodyさん
2006/07/29(土) 03:12:17ID:???まあ別にいいじゃん。
初心者はググり方が分からない、または良いググり方を考えるのがめんどくさい時もある。
そんなときの質問スレ。
答えるのは義務じゃないんだから、イヤだったらスルーしれ。
0344nobodyさん
2006/07/29(土) 03:25:10ID:???くだ質なんだし、マッタリ行こうぜ
ただ、PHPとかじゃなくてプログラミングの仕方が分からないってのはどうしたものかな?
0345nobodyさん
2006/07/29(土) 03:39:28ID:???どうしたもんか悩んでしまうな。
>>317とか。
0347nobodyさん
2006/07/29(土) 06:59:35ID:???別に「以前」でも「以後」でもないと思うが。
ただ単に種類が違う話なだけで。
そしてWebアプリではHTTPやサーバ周り等も密接に関連するので、このスレで質問してOK。
厳密にPHP以外の話題が来るとすぐに「スレ違い」とか言うヤツはウザい。というか考え方が間違っている。
イヤなら見なけりゃいいのに。
0348nobodyさん
2006/07/29(土) 07:09:50ID:???ここはPHPスレです。Webアプリ全般や、HTTP等プロトコルレベルの話題はそれらのスレへどうぞ。
ってことだな。
0349nobodyさん
2006/07/29(土) 10:01:24ID:???どうやって作るのでしょうか?
画面に表示させないで
実行結果だけをファイルに出力する方法?
0350nobodyさん
2006/07/29(土) 10:07:23ID:???デスクトップの何もない部分を右クリックして、
新規作成 → テキスト ドキュメント
を選び、出来たファイルの名前を log.txt にする。
0351nobodyさん
2006/07/29(土) 10:32:49ID:???PHPどころか、基礎の基礎をすっとばして、いきなり *実用* しようとしている人が増えてきているからじゃないの?
0353nobodyさん
2006/07/29(土) 13:28:30ID:???最近の人ってマニュアル呼んでないのかな?
0354327
2006/07/29(土) 13:40:04ID:o/NOOu9zで解決しました。
0356327
2006/07/29(土) 13:48:40ID:o/NOOu9z何かもっと良い解決法があるのでしょうか?
0358327
2006/07/29(土) 14:01:05ID:o/NOOu9z試してみましたが、どの階層から飛んでも
http://localhost/log.txtに固定されてしまいます。
0361327
2006/07/29(土) 15:03:05ID:o/NOOu9zhttp://localhost/test/test.php
ここにリンクが貼ってあり、
http://localhost/test/test.php/a/i/u/e/o/
http://localhost/test/test.php/hogehoge/hogehoge/
http://localhost/test/test.php/012/3456789/
どれから飛んでも
http://localhost/test/log.txt
に飛ぶような感じです
0363nobodyさん
2006/07/29(土) 15:13:59ID:???0364nobodyさん
2006/07/29(土) 15:26:42ID:???この手のバカは、W3CとかGPLとかでも厳密さを求めて大騒ぎするタイプだな。
あ〜〜〜〜〜キモっっっ!!!!!!! こういう宗教の狂信者は氏んだらいいんだよ。
正しくは↓
ここはPHPスレです。Webアプリ全般や、HTTP等プロトコルレベル、データベース、サーバー関係の話題も絡めてどうぞ。
0366nobodyさん
2006/07/29(土) 15:36:32ID:???で、本スレどこよ?
"php" でこの板を検索するとメッサ出てくるんだが…
あと、クライアントの都合で Windows 環境でも動作するもの作るときあるんだけど、
http://www.php.net/download-docs.php ここにある、chm の文字化けなんとかならんのか?
以前、php-docs ML に話題に上っていたけど…。
あとさぁ…配列で戻り値返す関数、こういう使い方できないのね
$child = hoge( $sexmachine )[ 'oral' ]
仕事上、perl <---> php を行ったり来たりするから、混乱してかなわん
■ このスレッドは過去ログ倉庫に格納されています