【PHP】下らねぇ質問はここに書き込みやがれ 61 at PHP
[2ch|▼Menu]
[前50を表示]
350:nobodyさん
07/12/27 13:29:34
>>348
なんかめちゃくちゃ言ってない?



351:nobodyさん
07/12/27 13:36:30
>>349
XORを用意ってビット演算子はあるんだからそれくらいの手間をケチるなよ。
...rot13とかなかったっけ? あとcryptも


352:nobodyさん
07/12/27 13:43:05
>ブラウザの戻るや進むで前の画面に戻ろうとすると
>「セキュリティーのどうたら」ってエラー文がでて、送信前の入力データが消えたり
>新しくリロードしないとページが表示されないようになる。

これはフォーム送信した後に戻ろうとしたら「再送信します OK?」っていうアレのこと?
セッションとは関係なくない?

353:nobodyさん
07/12/27 13:45:14
>> 348
てゆーかセッションわかってる?

354:nobodyさん
07/12/27 13:50:22
>>348
それセッションとかクッキーとか全然関係無いだろw

355:nobodyさん
07/12/27 14:17:26
>>348
それは、no-cache の話じゃないかな。sessionを使うと自動的にno-cacheにしてしまうような
フレームワークがあっても不思議じゃないけど、一般論として、sessionを使うとno-cacheになると
いうものではない。

>>344は、特定の環境で教えられたんじゃないかって気がする。

356:nobodyさん
07/12/27 14:17:58
str_rot13() = 英字の置き換え ABCDE ←→ NOPQR
crypt() = 一方向ハッシュ化 $1$Ze5.ut0.$9k5PF7d6Wogm4fjfYcViE0

cryptってmd5より有名だったと知らなかったPHP暦1年の俺が来たよ
str_rot13についてはマイナーすぎて今知った

357:nobodyさん
07/12/27 14:31:22
「crypt」って、エニグマと同じ方式による暗号化プログラムで、暗号化キーで復号できるものだと
思ってたんだけど、最近はcryptといえば単方向ハッシュであるものを言うようになったのか。

確かにPHPのマニュアルにも単方向って書いてあるし、何時の間にって感じなんだけど。

358:344
07/12/27 14:40:06
>>344>>348デス。
>>347>>350-355
暗号化について解説ありがとうございます。早速今日から使ってみます。
sessionについても丁寧なご説明ありがとうございます。
今調べたらまさにその通りでした。>>305>>346さんゴメンナサイ。

2年も間違ったまま覚えてたってやっべえ恥ずい。
どれぐらいって恥ずかしい性癖とかばれたぐらい?
反省してROMに戻ります。

359:nobodyさん
07/12/27 15:45:25
>>357
たぶんUnixとかネットワーク関係プログラマ界隈では
crypt といえば crypt(3) のこと。
PHPのcryptもcrypt(3)の単なるラッパのはず。

>>356
rot13はたぶん一番古くて一番有名なそして一番弱い暗号だぞ!
シーザーさんをなめるな!


360:nobodyさん
07/12/27 16:52:06
URLリンク(ytteter.so.land.to)

361:nobodyさん
07/12/27 18:06:57
>>359は、宝塚出身の女優と一緒だな。
本人は芝居上手だと勘違いしているが、押し付けがましいパフォーマンスに過ぎない。


362:nobodyさん
07/12/27 18:27:55
だが、ぬくぬくと生き伸びていたりする。

363:nobodyさん
07/12/27 23:42:07
過疎ってルナ

364:nobodyさん
07/12/28 01:18:59 x8Ui+5jw
質問です。

次元数が任意の多次元配列で、その配列の要素数を数えながら
次元を自動的にさかのぼる処理をさせたいと思っています。
具体例を書くと、配列 $arr が下記のようなものだったとして、

Array
(
[0] => hoge
[1] => Array
(
[0]=> koke
[1]=> moke
)
)

$arr[1]の要素数(2)を取得できるようにしたいと思っています。

この時、この配列の内容は事前に分かっていないため、
count($arr) が1以上ならば、その要素を調べ、
更に配列あればが自動的に添え字を付加して(ここでは「count($arr[0])」として)
上位次元を走査するような方法を思いつきました。
そこで変数に格納した添え字を配列変数に付加したかったのですが、
その方法が分かりません。
感覚的には、 $index = "[1]"; だったとしてとして
$arr{$index}{$index} が 「 $arr[1][1] 」となり、「moke」を取得する、
というような動作を希望していますが、$index が文字列のためうまくいきません。
何か他に望む処理を行える方法があるでしょうか?
よろしくご教示ください。

365:nobodyさん
07/12/28 01:28:39
>>364
>>$index が文字列のためうまくいきません。
ここの意味が分からない。

$arr["$index"]["$index"]
って話じゃなくて?

366:nobodyさん
07/12/28 01:33:23
>>364
$index = "[1]";
と、絶対使いにくそうな値を敢えて仮定する理由は?

367:nobodyさん
07/12/28 01:35:23
つまり

$index = "1";
$arr["$index"]["$index"]

みたいな形がやりやすい方法です。

368:364
07/12/28 01:53:54
>>365-367
みなさんレスありがとうございます。
その問いが来るかな、とは思っていたのですが、うまく説明できませんでした。

>>364 の例でいうと、$arr が何次元の配列なのか事前に分からないところが
ネックとなります。
つまり処理を行う前に最高次元が「$arr[]」なのか、「$arr[][]」なのか、
「$arr[][][]」なのかが分からないため、決め打ちできないということが問題です。
そのため、「[]」の角括弧を最初から書いておく「$arr["$index"]」方式では
対応できないので、角括弧を後から自由に付加できるような形を
求めていたというわけです。

例えば、$i = 1; で $index = "[$i]"; ならば、
$arr . $index で「 $arr[1] 」となって欲しいと思っていました。
このような目的を満たす処理方法はありますでしょうか?
引き続き、よろしくお願いします。


369:nobodyさん
07/12/28 02:02:57
最初から分かってたらなら書けと・・

再帰的な手法は分かる?
「再帰的関数 php」とかでググッてみるといい


370:nobodyさん
07/12/28 02:08:52
home/hoge
home2/hoge4
home/hoge2
home/hoge3
home2/hoge5

これを
-----------------
home
 hoge
 hoge2
 hoge3
home2
 hoge4
 hoge5
-----------------
と表示させられるように配列処理したいのですが、
良い方法思いつきません、
お助けを。

371:nobodyさん
07/12/28 02:10:06
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

372:364
07/12/28 02:21:01 x8Ui+5jw
>>369
申し訳ありません。
>>364 の「この時、この配列の内容は事前に分かっていないため」で
伝わるかと思い込んでしまいました。
再帰処理については知っています。
今回の処理も再帰処理で、と思っていたのですが、
どうしても配列変数の添え字を自動生成する方法の所が分からなかったのです。
何か方策はありますでしょうか?

>>371
重ね重ね失礼しました。追記いたします。
サーバのOS: 「Windows2000」
Webサーバ: 「Apache 2.0.59」
PHPのバージョン: 「4.4.7」
以上の環境です。
なおこの環境は、OS 以外は利用しているレンタルサーバのスペックを
模倣したもので、この環境下での動作を求めています。

373:nobodyさん
07/12/28 03:04:11
>>370
/でexplode()してキーと値に宛えば。

>>372
どうにも難しい処理だから微妙だけど
eval("return \$arr{$index};")
とか。

374:370
07/12/28 03:17:21
> キーと値に宛えば

詳しくキボンヌ

375:nobodyさん
07/12/28 04:14:13
「キーと値に使えば」と予想

つまり
home2/hoge4
を分割して
$hoge["home2"] = "hoge4";
って形にすれ


376:nobodyさん
07/12/28 04:44:15
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
スレリンク(php板)

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

377:255
07/12/28 06:41:54 rEU4Fn3c
環境fedora7

<?php


if (mail('ac10@fb3.so-net.ne.jp','titile','message'))


echo "<b>SUCCESS TO SEND</b><BR>";


else


echo "<b>fail to mail</b><BR>";


?>
でfail to mailという方が出ます。



恐らくphp.iniの設定が不足しているんだと思いますが、
php.iniのsendmail_pathについてまだよく分かっておらず、とりあえずデフォのままにしてます。
ポート25は開けていませんがこれでいいのでしょうか。

378:255
07/12/28 06:46:39 rEU4Fn3c
sh: /usr/sbin/sendmail: Permission denied
というログが出ました。

379:255
07/12/28 06:48:30 rEU4Fn3c
が、lrwxrwxrwx root root system_u:object_r:bin_t sendmail
とあったので別にパーミッションは良いかと思います、、、もしかしたら
bin_tをhttpd_sys_content_tにしなければならないですか。

380:nobodyさん
07/12/28 07:40:41
/var/logを (って/var/logがFedoraにあるのかしらないけど)
良く調べてみたら。隅々まで。

URLリンク(bbs.fedora.jp)

ちょっとググってみたかんじだと SELinuxがどうのこうの、って
話がいくつか出てくるけど

381:255
07/12/28 08:10:09 rEU4Fn3c
有力情報ありがとうございます。SELinux disableにして実行してみたんですけど、やはりfail to mailでした。
ろぐ追加です。
[Fri Dec 28 06:18:37 2007] [notice] caught SIGTERM, shutting down
[Fri Dec 28 06:18:48 2007] [notice] SELinux policy enabled; httpd running as context user_u:system_r:httpd_t:s0
[Fri Dec 28 06:18:48 2007] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Dec 28 06:18:48 2007] [notice] Digest: generating secret for digest authentication ...
[Fri Dec 28 06:18:48 2007] [notice] Digest: done
[Fri Dec 28 06:18:49 2007] [notice] Apache/2.2.6 (Unix) DAV/2 mod_layout/4.0.1a PHP/5.2.4 mod_ssl/2.2.6 OpenSSL/0.9.8b configured -- resuming normal operations
sh: /usr/sbin/sendmail: Permission denied
もう少しググってみることにします。selinuxには気づきませんでせした。

382:255
07/12/28 08:12:50 rEU4Fn3c
あ、ほんとくだらない質問になるんですが、メル鯖立ててなくてもmail関数使えますよね。
sendmailpathの意味するところが分からなくて、、、

383:nobodyさん
07/12/28 08:19:14 /nAj2CVO
会員システム作ってるんだけど kaiin/以下が会員領域だとして
その中にあるファイルはリファラがkaiin/内のファイルじゃない場合強制ログアウト
という処理にしたらセキュリティ上がるかなぁと思ってます
この処理をする場合、効率よくリファラチェックする方法はないでしょうか?
ひたすらif&orでやってけばいいんでしょうが何かみっともないので、、

また、そもそも↑みたいなことやっても意味ないですか?
ファイルをDLして手を加えられる侵入に対策したいと思ったんですが…

384:nobodyさん
07/12/28 08:30:44
>>382
mail()を実行すると、
 Windowsの場合 : メールサーバに接続する(ネットワーク越し) - php.iniのSMTP
 Linuxなど : メール送信用のプログラムを呼び出す(プログラムの引数) - php.iniのsendmail_path
のように、OSごとに違った挙動をする。

>>383
ノートン先生のようにデフォルトの設定でrefererを送信しないものもある。
>ファイルをDLして手を加えられる侵入に対策したい
何をしたいのかよく分からないが、特定の人言い換えりゃ特定の情報を送信してくるブラウザを
識別するには次のどれかだろうね。
・cookie
・セッション(まぁ、これもcookieの場合もあるが)
・WebサーバのBasic認証とかDigest認証とか

385:255
07/12/28 08:34:06 rEU4Fn3c
>>384 ありがとうございます。
windows:mail()→ネットワークに接続
linux:mail()→mail program呼び出し→ネットワークに接続
みたいな感じに理解しました、(あってるかな。。。)

386:nobodyさん
07/12/28 08:47:14 /nAj2CVO
>>384
ノートンてリファラ送信しないんですか じゃあダメですね、やめときます
ありがとうございました

387:nobodyさん
07/12/28 11:31:19
今日で仕事納めです。
早速、phpも仕事を土管とやってみましたが、
やはりmb_系の関数が絵文字処理で悩まされました。

mb_をpregと統一して総合文字列関数として再スタートさせるべきではないでしょうか?
それでは、来年も良いお年をお過ごし下さい。

388:nobodyさん
07/12/28 12:52:34 gGF8c07c
処理が遅い時、ブラウザを勝手に閉じると、
サーバーのスクリプトが終了したときに返却されるレスポンスのパケットはどこにいくのでしょうか?

サーバーの動作が遅いのですが、このパケットが行き先を失って、
ルーター内で無限ループしているってことは考えられますか?

送信要求しておいて、ページが表示されないからって閉じられるクライアントをどうにかしたいのですが、そうもいかないので。

389:nobodyさん
07/12/28 13:04:54
横槍だが、メール送信を使いたいだけで自鯖にメール機能をインストする必要はなっしん。
無料レンタ鯖にデータ飛ばして、そこから送信して、必要なら戻ってくるようにすれば無問題。
使い慣れないメール設定やほーと設定で悩んでいる人にオススメ。

390:nobodyさん
07/12/28 13:14:14
>>388

URLリンク(jp2.php.net)
Wikipedia項目リンク


391:nobodyさん
07/12/28 17:13:21
こんど、
「天皇陛下もやっているPEARの活用講座」
という本を出すことになりました。宜しくお願いします。

392:nobodyさん
07/12/28 18:45:23
こんど、
「将軍様もやっているPECLの活用講座」
という本を出すことになりました。宜しくお願いします。

393:nobodyさん
07/12/28 21:09:26 41MrW7lh
作成中のシステムが
[notice] Parent: child process exited with status 3221225477 -- Restarting.
というメッセージをApacheのログに残して落ちるようになってしまいました。

多分、再帰に失敗してスタックオーバーフローか何かになっているのだと思うのですが、
例えば例外をスローしてくれたりする設定のような、場所を特定する良い方法はないでしょうか?

環境は、PHP5.2 Apache2.0 WindowsXP です。
フレームワークは使用していません。

ご存知の方、教えてください。よろしくお願いします。

394:nobodyさん
07/12/28 22:07:55 /nAj2CVO
自力で会員システム作ってるんですが、二重ログインという問題があることに気づきました
この問題はどう解決したらいいんでしょう? 同一IDで後から入ってくる人を有効にすべき?
仕組みとしてはどういうものが理想ですか?

今考えてるのは、会員情報の管理テーブルに、現行のセッション名を保持するカラムを作って、
各アクションごとにブラウザが持ってるものと保存してるセッション名とを比較する
→不一致の場合強制ログアウト
というものです
どうなんでしょう ご意見いただければ幸いです よろしくお願いします

395:nobodyさん
07/12/28 22:12:07
>>394
その処理が君のシステムにおける理想ならそれでいいじゃん

396:nobodyさん
07/12/28 22:20:49
>>395
調子に乗ってんじゃねーぞ。このニート!!!

397:394
07/12/28 22:28:49 /nAj2CVO
自分のアイディアや知識に自信がないから聞いているので、
それでいいじゃんと言われても…
念のためググって調べて考えた上で質問させてもらいました
不快にさせたんならすみません

398:364
07/12/28 22:38:10
>>373
返事が遅くなりました。
試してみたら eval() で希望の動作が実現できました。
どうもありがとうございました。

399:393
07/12/28 22:44:02 41MrW7lh
例外を生成し、そのスタック長がある上限を超えていたら throwする関数を作って、
これを再帰している箇所に埋め込む事にしました。

400:nobodyさん
07/12/28 22:44:30
>>394
二重ログイン禁止したいならそれでいいんじゃないかな。

後から来た方を拒絶しようにも、明示的にログアウトしてくれる人ばかり
じゃないしね。
一定時間経ったらログアウトって仕組みにしても、その間最ログインできないし。

401:nobodyさん
07/12/29 04:16:39
冬休みを利用して、何か簡単なwebアプリを作ってみようと思い
開発を始めてみたのですが、一点質問させていただいてもよろしいでしょうか。

a.html 内でに b.phpというファイルをインクルードし、a.html内でb.phpの関数を呼び出し
実行したいのですが、うまく実行することができずに悩んでいます。

<?php include('./b.php'); ?>
<html><head></head>
<body>
<?php b_test(); ?>
</body>
</html>

といった具合です。
b_testの内容は、単純に文字列をprintしているだけなのですが
実行されず、ブラウザ上でソースを見るとそのままphpの記述が
残されている状況です。
各所で見て回った簡単なカウンタ等のアプリで同様の記述を行っているものもあり
自分も同じようなことをやってみようと思ったのですが、何か問題がありますでしょうか。
もしくは、他にhtml内でphpの関数を呼び出すのに適したやり方はございますでしょうか。
ご教示お願いいたします。

環境は、windowsXPにxamppを使用し、apache2.2.6とphp5.2.5をインストールしています。
mb_string系を有効にした程度で、ほとんど設定ファイルは弄っていません。

402:nobodyさん
07/12/29 04:44:46
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
スレリンク(php板)

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

403:nobodyさん
07/12/29 04:45:44
.htmlという拡張子をphp扱いで動かさないとphpは実行できんよ


404:394
07/12/29 09:51:58
>>400
わかりました ありがとう!

405:nobodyさん
07/12/29 11:02:50
softbankの一部の機種じゃ
GETでマルチバイト文字を送れないので
変換すべきと思われるンですが
どんな関数でそれをやればよいですか?>

406:nobodyさん
07/12/29 11:25:51
マルチバイトが送れんつーか、逆に送れる文字つーのが決まってるんでURLエンコードすりゃええ

407:405
07/12/29 11:39:30
>>406
なるほど。
サンクスです。

408:nobodyさん
07/12/29 15:00:42
なんか、ここのスレってサービスが劣化したなぁ。
前は、質問したら丁寧に教えてくれたし5分以内には的確な回答がきた。

今は、質問するとニートとか氏ねとかそんなのが殆ど。
ストレスを発散する場所を間違えないで欲しい。

409:nobodyさん
07/12/29 15:08:36
なんだよもう…面倒くさいなあ。
仕方ない、面倒見てやるか

>>408
ニートとか氏ね

410:nobodyさん
07/12/29 15:11:14
ま、2chだし

411:nobodyさん
07/12/29 15:11:36
>>408
ニートとか氏ね

412:nobodyさん
07/12/29 15:36:55
相手をニートと断定しないあたりに、プログラマらしさを感じた。

