[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/10 00:01 / Filesize : 191 KB / Number-of Response : 862
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】ID出さなくても質問OKなスレ【初心者歓迎】



1 名前:nobodyさん mailto:sage [2009/02/03(火) 01:09:36 ID:???]
まず読め→【PHP マニュアル】www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

646 名前:nobodyさん mailto:sage [2009/07/08(水) 14:16:07 ID:???]
PHPを始めたばかりでどうしてもよくわからない点があります。
考え方といいますか、流れを教えてください。

XHTMLとCSSで縦2分割サイトを考えており、左に配置したドロップダウンリストから選択、
右側に内容表示というよくあるパターンです。内容はMySQLから取り出す予定です。

ここでわからないのが、内容の表示位置の指定です。
MySQLのデータとCSSタグを一緒に出力すればよいのでしょうか?

根本的な勘違いをしているような気がしてならないのですが、どこが勘違いなのかも
よくわからないです。

647 名前:nobodyさん mailto:sage [2009/07/08(水) 14:34:54 ID:???]
MySQLのデータとHTMLタグを一緒に出力して
CSSでその位置を指定すればいいのでは

648 名前:nobodyさん mailto:sage [2009/07/09(木) 12:14:47 ID:???]
prototype.jsのAjax.Updaterを使えば簡単なんじゃないか。
推奨はしないけど。

649 名前:nobodyさん mailto:sage [2009/07/09(木) 13:19:44 ID:???]
>>647
ありがとう。
その方法だとうまくいかないのです。
サイト全体が置き換わってしまうので、結局すべてのHTMLにメニューをつけないと
ダメっぽいです。

>>648
ありがとう。
いまググってみました。
たしかにやりたいことと合致します。
ただ、これから言語をマスターするので、より簡単といわれているPHPを覚えたい
という気持ちがあります。JSと両方覚えれば済む話ではあるのですが、オレには
キャパがないです。たぶん。

650 名前:nobodyさん mailto:sage [2009/07/09(木) 14:26:18 ID:???]
>>649
iframeって手もあるな。

651 名前:nobodyさん mailto:sage [2009/07/09(木) 17:26:11 ID:???]
phpを使うならJavascriptはある意味必須だよ。
連携しないと実現出来ない事も多々あるし。

652 名前:nobodyさん mailto:sage [2009/07/09(木) 18:41:50 ID:???]
>>650
ありがとう。
iframe

653 名前:nobodyさん mailto:sage [2009/07/09(木) 18:48:35 ID:???]
すまんそん。

>>650
ありがとう。
iframeは考えたんですけど、XHTML1.1で非サポートになり、策定中のHTML5.0でも
廃止になるということで、使わない方向を考えてました。

>>651
ありがとう。
JavaScriptも必須ですか。
まったくの初心者なので、PHPの公式マニュアルを読むだけで苦労してます。

654 名前:nobodyさん mailto:sage [2009/07/09(木) 21:36:35 ID:???]
iframeなくなるの?



655 名前:age [2009/07/09(木) 22:48:26 ID:DwSsHHgt]
ファイルをアップロードしmove_uploaded_fileをした時点で
強制的にサーバとPCとのコネクションを切断する事は可能ですか?

656 名前:nobodyさん mailto:sage [2009/07/10(金) 02:40:08 ID:???]
>>655
exit か die で終了させちゃえばいいんじゃないの。

657 名前:nobodyさん mailto:sage [2009/07/10(金) 12:50:37 ID:???]
>>654

iframeは、XHTML1.1ではすでに無いです。
W3Cの勧告でもHTML5.0で無くす方向で進めているようです。

658 名前:ユキ [2009/07/12(日) 04:36:26 ID:au+P+rHJ]
初めまして。
PHPど素人です。

インターネットで調べながらPHPの問題に取り組んでいますが、
2週間以上掛けても全く分かりません。
どのように書くのか教えていただけないでしょうか。
『EmEditor Free Version 6.00.4』とザンプを使っています。

問題は以下のとおりです。

『数値1〜9があります。全て4桁です。
9つの数字の中の最大値と最小値を出力しなさい。
負の数と5桁以上の数値が入力された場合エラーと出力する。
さらに数値1〜9のどの数値が最大値、最小値か出力しなさい。』

ループとfunctionを使うそうなんですが、どう使えばいいのか分からず、
ゼロの状態です。

皆様、お忙しいと思いますが、助けていただきたいです。
お願い致します。

659 名前:nobodyさん mailto:sage [2009/07/12(日) 05:09:19 ID:???]
宿題は自分で

660 名前:nobodyさん mailto:sage [2009/07/12(日) 08:09:56 ID:???]
>>658
数値1を入力する
数値2を入力する
数値3を入力する
数値4を入力する
数値5を入力する
数値6を入力する
数値7を入力する
数値8を入力する
数値9を入力する


    ↓
数値1に入れられた数値を、$aに入れる
、、、、
数値9に入れられた数値を、$iに入れる

661 名前:nobodyさん mailto:sage [2009/07/12(日) 08:11:34 ID:???]
$aが4桁か調べる。

もし5桁以上なら、エラーを吐いて死ぬ。

4桁なら、こんどは、$aが負の数かどうかを調べる。

0以上なら、おk。
もし負の数なら、エラーを吐いて死ぬ。

$aのチェックが終わったら、$b、そして
、、、、$i。

662 名前:nobodyさん mailto:sage [2009/07/12(日) 08:14:51 ID:???]
次に、$a〜$iを配列に入れる。

そんで、その中の最大値を調べる(専用関数あり)

そして、こんどはその配列の、最小値を調べる(専用関数あり)

そんで、最大値のvalueに一致するkeyを調べて、
「この数値○が最大でした」って表示

次に、最小値がでたところのvalueのkeyを調べて、
「この数値のときに最小でした」って表示。

以上。あとは上記の仕様書をプログラマーに食わせれば
ソースコードを吐く。

663 名前:nobodyさん mailto:sage [2009/07/12(日) 08:24:10 ID:???]
>>660-662
それだと「さらに数値1〜9のどの数値が最大値、最小値か出力しなさい」
の設問には答えられないので、もう一工夫が必要。

664 名前:nobodyさん mailto:sage [2009/07/12(日) 08:51:58 ID:???]
preg_matchでチェックとセットが同時にできる



665 名前:ユキ [2009/07/12(日) 14:48:56 ID:tG558Uf0]
>>660-664
ご親切にありがとうございます!!!!!

おかげさまで$aの桁を調べるまで出来ました!
書いていただいた内容をヒントにもう少し自分で頑張ってみます!

666 名前:ユキ [2009/07/12(日) 22:27:20 ID:tG558Uf0]
以下のように書いてみましたが、
これからどのようにfunctionとループを使えばいいのかどうしても分かりません。
解答、あるいはヒントを頂けないでしょうか?
度々すみません。

if($a > 9999 or $a < 0){
echo "<div>エラー</div>";
} else { echo "<div>$a</div>";
}
     if($b > 9999 or $b < 0){
echo "<div>エラー</div>";
} else { echo "<div>$b</div>";
}

if($c > 9999 or $c < 0){
echo "<div>エラー</div>";
} else { echo "<div>$c</div>";
}

if($d > 9999 or $d < 0){
echo "<div>エラー</div>";
} else { echo "<div>$d</div>";
}

if($e > 9999 or $e < 0){
echo "<div>エラー</div>";
} else { echo "<div>$e</div>";
}


667 名前:ユキ [2009/07/12(日) 22:28:07 ID:tG558Uf0]

if($f > 9999 or $f < 0){
echo "<div>エラー</div>";
} else { echo "<div>$f</div>";
}

if($g > 9999 or $g < 0){
echo "<div>エラー</div>";
} else { echo "<div>$g</div>";
}

if($h > 9999 or $h < 0){
echo "<div>エラー</div>";
} else { echo "<div>$h</div>";
}

if($i > 9999 or $i < 0){
echo "<div>エラー</div>";
} else { echo "<div>$i</div>";
}


$x = array( $a , $b , $c , $d , $e , $f , $g , $h ,$i );
echo " 最大値: " .max($x). "<br />\n";
echo " 最小値: " .min($x). "<br />\n";

668 名前:nobodyさん mailto:sage [2009/07/12(日) 23:06:46 ID:???]
人力ループしてから配列に叩き込むセンスに感心しすぎて何も言えない

669 名前:nobodyさん mailto:sage [2009/07/13(月) 02:32:15 ID:???]
すげぇ。授業はこれまで全部受けてるの?
受けてたとしたらこの段階でこんな問題出した教師が悪い

670 名前:nobodyさん mailto:sage [2009/07/13(月) 11:10:34 ID:???]
>>666
function は 一部の値だけを変えて同じ処理が続く場合に使います。
>>666-667を良く見てみると、同じ記述が見つかりますね。
まずは、共通化できる処理をfunction化してみましょう。

ループ(for while fareach)は、
一部の値を変化させながら同じ処理を繰り返すときに使います。
同じような命令が繰り返している箇所をループ化してみましょう。

671 名前:nobodyさん mailto:age [2009/07/13(月) 18:25:41 ID:???]
ローカル環境でテストするときに
実際のフルパスを書き換えないでテストできる
フリーの開発ツールを前に何かで見つけたのですが
ご存じないでしょうか?

672 名前:nobodyさん mailto:sage [2009/07/13(月) 18:29:50 ID:???]
PEAR使うとエラーが出まくるんだけど、これって
どうすればいいの?

673 名前:nobodyさん mailto:sage [2009/07/13(月) 19:15:29 ID:???]
>>671
パスは設定ファイルに入れておけばいいじゃない。

完全一致を期待してるとカスタマイズとかのときにも
パスの全チェックをしなきゃいけなくなるから面倒だよ。

または、Windows/OSXにもそれぞれ仮想環境ツール
が出ているから、仮想環境ツールに、お目当てのOS
を入れて、Explorer/Finderからコードを更新できるよう、
Sambaあたりを入れて動かしておけばいいかと。

674 名前:nobodyさん mailto:sage [2009/07/13(月) 19:16:10 ID:???]
>>672
PEARのインストールができているかまずチェック。



675 名前:nobodyさん mailto:sage [2009/07/13(月) 21:11:07 ID:???]
>>673
php.iniで簡単に出来ました。
ただすべてのページにbase hrefを入れているので階層めぐりは無理でしたorz

どこかにコールバック関数と連携させてうまく開発出来る海外のツールがあったと思うんだけどなぁ。。
もう一度探してみます。ありがとうございました。

676 名前:nobodyさん mailto:sage [2009/07/15(水) 03:07:14 ID:???]
[環境] WinXP(XAMP) + PHP5
[質問] メンバ関数をメンバ変数の連想配列にぶち込みたい。
※2が通るような使い方をしたいのですが、やりかたをご教授いただけませんでしょうか、、、。
----------------------------
※1 OK
function HogeFunc {
 echo "Called HogeFunc1";
}
class HogeClass1{
 public function Action() {
  foreaech( $m_Array as $key => $value ) {
   $value();
  }
 }
 $m_Array = array( "HOGE_TAG", "HogeFunc1" ); //! 呼び出しOK
};
----------------------------
※2 こいつはNG
class HogeClass2 {
 public function Action() {
  foreaech( $m_Array as $key => $value ) {
   $value();
  }
 }
 public static function HogeFunc2 {
  echo "Called HogeFunc2";
 }
 $m_Array = array( "HOGE_TAG", "HogeClass2::HogeFunc2" ); //! 呼び出すとエラー
}
※※エラー内容※※
Fatal error: Call to undefined function HogeClass2::HogeFunc2() in ....省略
----------------------------

677 名前:nobodyさん mailto:sage [2009/07/15(水) 03:15:04 ID:???]
下の奴パースエラーにならないか?

678 名前:nobodyさん mailto:sage [2009/07/15(水) 03:16:29 ID:???]
上もだった。
色々ひどい。HOGE_TAG関数もないし

679 名前:nobodyさん mailto:sage [2009/07/15(水) 05:17:03 ID:???]
Reflection API

680 名前:nobodyさん mailto:sage [2009/07/15(水) 10:01:02 ID:???]
>>674
そういう問題じゃなくて。
PEARの書き方が古すぎて、
noticeが出まくるってこと。

681 名前:nobodyさん mailto:sage [2009/07/15(水) 15:59:14 ID:???]
エラー表示の制御は基本中の基本だぞ

682 名前:nobodyさん mailto:sage [2009/07/16(木) 17:37:24 ID:???]
PHPを勉強しようと思ってPHPをDLするのにサイトに行ったけど
全く繋がらないんだが俺だけかな?

683 名前:nobodyさん mailto:sage [2009/07/16(木) 18:39:37 ID:???]
www.php.netやphp.netじゃつながらなかったが
jp.php.net jp2.php.netとかはつながった

684 名前:nobodyさん mailto:sage [2009/07/16(木) 19:15:41 ID:???]
>>683
ホントだ! これでDLして勉強できる・・・
ありがとうございます



685 名前:質問です mailto:sage [2009/07/22(水) 01:15:02 ID:???]
xhtml構造で
他ページにおいてるphpを読み込むには
どうしたらいいですか?
いまはとりあえず、インラインとかobjectタグで
呼び出しています

ほかに良い方法があればお教えください
 

686 名前:nobodyさん mailto:sage [2009/07/22(水) 04:17:36 ID:???]
>>685
軽くエスパーして
つ require


687 名前:nobodyさん mailto:sage [2009/07/22(水) 16:32:04 ID:???]
すいません。超初心者ですが、配列と変数について困っています。
$ar = array(1,2); とすると
Array ( [0] => 1 [1] => 2 ) と表示されるのですが、

$date = "1,2";
$ar = array($date); とすると
Array ( [0] => 1,2 ) と表示されてしまいます。

$dateにはテキストボックスから自分で数字とコンマを入力して代入するようになっているのですが、
これらを配列として扱うようにするには、どのように記述すればよいのでしょうか。

申し訳ありませんがよろしくお願いします。

688 名前:nobodyさん mailto:sage [2009/07/22(水) 17:05:38 ID:???]
$date = explode(",",1,2);
while ($i == 0){
$date1 = mt_rand(0,1000);
$date2 = mt_rand(0,1000);
if ($date1 == $date[0]){
if ($date2 == $date[1]){
break;
}
}
}
$ar = array($date1,$date2);

689 名前:687 mailto:sage [2009/07/22(水) 17:05:52 ID:???]
すいません、自己解決しました。
$ar = array($date); を
$ar = explode(",", $date); とすることでうまく動きました。
お手を煩わせて申し訳ありませんでした。

690 名前:687 mailto:sage [2009/07/22(水) 17:07:43 ID:???]
>>688さん
ありがとうございました。

691 名前:nobodyさん mailto:sage [2009/07/23(木) 00:45:19 ID:???]
685です
>>686トンです
require_onceとhtaccessやっても無理でした
再度トライ中
 

692 名前:nobodyさん mailto:sage [2009/07/23(木) 15:34:36 ID:???]
$this->name = "名前";
$this->mail = "メアド";
$this->tel = "電話";

などとあった場合、$thisの配列の中身を全部一括出力したい場合どうすればよいでしょうか

693 名前:nobodyさん mailto:sage [2009/07/23(木) 15:39:20 ID:???]
var_dump($this);

ちなみに配列じゃないけどね

694 名前:nobodyさん mailto:sage [2009/07/23(木) 16:15:48 ID:???]
>>693
おおーこれ便利ですねー
ググって類似のprint_rも覚えました
ありがとうございました



695 名前:nobodyさん mailto:sage [2009/07/23(木) 16:51:40 ID:???]
セッションを使ったフォームで、入力してもらったフォーム内容を確認画面に飛ばした後、
入力画面に戻って修正箇所を再入力、というような普通のフォームを作っているのですが、
修正入力のときにフォームのリセットボタンが動作しません(全消去ではなくセッションで渡された内容に戻ってしまう)

スクリプトの挙動としては作った通りなので当然なんですが、機能としてどうも違うような気がします
何か解決方法はないでしょうか

696 名前:nobodyさん mailto:sage [2009/07/23(木) 17:44:36 ID:???]
リセットはJSでやりゃあいいじゃん

697 名前:nobodyさん mailto:sage [2009/07/23(木) 17:57:10 ID:???]
UI としてリセット機能は不要なことが多いけど

698 名前:695 mailto:sage [2009/07/23(木) 18:08:13 ID:???]
なるほど、どっちもアリだと思うので両方検討してみます

699 名前:nobodyさん mailto:age [2009/07/23(木) 22:50:23 ID:???]
Apache入れないでphp.exe -lって出来る方法ってありますか?
Apacheを入れたPCでは現在使えています。

700 名前:nobodyさん mailto:sage [2009/07/23(木) 23:04:04 ID:???]
CLI版ならできるんじゃ?

701 名前:nobodyさん mailto:age [2009/07/23(木) 23:49:44 ID:???]
win zip版を落としてきて
パスphp.exe -l "%1"

これでダメなのです。
Apacheを入れてるときは動いてたのですが

702 名前:nobodyさん mailto:sage [2009/07/24(金) 10:45:01 ID:???]
エラー文言を出さないのは釣りということ。スルーで。

703 名前:nobodyさん mailto:sage [2009/07/24(金) 18:48:34 ID:???]
$_SESSION["input"] = $_POST;

としてフォームからPOSTされた中身を一括して$_SESSION["input"]に放り込んでるんですが、
さらにそれを一括してhtmlspecialcharsする方法はないでしょうか

現状べた書きでずらずらっと書いてるんですがどうも美しくなく・・・


PHP5

704 名前:nobodyさん mailto:sage [2009/07/24(金) 18:57:24 ID:???]
最後$_SESSION["input"]にhtmlspecialcharsをすればいいんじゃないの?



705 名前:nobodyさん mailto:sage [2009/07/24(金) 19:15:54 ID:???]
function h($data) {
if (is_array($data)) {
return array_map('h', $data);
}
else {
return htmlspecialchars($data, ENT_QUOTES);
}
}


706 名前:nobodyさん mailto:sage [2009/07/24(金) 19:49:53 ID:???]
POSTとかSESSIONじゃなくて出力用データにまとめてかけなさいよ

707 名前:nobodyさん mailto:sage [2009/07/24(金) 20:12:12 ID:???]
>>705
ありがとうございます
勉強がてら意味を追いながら似たような関数も合わせて調べてるんですが、
addslashes($data);
とするとフォームに"が入力されたとき\\\"と\が3つ増える怪現象にはまって脱線中ですw
ググろうにも\がGoogleにエスケープされるというw

>>706
本当にやりたいのはそれなんですが、出力用データがHTMLを含んでるので表示がおかしくなってしまうんです

708 名前:nobodyさん mailto:sage [2009/07/24(金) 20:16:44 ID:???]
>>707
magic_quote

709 名前:nobodyさん mailto:sage [2009/07/24(金) 20:20:38 ID:???]
>>707
普通はHTMLに出力用データを埋め込んで表示

710 名前:nobodyさん mailto:sage [2009/07/25(土) 03:07:01 ID:???]
>>705>>708をベースに、htmlspecialchars後の&まで&に置き換わってしまう謎を無理矢理解決して最終的にこうなりました

function h($data){
 if(is_array($data)){
    return array_map('h', $data);
 }else{
    return stripslashes(preg_replace("/&/i", "&", htmlspecialchars($data ,ENT_QUOTES, "SJIS")));
 }
}

呼び出し箇所
if(get_magic_quotes_gpc()){ $_SESSION["input"] = h($_SESSION["input"]); }

動いてはいるものの正直自信全くナシですw


>>709
こっちもできるようになりたくて試行錯誤3時間
今日はできませんでしたorz
明日また粘ります

出力したいデータを詰め込んだ変数の中身はこんなかんじです

$output = "
 <table><tr>
   <td>名前</td>
   <td><input type=\"text\" name=\"name\" value=\"".$_SESSION["input"]["name"]."\" /></td>
 </tr></table>
";

711 名前:nobodyさん mailto:sage [2009/07/25(土) 03:08:44 ID:???]
あ、書き込んだら勝手に記号置き換えられてました
>>710の「&まで&に」は「&まで&amp;に」です

712 名前:nobodyさん mailto:sage [2009/07/25(土) 06:09:00 ID:???]
>>710
<?php
/* 〜前処理〜 */
$data['name'] = htmlspecialchars($_SESSION["input"]["name"]);
?>
<table><tr>
 <td>名前</td>
 <td><input type="text" name="name" value="<?php echo $data['name']; ?>"/></td>
</tr></table>

713 名前:nobodyさん [2009/07/25(土) 09:38:50 ID:njtiSjD4]
&が置き換わるのは
htmlspecialcharsの仕様

714 名前:nobodyさん mailto:sage [2009/07/25(土) 17:11:32 ID:???]
>>712
おかげさまでできました
$_SESSIONの中身を一度別の配列に放り込むのは
$_SESSIONの中身をいじるべきではないから
と解釈しましたがよいでしょうか

>>713
ググってさっそく調べました
「そういうもの」と考えるしかないみたいですね・・・


ところで、>>710で書いたfunctionなんですが、
フォームに\を記入するとstripslashesの作用で\が消えてしまうというトラブルに見舞われてます


該当部分の処理を順番に並べると下のようになるのですが

$data = htmlspecialchars($data ,ENT_QUOTES);
$data = preg_replace("/&amp;/i", "&", $data);
//*//
$data = stripslashes($data);


これだと\が消えてしまうので、上の//*//の部分に


$str = preg_replace("/\\\\/i", "\\", $str);

を入れてstripslashesをだまして強引に解決している状況です
なんか違和感があるのですがこれでよいものでしょうか



715 名前:nobodyさん mailto:sage [2009/07/25(土) 17:16:16 ID:???]
stripslashesって何のために入れてるの?

716 名前:nobodyさん mailto:sage [2009/07/25(土) 17:35:20 ID:???]
これをいれないと、なぜか画面遷移やリロードのたびにフォームに記入された\の数が倍々で増えるんです

717 名前:nobodyさん mailto:sage [2009/07/25(土) 17:48:38 ID:???]
magic_quotes_gpc が効いてるだけでは

718 名前:nobodyさん mailto:sage [2009/07/25(土) 17:49:57 ID:???]
うん。
あと野村監督じゃないけどバグに不思議のバグなしなので
「なぜかこうなる」はちゃんと原因探ったほうがいい

719 名前:nobodyさん mailto:sage [2009/07/25(土) 17:58:30 ID:???]
>>717
なってます・・・
支障のないところまで組み上げて1度実装用のサーバーでこの部分必ずテストしてみます
とりあえず保留にして内容送信の機能先に作っちゃいますね
セッションすら閉じてない状況なのでw

720 名前:nobodyさん [2009/07/25(土) 19:12:06 ID:y2BFJd1A]
配列をJavaScriptのオブジェクトにするプログラムを考えているのですが
どうしても配列の深さだけ処理を繰り返す必要があります。再帰的に繰り返すにはどうしたらいいのでしょうか。

この例だと配列を2階層しか整形出来ない
function makejson($array){
    $return = "{\n";
    foreach($array as $key => $value){
        $return .= "\t".$key.":";
        if(is_array($value)==true){
            $return .= "{\n";
                foreach($value as $key => $value_2){
                    $return .= "\t\t".$key.":";
                    $return .= "\"".$value_2."\",\n";
                }
            $return .= "\t},\n";
        }else{
            $return .= "\"".$value."\",\n";
        }
    }
    $return .= "}";
    echo $return;
    exit;
}

721 名前:nobodyさん [2009/07/25(土) 19:12:30 ID:y2BFJd1A]
入力例
$array = array{
    'example' => array{
        'test1' => 'value1',
    },
    'example1' => 'value3',
}
makejson($array);
出力例
{
    example : {
        test1 : "value1",
    },
    example1 : "value3",
}

よろしくお願いします。

722 名前:nobodyさん mailto:sage [2009/07/25(土) 19:25:21 ID:???]
>>720
www.php.net/manual/ja/function.json-encode.php

723 名前:nobodyさん [2009/07/25(土) 19:48:52 ID:y2BFJd1A]
そんな便利な関数があったのねありがとう

724 名前:719 mailto:sage [2009/07/26(日) 17:13:42 ID:???]
最近皆さんにお世話になった>>719です
その後メール送信機能はすったもんだありつつなんとかなって、
実装サーバーで>>715,717について実装サーバーでテストしたら
stripslashesがなくても問題ない(php.iniの設定が鯖とローカルで違った)ことが判明しました
おかげさまで機能は全部完成しトラブルも起きてません

ところで、ソースを最終チェックしてるうちに、
セッションを使ってるのにもかかわらずセッションIDを何にも利用してないことに気づいたんですがいいんでしょうかw

具体的にはhiddenで各画面にセッションネームとセッションIDを渡してはいるものの、ただ渡してるだけなんです
URLの後に付加してるわけでもなく、セッションIDを評価する条件分岐があるわけでもなく・・・
クッキーオフにしても普通に動いてるんですが、なんか根本的なところでおかしかったりしないでしょうか



725 名前:nobodyさん mailto:sage [2009/07/27(月) 11:41:33 ID:???]
CSRF とか大丈夫なんかな

726 名前:nobodyさん mailto:sage [2009/07/28(火) 18:19:31 ID:???]
php5.2.5で、mb_send_mail()を使ってメールを送信する際、
spam扱いをなるべく避けるため第5引数で-fパラメータのReturn-Pathを設定したいのですが、

$r_path ='-f aaa@bbb.com';
mb_send_mail($to,$sub,$body,$header,$r_path);
としてもエラーが出て送信できません
第5引数を外せば送信できるので第5引数が原因だと思うのですが、
対策はないでしょうか

php.iniの設定は以下の通りです
sendmail_from → no value
sendmail_path → /usr/sbin/sendmail -t -i


727 名前:nobodyさん mailto:sage [2009/07/28(火) 19:54:00 ID:???]
>>726
-fの後ろに余分なスペースがあるとか。

728 名前:nobodyさん mailto:sage [2009/07/28(火) 21:42:53 ID:???]
これって何をしたいんですか?(汗
$password = sha1(md5(md5(sha1(md5(sha1(sha1(md5($_POST[password]))))))));


729 名前:nobodyさん mailto:sage [2009/07/28(火) 21:45:07 ID:???]
ワロタ

730 名前:728 mailto:sage [2009/07/29(水) 00:14:01 ID:???]
わかるかたいませんか?

731 名前:nobodyさん mailto:sage [2009/07/29(水) 00:18:36 ID:???]
>>730
パスワードを推測されにくくしてからDBとかファイルとかに記録して
おきたいんじゃないかな。パスワード文字列そのものは保存しない。
で、MD5とsha1で滅茶苦茶にした文字列をファイルとかDBに保持し
ておく。

次にパスワードが合致しているかどうかを確認する場合、同じよう
に、入力した内容をMD5とsha1で滅茶苦茶にした文字列と合致する
かどうかをチェックする。これなら、DBやファイルに保存された文字列
を盗まれても、本物のパスワードは推測しにくいわけで。

732 名前:nobodyさん mailto:sage [2009/07/29(水) 00:30:42 ID:???]
それって逆にパス文字列に戻せるのかな

733 名前:nobodyさん mailto:sage [2009/07/29(水) 00:34:01 ID:???]
戻せない

734 名前:nobodyさん mailto:sage [2009/07/29(水) 00:52:28 ID:???]
戻す必要ないしな



735 名前:nobodyさん mailto:sage [2009/07/29(水) 00:55:37 ID:???]
あの青春は戻らない

ハッシュのように、曖昧な記憶が残っているだけさ

736 名前:nobodyさん mailto:sage [2009/07/29(水) 00:57:34 ID:???]
>>728
別にそんなことしなくても、
sha1(25)
とかって書けば、25回暗号化してくれるのにな。

737 名前:nobodyさん mailto:sage [2009/07/29(水) 09:23:39 ID:???]
>>736
ホント?

738 名前:nobodyさん mailto:sage [2009/07/29(水) 09:39:56 ID:???]
ソノウソホント

739 名前:nobodyさん mailto:sage [2009/07/29(水) 13:45:36 ID:???]
25が暗号化されるんじゃないのか?

740 名前:nobodyさん mailto:sage [2009/07/29(水) 14:02:50 ID:???]
セッションについて悩んでます

ローカル環境で送信フォームをテストすると、
同一ページ内にある全てのリンクのURL末尾に自動的に
セッション名とセッションIDが付加されてしまいます
レンタル鯖上では起こらない現象なのですが、
どうしてローカルでだけ起こるのでしょうか

741 名前:nobodyさん mailto:sage [2009/07/29(水) 14:11:35 ID:???]
>>740
session.use_cookies
session.use_only_cookies
session.use_trans_sid

これらの値をphpinfoで比較してみて。
session.use_trans_sidが有効だと、
coockieが使えない時に、URLの末尾に自動的にセッションIDを付加する。

742 名前:740 mailto:sage [2009/07/29(水) 14:23:22 ID:???]
>>741
>session.use_trans_sid

ありがとうございます
ビンゴでした
一発で治りました
秀樹感激

743 名前:nobodyさん [2009/07/29(水) 14:57:52 ID:YfqDSQPl]
この性器表現の意味分かる人教えて。
!preg_match("/^$type\.\w+\.php$/", $entry)

744 名前:nobodyさん mailto:sage [2009/07/29(水) 16:59:17 ID:???]
>>743
$typeで始まって、そのあとピリオド、そのあとに英数字が1文字以上続いて.phpで終わる

ちょっと質問なんだけど、オブジェクトのデストラクタ中で__getとか__setとかのマジックメゾットが正常に機能しない挙動があるんだけど、これってマジックメゾットだけなのか、他のメゾットも正常に機能しない可能性があるのか・・・
一応テストした限りでは正常な機能を失ったのは__getと__setだけなんだけど・・・



745 名前:nobodyさん mailto:sage [2009/07/29(水) 17:23:30 ID:???]
>>744
ごめん勘違い

746 名前:nobodyさん mailto:sage [2009/07/29(水) 19:47:14 ID:???]
>>744
さんきゅ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<191KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef