【PHP】下らねぇ質問はここに書き込みやがれ 47
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/05/26(土) 21:03:53ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 45
http://pc11.2ch.net/test/read.cgi/php/1177635762/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0712nobodyさん
2007/06/21(木) 18:35:01ID:???普通にCookie使ってるんじゃないの?
0713nobodyさん
2007/06/21(木) 18:40:50ID:???0715nobodyさん
2007/06/21(木) 18:46:15ID:???0716虚弱PHP
2007/06/21(木) 18:52:27ID:???mixiの内部実装はしらんけど、
自動ログイン用のクッキーを用意して、
次回アクセス時にそのクッキーが有効なら
そのクッキーを認証代わりにして、認証なしでログインさせる
ってのが普通の方法かな。
0717nobodyさん
2007/06/21(木) 19:20:02ID:???0718nobodyさん
2007/06/21(木) 19:23:39ID:???0719nobodyさん
2007/06/21(木) 19:23:48ID:???0720nobodyさん
2007/06/21(木) 19:24:22ID:???0721nobodyさん
2007/06/21(木) 19:25:10ID:???そんなことするならPHPのセッション機能使ってるのと然程代わりないんだから
セッション機能つかったほうがいいでしょ。
0723nobodyさん
2007/06/21(木) 19:28:15ID:???0724nobodyさん
2007/06/21(木) 19:37:25ID:???0725nobodyさん
2007/06/21(木) 20:13:18ID:???0726721
2007/06/21(木) 20:22:18ID:???0727nobodyさん
2007/06/21(木) 23:09:57ID:ycnzE7QZあれから色々やってみたのですがCSSを読み込んで
くれません
申し訳ありませんがもう一度ご教授いただけないでしょうか
・ DW・FFFTPでアップしたのですが駄目でした。
・ .phpで保存
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="stylesheet" href="○○.css" type="text/css">
</head>
よろしくお願い致します。
0729nobodyさん
2007/06/21(木) 23:29:18ID:ycnzE7QZレス有難うございます。
PHPファイル・CSSは同一ファイルに入っています。
0730nobodyさん
2007/06/21(木) 23:32:37ID:???<link rel="stylesheet" href="○○.css" type="text/css">をブラウザが解釈して
取りに行くんだから.phpかどうかってのは無関係なんだよ。
0731nobodyさん
2007/06/21(木) 23:43:25ID:???寝る!
0732nobodyさん
2007/06/21(木) 23:45:54ID:???> PHPファイル・CSSは同一ファイルに入っています。
どっちなんだよ
どうしたいんだよ
0733nobodyさん
2007/06/21(木) 23:50:56ID:???書かれたコード*だけ*のファイルを .php で保存しても○○.cssが適用されてるかどうかは
わからんだろとか、○○.cssがマルチバイトのファイル名で面倒なことになってねーかとか
PHPと関係なさそうな話に見えるよ。
0734nobodyさん
2007/06/21(木) 23:51:09ID:???外部cssが読めないということはhtml側の問題。
パスがおかしいかcssの書き方がおかしいとか。
その様子じゃphp側でエラーはおきていないんだろうしな。
0736nobodyさん
2007/06/22(金) 00:29:54ID:???ていうかPHPどころかHTMLの基礎を理解してないんじゃないかな・・・
0737nobodyさん
2007/06/22(金) 00:30:47ID:???なんで、一つづつ確認しない。
ステップ1)
PHPで生成されたページをブラウザ上から右クリック→ソースの表示
ステップ2)
表示されたソース内の <link rel="stylesheet" href="○○.css" の 「○○.css」 部分を、メモ帳にコピー
ステップ3)
今開いているURL のアドレス(http://www.example.com/hoge/fuga.php の http://www.example.com/hoge/ と 2)のコピーしたパスを連結して
http://www.example.com/hoge/○○.css を作り、このURLでCSSファイルがブラウザ上で直接開けるか確認
ちなみに ○○.css 部分が 実はフルパスになっているなら、 ステップ3の連結作業はいらない
ステップ3で、どうせCSSファイル読み込めないでしょ。→ PHP 関係ねーよ。
つうか、
FireBugとか IE developerToolbar とか使えばすぐわかるだろうに。
0738737
2007/06/22(金) 00:42:31ID:???ブラウザ側のキャッシュのせいということもあり得る。
キャッシュをクリアして、ブラウザ再起動して、つないだら、最新のスタイルシートが有効になるとかね。
<head>
<title>PHP</title>
</head>
<body>
<?
i = 0;
do{
echo"ここは一回は通ります\n";
}
while($i<10){
echo"$iは現在$iです。<br>\n";
i++;
}
?>
</body>
</html>
なんでシンタックスエラーがでるんでしょうか?
0740nobodyさん
2007/06/22(金) 01:04:59ID:???do-whileとwhileがくっついてるから。
http://www.php.net/manual/ja/control-structures.do.while.php
0741nobodyさん
2007/06/22(金) 02:50:12ID:Fy74ujcr・空行を<br />に置き換えて出力する
・あるいは空行また行頭・行末に囲まれた文章を<p></p>で囲う
ex)<p>空行が含まれた〜したときに</p><p・空行を<br/>に〜で囲う</p><p>のように〜ください</p>
のように処理したいのですがどうすれば良いのでしょうか?
ご教示ください
0742nobodyさん
2007/06/22(金) 03:45:23ID:Ujvjt0/r0743nobodyさん
2007/06/22(金) 06:11:33ID:???要するにこういうこと?
$str = preg_replace(array("/[\n]{2,}/", "/[\n]/"), array("</p><p>", "<br />"), $str);
$str = "<p>$str</p>";
0746nobodyさん
2007/06/22(金) 08:10:51ID:BcpgaIwJ{
if($varの値が不正){return false;}
else{return $varの値をこねくり回した値;}
}
というメソッドを作った後、
function setVar{
if($this->checkVar($var)){
$this->vars[]=$this->checkVar($var);
}
}
のように書くのと、
function setVar{
$result=$this->checkVar($var);
if($result){
$this->vars[]=$result;
}
}
のように書いた場合で、checkVarが実行される回数って異なりますか?
0747nobodyさん
2007/06/22(金) 08:21:15ID:???せんんせい、空行をうまく認識してくれません(linuxなら良いのでしょうか?)
>>743
なるほど!すごいです!
それをいベースにろいろ応用してみます!!
>>745
正規表現苦手なんです。。。
0748746
2007/06/22(金) 08:24:24ID:BcpgaIwJsetVar($var){}です。
0749nobodyさん
2007/06/22(金) 08:34:16ID:???0750746
2007/06/22(金) 09:24:28ID:BcpgaIwJ別の質問なのですが、
parent::method();
とやって呼び出せるのは静的メソッドだけですよね。
function method($value)
{
$value=trim($value);//子クラス特有の何らかの処理
parent::method($value);//親クラスの同名メソッド(動的)を呼び出す(ただし下のは静的メソッド)
}
このような例で動的メソッドを何としても呼び出したいときはどうすればよいですか?
ちなみに、テンプレートメソッドパターンで
function method($value)//親クラスのメソッド
{
$value=$this->premethod($value);//ここのメソッドは子クラスのもの
return strtolower($value);//何らかの処理
}
function premethod($value)//子クラスのメソッド
{
return trim($value);//子クラスの処理
}
という風にする、っていうのは今実装できない、ということにしてください。
0751nobodyさん
2007/06/22(金) 09:54:27ID:???エクスタシー王子こと尾奈良崇夫です。
宜しく!!
0752nobodyさん
2007/06/22(金) 10:03:19ID:???0753nobodyさん
2007/06/22(金) 10:14:39ID:???ユーザーが指定する形にしたいんだけど、
どうしたらいいですか?
CSV出力までは出来たけど、CSVファイルの保存先がソースと同じフォルダになっちょる!
0754nobodyさん
2007/06/22(金) 10:21:50ID:???0755nobodyさん
2007/06/22(金) 10:36:24ID:54Cz/LMHIDとパスワードをそれぞれMD5で暗号化して、それを連結させたものをまたMD5して、
そのあと、後ろにユーザーのID(主キー)をくっつけたものをクッキーに保存。
で、次きたときクッキーを見て、値があればとってきて、33ビット目からの数字を取り出して、
その数字を主キーでDBから検索。
DBから出てきたユーザのID/パスワードを上記のクッキーに保存した方法で暗号化する。
その値と、クッキーの値を比べて、同じならログインさせる。
こういう方法考えたんですけど、何かセキュリティ的に問題点とかあります?
0756nobodyさん
2007/06/22(金) 10:38:12ID:???さっきの質問もそうだけど、何が知りたいのか不明。言葉の意味をわからず使ってる感じもある。
意味があるか知らんけど
class child extends parent{
function method($value)
{
$value=trim($value);
$parent = new parent;
$parent->method($value);
}
}
$rtn = new child;
$rtn->method('foo');
で出来るだろ。
デザパタ用語使う前に、インスタンスとstaticの関係を少し勉強したほうがいいよ。
0757nobodyさん
2007/06/22(金) 10:46:33ID:???$this->←を見ると逃げ腰になってしまいます
どうすれば良いでしょうか?
0758nobodyさん
2007/06/22(金) 10:48:40ID:???(ビットじゃなくてバイトね)
ユーザID=主キーってのが気になる。
自分ならクッキー用キーを別途発行して、それをIDと一緒に別テーブルに入れたいけど。
(認証期間切れとかにも対応できるし)
0760虚弱PHP
2007/06/22(金) 10:55:07ID:???そんなに問題はないと思うけど
ハッシュにID/PASSWORDを使う必要ないんじゃない?
その方法だと固定文字列になると思うので
ほんのちょっとだけリスクが上がる。
↓こんな感じでいいんじゃないかな?
http://blog.ohgaki.net/index.php/yohgaki/2006/05/12/espcs_if_a_fa_ia_a_pa_e_oa_a_sa_da_ca_sa
さらに認証を強くしたいなら、UAをとるとか。
(ブラウザバージョンUPするとオートログイン切れるかもしれないから注意)。
ハッシュもMD5よりSHA1とかSHA512を使った方が良いよ。
それから、基本的にオートログイン自体がセキュリティリスクだってことは忘れちゃだめ。
0761nobodyさん
2007/06/22(金) 10:57:29ID:???あとの情報は鯖側でセッション情報としてもっとけ。
外に情報ださなければ破られる心配もない。
0762nobodyさん
2007/06/22(金) 11:00:16ID:???(*´・ω・)(・ω・`*)ネー
じゃなくて!
どなたか突破口を教えて頂けませんか?よろしくご教示ください
0763nobodyさん
2007/06/22(金) 11:08:33ID:???$好きな名前 = & $this;
って一行書いておけば$this->を見なくて済む。
いつでも
$好きな名前->
でオブジェクトにアクセスできるよ。
0764755
2007/06/22(金) 11:14:41ID:54Cz/LMH・新しくDBテーブル追加しない
・入力フォームにID/パスワードを初期値としていれる
この2つの要件満たすためには、ハッシュにID/パスワード使う必要があるんですよね。。
上記2つを満たすような方法、>>755以外でありますかね?
0765751
2007/06/22(金) 11:19:30ID:???クラスを理解する突破口は、まず自分のオナラの臭いを吸ってエクスタシーを感じること。
その後に、必ず何か見えてくるはずだよ。
0766nobodyさん
2007/06/22(金) 11:21:16ID:???「この2つの要件を満たす」という前提で、そういうお遊びオートログインを作ろうとしている貴方の頭が
セキュリティ上の問題だよ。あとは勝手にしなさい。
0767nobodyさん
2007/06/22(金) 11:24:27ID:???ありがとうございます
でも、$this->同様に複合演算子もむりぽ・・・
>>765
やはり実家の家業を継ぐべきでしょうか?
0768nobodyさん
2007/06/22(金) 11:34:43ID:54Cz/LMHすいません、お遊びオートログインなんです。
でも、オナラの臭いを吸ってエクスタシーを感じて落ち着いて。
ここはくだらねぇ質問する場所です。
お付き合いください。
0769nobodyさん
2007/06/22(金) 11:54:49ID:???0770nobodyさん
2007/06/22(金) 11:59:41ID:???まぁまぁ、君もまず自分のオナラの臭いを吸ってエクスタシーを感じてみなよ。
その後に、必ず何か見えてくるはずだよ。
0771nobodyさん
2007/06/22(金) 12:00:53ID:???0772nobodyさん
2007/06/22(金) 12:01:57ID:J7y8syt9にはどうしたらいいのでしょうか?
0773nobodyさん
2007/06/22(金) 12:06:01ID:???if($_POST) echo "POST";
0774nobodyさん
2007/06/22(金) 12:10:31ID:???thisって自分自身、クラス云々考えずにjavascriptの this.valueと同じだぐらいに軽く考えれば?
0775nobodyさん
2007/06/22(金) 12:10:51ID:???0779nobodyさん
2007/06/22(金) 12:23:32ID:J7y8syt9ありがとうございます
>>773さんのもいいのですが
今回は>>775さんと>>778さんの方がシステム条件に合うので
そちらを採用させてもらいます
0780nobodyさん
2007/06/22(金) 12:23:33ID:???> あんまセクハラ的な発言をくりかえしてんじゃねえよジジイ。
セクハラ「的」じゃないでしょ!!立派なセクハラでしょ。
的って何?バカじゃないの?
0781nobodyさん
2007/06/22(金) 12:29:52ID:???0782nobodyさん
2007/06/22(金) 12:34:58ID:54Cz/LMH0784虚弱PHP
2007/06/22(金) 13:11:29ID:???>>783は、
○2番目の要件の意味がよくわからない。
○なんでそんな(ふたつの)制限があるの?
のふたつの意味で書きました。
0785nobodyさん
2007/06/22(金) 13:19:50ID:54Cz/LMHお遊びだから。
0786nobodyさん
2007/06/22(金) 13:41:38ID:???どうぞお引取り下さい。
0787nobodyさん
2007/06/22(金) 13:41:55ID:???0788nobodyさん
2007/06/22(金) 13:49:08ID:54Cz/LMH実装しようと思ったから、データベースは使わないという要件が発生しました。
0789nobodyさん
2007/06/22(金) 13:53:10ID:wwxPOIopメール受信と同時にphpに処理させようと思うのですが
うまくいきません。
とりあえずテスト用のPHP(write.php)は
コマンドラインからの引数をserializeしてfwriteでファイルに保存する単純なものです。
で、dot-qmailに
|php /var/qmail/write.php
と書いたのですが、保存されるファイルは
a:1:{i:0;s:20:"/var/qmail/write.php";}
となります。
例えば
|php /var/qmail/write.php test
とか引数を与えると、それもちゃんと保存されます。
問題はメールの本文をPHP取得できないのです。
dot-qmailのマニュアルを見ると
「本文はコマンドの標準入力に渡す」と書いてあって多分これが問題なのだと思いますが
標準入力をPHPで取得することはできないのでしょうか?
やり方わかりましたらお願いいたします
0790nobodyさん
2007/06/22(金) 13:56:44ID:???100円払って3時間半の間にプログラム1本仕上げませんか?
http://www.nouhibus.co.jp/hidasi/
0791nobodyさん
2007/06/22(金) 14:05:05ID:???0792nobodyさん
2007/06/22(金) 14:05:26ID:D+3gHmlv雑音ばかり入ってしまいます。どうしたらうまく録音できるか教えてください
0793nobodyさん
2007/06/22(金) 14:09:26ID:???0795nobodyさん
2007/06/22(金) 14:28:31ID:???postfix+バーチャルメールボックス→途中にスパムフィルタ→シェル→php起動の例だと
こんな感じでとりあえず動いてる。qmailも同様に出来んか?
#!/bin/sh
INSPECT_DIR=/var/spool/filter
SENDMAIL="/usr/sbin/sendmail -i"
REGMAIL="/usr/local/bin/hoge.php "
SPAMASSASSIN=/usr/bin/spamc
# Exit codes from <sysexits.h>
EX_TEMPFAIL=75
EX_UNAVAILABLE=69
# Clean up when done or when aborting.
trap "rm -f in.$$" 0 1 2 3 15
# Start processing.
cd $INSPECT_DIR || {
echo $INSPECT_DIR does not exist; exit $EX_TEMPFAIL; }
cat | $SPAMASSASSIN -x > in.$$
#cat > in.$$
grep -e "^To: uketuke@example.com" in.$$ \
&& $REGMAIL < in.$$
$SENDMAIL "$@" < in.$$
exit $?
0802nobodyさん
2007/06/22(金) 15:37:03ID:54Cz/LMH/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \ <○ ○、
| |r┬-| |
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
____
/_ノ ヽ、_\
ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒)
| / / / |r┬-| | (⌒)/ / / // < ○ ○ だっておwwwwwwwwwwwwwwwwwww
| :::::::::::(⌒) | | | / ゝ :::::::::::/
| ノ | | | \ / ) /
ヽ / `ー'´ ヽ / / バ
| | l||l 从人 l||l l||l 从人 l||l バ ン
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、 ン
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
0803nobodyさん
2007/06/22(金) 15:40:16ID:???AAを貼る前にAAにしゃべらせるセリフを考えるんだ。
ていうか、ここで遊ぶより、お遊びオートログインの実装考えるほうがきっと楽しいよ。
0805nobodyさん
2007/06/22(金) 15:44:15ID:???0806nobodyさん
2007/06/22(金) 15:44:25ID:54Cz/LMHデータベース使わないなら教えてねぇ的な雰囲気なんだもん
0807nobodyさん
2007/06/22(金) 15:57:50ID:???そうじゃないとしても、別にアカウントに依存した文字列を生成する必要はないだろ。
0808nobodyさん
2007/06/22(金) 16:12:20ID:???perlの 2**32 ってどういう意味でしょうか?
2の32乗?
0809nobodyさん
2007/06/22(金) 16:19:00ID:???0810nobodyさん
2007/06/22(金) 16:23:26ID:???不適切な記事や行為があったなら、事前に警告し、こちらが、バックアップを取れる猶予を与えるのが筋ではないでしょうか?
ライブドアの不当な削除については、元お笑い芸人大田さんの無料レポートが有名ですが、まさか地味にアフィリエイトブログをやっている自分がそんな目にあうとは思ってもいませんでした。
リスク管理の甘さ、何らかの行き過ぎた行為があったのかも知れませんが、血と汗で書き溜めた180記事という人の財産をこうも簡単に奪ってよいものでしょうか?
これは明らかに違法行為ではないでしょうか。しかも、私は有料サービスを利用していましたので、問答無用の削除はひどすぎると思いませんか?
0811nobodyさん
2007/06/22(金) 16:26:28ID:???http://jp.php.net/manual/ja/wrappers.php.php
0812nobodyさん
2007/06/22(金) 17:26:26ID:???利用規約を読め。有料だろうが無料だろうが関係ない。
バックアップをとらなかったのは自分の責任。「自己の責任において維持管理」ってあるだろ。
それに免責事項もある。
■ このスレッドは過去ログ倉庫に格納されています