413:nobodyさん
07/12/29 16:14:18
>>408
もしお前がニートなら氏ねそうでないならイ`

414:nobodyさん
07/12/29 17:09:40
if( >>408 == 'ニート' ){
   $anser = '氏ね';
}else{
   $anser = '市ね';
}


415:nobodyさん
07/12/29 17:11:40
>>414
ちょwwwwおまwwwスペルがwww俺氏ねorz

416:nobodyさん
07/12/29 17:27:27
確かに、誰からも参照されなくなったニートオブジェクトは、ガベージコレクトされるべきではある。

417:nobodyさん
07/12/29 17:56:44 tcLiBXaz
array("Apple" => "りんご", "Orange" => "みかん");
という連想配列を、
array('Apple' 'りんご' 'Orang' 'みかん');
という配列に変換したいんですが、どうすれば良いでしょうか?

418:nobodyさん
07/12/29 18:06:27
>>417
foreach ($array as $key => $val) {
$new_array[] = $Key;
$new_array[] = $val;
}

419:nobodyさん
07/12/29 18:19:38
$a = array("Apple" => "Ringo", "Orange" => "Mikan");
$b = array_keys($a);
$c = array_values($a);
$d = array();
for ($i = 0; $i <= count($a) - 1; $i++) {
array_push($d, $b[$i], $c[$i]);
}
print_r($d);

420:nobodyさん
07/12/29 18:23:01 tcLiBXaz
すげー
天才だ!
有り難うございます。

421:419
07/12/29 18:23:05
配列の値がローマ字に変わってたのはさっきなぜか日本語がうてなかったからだ
気にしないでくれ

422:nobodyさん
07/12/29 18:48:40 WA8jVfpj
PHPでコンストラクタのvisibility (public とか privateなどの指定) をsuper classより厳しく出来ないのは何で?
仕様というより、何の不都合があるのかという意味で。

423:nobodyさん
07/12/29 18:52:50
継承じゃねーからだろ

424:nobodyさん
07/12/29 18:56:45 yIBMpd50
ちりりDUKEの使い方を教えてほしい

425:nobodyさん
07/12/29 18:56:45 WA8jVfpj
>>423
むしろ、継承だと出来ないんじゃないの?

426:nobodyさん
07/12/29 20:06:36
>>414,415
しゅくだいはおわったのかい

427:nobodyさん
07/12/30 01:39:18
ブラウザからPOSTして送るデータの改行コードって
何に依存するんでしょうか?
CRLFになったり、LFになったりして困ってまつ

428:nobodyさん
07/12/30 01:42:14
phpでcookieの内容を受け取るにはどうすればええの?
自分でsetしたcookieではなくて、外部鯖から返されるcookieの値を取得したいんだけど


429:nobodyさん
07/12/30 01:43:35
>>1 も読めないのか。このヴァカども

430:nobodyさん
07/12/30 01:46:14
事故解決

431:nobodyさん
07/12/30 02:34:00 +D3WOxGf
2点質問させていただきます。


1. htmlに書くname属性に日本語を利用しても問題無いでしょうか?

2. htmlのフォームからphpの変数に変換するツール等は無いでしょうか?
    例:html:<INPUT type="text" name="name"> ⇒ php:$name = $_POST['name'];

432:nobodyさん
07/12/30 02:50:16
>>431
2はextract()でできるけど危険

433:nobodyさん
07/12/30 02:57:27
>>431
foreachで回せ
つか$_POST['name']で使うのがそんなに嫌なのか

434:nobodyさん
07/12/30 02:57:38
1 は html 的には何の問題もない

435:nobody
07/12/30 03:15:18 8C08uScj
PHPで多次元配列の値を半分だけとりだすのはどうすればいいでしょうか?

436:nobodyさん
07/12/30 03:21:54
半分だけってどう半分なの

437:nobody
07/12/30 03:35:21 8C08uScj
$a["a"][0]=>1
[1]=>1
[2]=>0
[3]=>1
[4]=>0
の$a["a"][0],$a["a"][1],$a["a"][2]の値です



438:nobodyさん
07/12/30 03:38:15
forなりforeachなりで回して半分まで行ったらbreakすりゃいいでしょ

439:nobodyさん
07/12/30 04:45:05
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
スレリンク(php板)

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

440:nobodyさん
07/12/30 05:31:14
>>439
お前いい加減うざいよ
わざわざ>>1貼る必要ないだろ
冬休みだからって何回繰り返してるんだよ池沼
せめて>>1嫁ぐらいに留めとけ

441:nobodyさん
07/12/30 05:38:36
>>440
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
スレリンク(php板)

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

442:nobodyさん
07/12/30 05:44:17
予想通りの流れだな
さすが冬休み

443:nobodyさん
07/12/30 06:49:36
冬休み (笑

444:255
07/12/30 07:51:44 G9WMPe2A
やはりsendmailの設定を何もしていないとまづいんじゃないかと思ってます。が、、、

445:255
07/12/30 08:01:43 G9WMPe2A
でも #sendmail 〜 でメールは送れました。。。混乱しながら1週間くらい悩んでます。

446:nobodyさん
07/12/30 08:41:04
そのスクリプトでエラー表示させてる?
エラーが出てて表示させないで真っ白になってるんと違う

447:255
07/12/30 08:52:27 G9WMPe2A
出せてます ifでmail()がtrueを返したらok falseならno をprintさせてます。

、、、先ほど少し進展がありました。
#setenfoce 0
#restorecon -R /var
を設定することでメール関数がokを返すようになりました。
上のはselinuxを無効にするという意味で、下のは、、、どういう意味だろう。
(cd URLリンク(www.atmarkit.co.jp)
でもメールがこない。。。httpdのerroelogを見てみると
Domain of sender address apache@localhost.localdomain
→やっぱりsendmailの設定をいじらないといけないのかなと思い、
とりあえず#sendmail 自分のメルアド
〜〜〜
としてsendmailをテストしてみると無事に自分のアドレス(プロバイダからもらったやつ)に届く

sender addressを設定しなくてもグローバルな環境でメール送れるじゃん
となって今また悩んでいるところです。

448:255
07/12/30 08:54:11 G9WMPe2A
失礼しました。Domain〜のところですが、Domain〜〜〜does not exitです。



449:nobodyさん
07/12/30 09:06:56
Fedoraって /var/log/maillog とかないの?

あとif文でOKとか、そういうんじゃなくて、
PHPが吐くwarningとかnoticeとかもみてるのかな?

> Domain〜〜〜does not exit

does not exist? 自分宛に送ったメイルの差出人も localhost.localdomainに
なってるのかな?

450:255
07/12/30 09:46:25 G9WMPe2A
maillogの内容です。基本的にerrorlogと同じようなことがエラーになってま
す。
Dec 30 08:39:28 localhost sendmail[4414]: lBTNdBJQ004412:
to=<:::::::::@fb3.so-net.ne.jp>, ctladdr=<apache@localhost.localdomain>
(48/48),
delay=00:00:17, xdelay=00:00:17, mailer=esmtp, pri=120328,
relay=mxin2.ms.so-net.ne.jp.
[202.238.83.12], dsn=5.1.8, stat=User unknown
Dec 30 08:39:28 localhost sendmail[4414]: lBTNdBJQ004412:
lBTNdSJQ004414: DSN: User unknown

>>Does not exitst
自分宛(?.so-net.ne.jp)に送ったメールの差しだし人が
localhost.localdomaiになってる可能性大です。
この場合やはりsendmailの設定を変更すべきなのでしょうか。
上にも書いた通り端末からsendmailを利用して自分宛(?.so-net.ne.jp)に
送った場合成功するので、
どこを変更すればいいのかで悩んでいます。


451:nobodyさん
07/12/30 10:04:09
もう完全に PHP とはかけ離れてるな

452:nobodyさん
07/12/30 11:35:19
なんか面白い関数とかありませんかね
正月っぽいの

453:nobodyさん
07/12/30 11:40:04
omikuji();
でおみくじが引けるよ!

454:nobodyさん
07/12/30 11:48:59
php_logo_guid()だろ、、、常考

455:nobodyさん
07/12/30 11:59:43
>>450

> メールの差しだし人が
> localhost.localdomaiになってる可能性大です。

俺mail関数使ったことないんで間違ってるかもしれないけど

これ見た感じだと→ URLリンク(jp.php.net)

「メールを送信する際には、必ず From ヘッダが含まれていなければなりません」
とかいてあるけど「可能性大」ってのは自分で「localhost.localdomail」のメアドを
指定した、っていう意味?

456:455
07/12/30 12:13:57
なんか変なこと書いてるな俺。気にしないで

457:nobodyさん
07/12/30 12:28:12
PHPに関係するのは、ctladdrの所だけだぁね。
ctladdr=<apache@localhost.localdomain>
ctladdr - The ``controlling user'', that is, the name of the user whose credentials we use for delivery.
こいつは mb_send_mailの4だったか5番目だったかのパラメータで設定したものが使われる。
指定してなきゃ、sendmailを呼び出したプロセスの所有者が使われるんだったかな。
で、apacheになるっと。

その部分を除いてPHPには全く関係無く、”sendmailを適切に設定していないことが原因” だから板違い。
Linux板か自宅鯖板のsendmailスレで、どういうメル鯖の構成(ISPのメル鯖に全部投げとか)にするかを書いた上で聞けばいいよ。

458:nobodyさん
07/12/30 13:13:30
ユーザー認証のページの作成をしています。
登録後のIDとPASSの管理をファイルでしようと思うんですが、
セキュリティを向上させるための定石というのはあるのでしょうか。

また、どのようにユーザーがログインする時はPOSTでデータを送信、
その後はセッションでログイン情報を維持という風にしたいのですが
これは特に問題ありませんよね?

459:nobodyさん
07/12/30 13:29:12
>>458
とりあえず、オライリーの「入門PHPセキュリティ」を読むことを勧める。

460:255
07/12/30 16:15:22 G9WMPe2A
不本意ながらこの泥沼から逃げることで一応解決しました。つまりpostfixに移行しました。

461:nobodyさん
07/12/30 16:50:41
逃げちゃだめ
とりあえず、オライリーの「sendmail」を読むことを勧める。

462:459
07/12/30 16:56:03
>>461
別に逃げても良いんじゃないの?

463:nobodyさん
07/12/30 19:23:36
<tr>
<td class="aaa">あああ</td>
<td class="bbb">いいい</td>
</tr>

↑をまるごと変数に入れるにはどうすればいいでしょうか・・・

464:463
07/12/30 19:26:45 MvMxVYb6
ID出し忘れました
申し訳ない

465:nobodyさん
07/12/30 19:27:27
1読め屑

466:nobodyさん
07/12/30 19:29:49
$hoge = "<tr>\n<td class="aaa">あああ</td>\n<td class="bbb">いいい</td>\n</tr>";
$hoge = "
<<< HTML
<tr>
<td class="aaa">あああ</td>
<td class="bbb">いいい</td>
</tr>
HTML;
";

467:nobodyさん
07/12/30 19:33:13
>>466は「"」→「\"」で。
下の方法が合ってるかはわからn

468:nobodyさん
07/12/30 19:42:11
>>466
なんか、色々間違ってる気がする。
URLリンク(www.php.net)

469:nobodyさん
07/12/30 20:02:47 1r819gof
聞きたいんですが、php5のマニュアルってどこかでダウンロードできないですか?
昔マンモス本の中身ダウンロードできるサービスがあったような気がするんだけど、
ああいうの今もないでしょうか?
あったら教えてほしいです、田舎に帰って勉強したいんだけど、
でかい本持ち歩くのキツイ、、

470:nobodyさん
07/12/30 20:08:55 lUFWIq2Z
MVCでテンプレートエンジン使わずにVIEWをやりたいんだけど
コントローラーで
$title = "タイトル";
require("hoge.php");
exit;
とかみたいなやりかたってダメ?
他に何かいい方法あるかなー?
っていうかviewを別にするならテンプレート使わないといけないのかな?

471:nobodyさん
07/12/30 20:12:51 lUFWIq2Z
>>469
URLリンク(www.php.net)

472:nobodyさん
07/12/30 20:18:46
>>459
すいませんわがままだと思うんですが
Web上で参考になるセキュリティ対策のサイトというのはないでしょうか・・・

473:469
07/12/30 20:24:49 1r819gof
>>471
すごい! ほんとにあったんですね!! 大感謝です
ありがとう!

474:nobodyさん
07/12/30 20:33:01
>>472
>>1

475:nobodyさん
07/12/30 20:38:53
>>466
レスありがとうございます
↑の書き方で例を表示することはできたんですが、
自分の場合"あああ"、”いいい”の部分も<?=$hogehoge?>の様に変数になっていて、
このまま実行してもセルの中が空になります
変数に変数を代入しようとしてるのが問題だと思うんですが、どうにかならないでしょうか
ローカルでテストしてる場合OSとPHPのバージョンは自分の環境を書けばいいんでしょうか
WindowsでPHP5.25なのですが

476:463
07/12/30 20:39:38 MvMxVYb6
またやってしまった
申し訳ない

477:nobodyさん
07/12/30 20:44:11 lUFWIq2Z
>>475
変数を『{}』でくくるか、
文字列と変数を『.』で繋げればいいんじゃない。

478:nobodyさん
07/12/30 20:48:41
普通にシングルクォートで囲って入れればいい話じゃないのか?

479:431
07/12/30 21:24:43 +D3WOxGf
>>432-434
レスありがとうございます。
とりあえずやりたいことは出来そうです。
もう少し勉強してみます。

480:463
07/12/30 21:58:49 MvMxVYb6
>>477-478
$hoge="<tr>\n<td class="hoge2"><?=hoge3?></td>\n</tr>";

変数と言うか、<td>〜</td>間にPHPの書式を書こうとするとだめみたいです
<td class="hoge2">のようにタグの中だと効くのですが、<?=hoge3?>は無いものとして扱われてます
<?=hoge3?>を{}や''で囲むとその囲んだ記号だけ表示されます

481:nobodyさん
07/12/30 22:00:51
俺はシングルクォートで文字列括って改行コードは定数にしてるな
$html = '<a href="hoge.html" onclick="alert(\'ラヴィ\')">'.$hoge.'</>'.NEW_LINE.
'以上ラヴィでした';
こんな感じで書いてるなー

#てーか携帯でソース書くの辛いな

482:nobodyさん
07/12/30 22:09:56
つーかロジックとビューは分離しろ。
ヒアドキュメントとかアホじゃねーのか。

483:nobodyさん
07/12/30 22:22:57
ヒアドキュメント使うと、ロジックとビューが混ざるの?
ヒアドキュメントと文字列に差はないと思うけど。

484:nobodyさん
07/12/30 22:24:45
PHPのヒアは変数展開とかしてくれないから、混ざらないと思う。

485:nobodyさん
07/12/30 22:28:09 UcZOMDnE
>>484
展開したと思う。

486:484
07/12/30 22:34:14
ごめん、勘違いしてたみたい。
自重します。

487:nobodyさん
07/12/30 22:35:18
配列の展開やオブジェクトの参照はしてくれないけど({}付は省く)
普通に$unkoとかは展開されてる

488:nobodyさん
07/12/30 23:08:06 WyJGCA3E
.cgi .plのスクリプトを使いたいのだが
どうすれば いいだろうか?
クリックしても .bat / .exeみたいに 動かないし…

489:nobodyさん
07/12/30 23:15:01
>>488
スレ違い
PHPからなら
<?php
exec("pl hoge.cgi");
?>
とか

490:nobodyさん
07/12/30 23:16:28
(;´Д`)

491:nobodyさん
07/12/30 23:51:59
吹いたwwwwwww

492:nobodyさん
07/12/31 00:40:49
>>427
クライアントのOSだったと思う
俺はLFに統一してる

493:nobodyさん
07/12/31 02:01:26 ye8NBX1l
クッキーにIDとパスがあった場合、
そのままログイン後の画面を表示させるか、
入力フォームに値を入れてボタンを押させるか、
どっちが主流?

494:nobodyさん
07/12/31 02:05:01
IDはまだしも、パスワードはクッキーに保存しちゃ駄目wwwwwwwwww

495:nobodyさん
07/12/31 02:07:28
mysqlも穴だらけだなぁと思う今日この頃。
ソフトウェア開発のがリスクがない分楽かもしれん

496:nobodyさん
07/12/31 02:22:13
>>493
IDやPASSをそのまま入れてる訳ではないけど
ログインしたままが多いんじゃないかな(Googleとかニコ動とかそうだし)

497:nobodyさん
07/12/31 03:43:38
そこらへんのphpゲーム見て回ってるんですけど
普通にhiddenでIDとPASSをやり取りしてページを移動していますよね、
これってセキュリティ的にどうなんですか?。。

498:nobodyさん
07/12/31 03:55:53
最悪

499:nobodyさん
07/12/31 04:08:11
そうなんですか、どこでも普通に使われてるので何かやってるのかと・・・。

ログイン画面でID・PASSを送信、ハッシュ化、
それに応じたハッシュがあればセッションを作成してページ間の移動に利用、
ページを移動したらセッションを破棄、また移動時にセッションを作成、破棄・・・

というの無知ながら考えたんですが、これはセキュリティとサーバーの負担から考えてどうなんでしょう・・・。
どなたかご教授お願いいたします。

500:nobodyさん
07/12/31 04:09:21
クッキーに保存して良いのはセッションIDのような、ワンタイムパスワードっぽいのだけ。

501:nobodyさん
07/12/31 04:44:33
まず読め→【PHP マニュアル】URLリンク(www.php.net)
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
スレリンク(php板)

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

502:nobodyさん
07/12/31 04:46:57
KY

503:nobodyさん
07/12/31 04:59:41
いっそのことテンプレをNGワードにしてしまおうか。

504:nobodyさん
07/12/31 05:18:46
普通に答えてやればいいのに

505:nobodyさん
07/12/31 10:13:13
自信満々な態度でテンプレを貼り付けてくるバカを見ると失笑を買う

506:nobodyさん
07/12/31 14:09:09 ExHZywTc
phpでMySQLからデータを引っ張ってきて、XMLに加工して出力してるんですが、
XMLの加工そのものは成功してて、IEなんかのブラウザで見てる分には問題ないんですが、
Ajaxで非同期受信すると、responce has no propertiesとなってしまいます。
(status=4を受信できないっぽい)

上記のエラーは、FirefoxのFirebagで見てます。
Firebag上は、ちゃんとXMLが取得できてるので、php側からstatusの4を送信できればいいんだと思うんだけど、やり方わかる人っていますか?

507:nobodyさん
07/12/31 14:09:53 ExHZywTc
もしくは、Ajax用にphpで動的にXMLの生成を経験した人っておりますか?

508:nobodyさん
07/12/31 14:21:09
どうせどっかでタイプミスしてんだろ

509:nobodyさん
07/12/31 14:21:27
質問する時は、せめて「どうすればいいですか?」って聞き方にした方がいいと思いますよ。
わかる人、経験した人ってのは案外多いもんです。

510:nobodyさん
07/12/31 14:29:56 ExHZywTc
phpでxmlを出力すると、ヘッダーが違うからっぽいですね。
何を出力すればいいんだろ?

>>508
してないです。

>>509
はぁ・・・


511:455
07/12/31 14:32:14
> php側からstatusの4を送信できればいいんだと思うんだけど

HTTPのことを全く理解せずにAjaxとかやってるやつって
色々大変なんだろうなー

512:nobodyさん
07/12/31 14:33:17
ヘッダなら、これで

header("Content-Type: application/xml; charset=utf-8");


513:nobodyさん
07/12/31 14:37:06 ExHZywTc
自己レスです。やっぱりヘッダでした。無事解決しました。

514:nobodyさん
07/12/31 14:39:10 ExHZywTc
>>511
Ajaxやったことない人からすると、羨ましいですか?

>>512
はい、それです。やっぱ実力のある人は回答をスパッと出しますね。
実力無い人って、なんでウザイんですかね?

515:nobodyさん
07/12/31 14:40:39
>>514
そうそうお前みたいに質問者の癖に無駄に解答者煽ったりとかな。
本当に勘弁して欲しいわ。早く巣に帰れ。

516:nobodyさん
07/12/31 14:43:42

「実力のある人は回答をスパッと出しますね」

実力のないやつがえらそうにこういうこと言うのって恥ずかしいなあ。

"responce has no properties"

"Firebag"

この手の注意力散漫なやつはくだらない打ち間違いで時間を無駄にするタイプ。(中学生か?)

ふつーにFirefox使ってりゃ、この手のバカが打ち間違えないように
赤い下線で打ち間違いを教えてくれるのに、それでも間違えるってのは真性だなあ

517:nobodyさん
07/12/31 14:45:09
恥知らずの中二病が冬休みのお勉強中か?

はやく「php側からstatusの4を送信」してみろよカスが

518:nobodyさん
07/12/31 15:11:38 ExHZywTc
>>515-517
そんなに悔しかったんですか?(w
久しぶりに必死な人を見ました。
今年の歳暮れも大変だと思いますが(w 頑張って下さいね。

519:nobodyさん
07/12/31 15:23:53

Firebag(笑)

> 上記のエラーは、FirefoxのFirebagで見てます。
> Firebag上は、ちゃんとXMLが取得できてるので、



520:nobodyさん
07/12/31 15:24:29
>>518

随分舐めた態度の奴だなあ

何様のつもりなんだろう

521:nobodyさん
07/12/31 15:28:11
おまえが何様だ

522:nobodyさん
07/12/31 15:28:26
          ____
       / \  /\  キリッ
.     / (ー)  (ー)\
    /   ⌒(__人__)⌒ \        上記のエラーは、FirefoxのFirebagで見てます。
    |      |r┬-|    |
     \     `ー'´   /
    ノ            \
  /´               ヽ
 |    l              \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))

523:nobodyさん
07/12/31 15:30:50
>>521

「php側からstatusの4を送信」ってのはいつになったらできるの?

524:nobodyさん
07/12/31 16:17:17
>>521は質問者ではないぞ。
大して解決策も出してない輩が粋がっていて、なんだかなーと。

525:nobodyさん
07/12/31 16:18:07
          ____
       / \  /\  キリッ
.     / (ー)  (ー)\
    /   ⌒(__人__)⌒ \        php側からstatusの4を送信
    |      |r┬-|    |
     \     `ー'´   /
    ノ            \
  /´               ヽ
 |    l              \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))


        /_ノ  ヽ、_\
 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)
| / / /     |r┬-|    | (⌒)/ / / //
| :::::::::::(⌒)    | |  |   /  ゝ  :::::::::::/    だっておwwwwwwwww
|     ノ     | |  |   \  /  )  /
ヽ    /     `ー'´      ヽ /    /
 |    |   l||l 从人 l||l      l||l 从人 l||l  バンバン
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4076日前に更新/264 KB
担当:undef