私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ○
レスフィルター : (試験中)
win zip版を落としてきて
パスphp.exe -l "%1"
これでダメなのです。
Apacheを入れてるときは動いてたのですが
パスphp.exe -l "%1"
これでダメなのです。
Apacheを入れてるときは動いてたのですが
$_SESSION["input"] = $_POST;
としてフォームからPOSTされた中身を一括して$_SESSION["input"]に放り込んでるんですが、
さらにそれを一括してhtmlspecialcharsする方法はないでしょうか
現状べた書きでずらずらっと書いてるんですがどうも美しくなく・・・
PHP5
としてフォームからPOSTされた中身を一括して$_SESSION["input"]に放り込んでるんですが、
さらにそれを一括してhtmlspecialcharsする方法はないでしょうか
現状べた書きでずらずらっと書いてるんですがどうも美しくなく・・・
PHP5
最後$_SESSION["input"]にhtmlspecialcharsをすればいいんじゃないの?
function h($data) {
if (is_array($data)) {
return array_map('h', $data);
}
else {
return htmlspecialchars($data, ENT_QUOTES);
}
}
if (is_array($data)) {
return array_map('h', $data);
}
else {
return htmlspecialchars($data, ENT_QUOTES);
}
}
>>707
magic_quote
magic_quote
>>707下
普通はHTMLに出力用データを埋め込んで表示
普通はHTMLに出力用データを埋め込んで表示
>>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>
";
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>
";
あ、書き込んだら勝手に記号置き換えられてました
>>710の「&まで&に」は「&まで&amp;に」です
>>710の「&まで&に」は「&まで&amp;に」です
>>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>
<?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>
>>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をだまして強引に解決している状況です
なんか違和感があるのですがこれでよいものでしょうか
おかげさまでできました
$_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をだまして強引に解決している状況です
なんか違和感があるのですがこれでよいものでしょうか
これをいれないと、なぜか画面遷移やリロードのたびにフォームに記入された\の数が倍々で増えるんです
うん。
あと野村監督じゃないけどバグに不思議のバグなしなので
「なぜかこうなる」はちゃんと原因探ったほうがいい
あと野村監督じゃないけどバグに不思議のバグなしなので
「なぜかこうなる」はちゃんと原因探ったほうがいい
>>717
なってます・・・
支障のないところまで組み上げて1度実装用のサーバーでこの部分必ずテストしてみます
とりあえず保留にして内容送信の機能先に作っちゃいますね
セッションすら閉じてない状況なのでw
なってます・・・
支障のないところまで組み上げて1度実装用のサーバーでこの部分必ずテストしてみます
とりあえず保留にして内容送信の機能先に作っちゃいますね
セッションすら閉じてない状況なのでw
最近皆さんにお世話になった>>719です
その後メール送信機能はすったもんだありつつなんとかなって、
実装サーバーで>>715,717について実装サーバーでテストしたら
stripslashesがなくても問題ない(php.iniの設定が鯖とローカルで違った)ことが判明しました
おかげさまで機能は全部完成しトラブルも起きてません
ところで、ソースを最終チェックしてるうちに、
セッションを使ってるのにもかかわらずセッションIDを何にも利用してないことに気づいたんですがいいんでしょうかw
具体的にはhiddenで各画面にセッションネームとセッションIDを渡してはいるものの、ただ渡してるだけなんです
URLの後に付加してるわけでもなく、セッションIDを評価する条件分岐があるわけでもなく・・・
クッキーオフにしても普通に動いてるんですが、なんか根本的なところでおかしかったりしないでしょうか
その後メール送信機能はすったもんだありつつなんとかなって、
実装サーバーで>>715,717について実装サーバーでテストしたら
stripslashesがなくても問題ない(php.iniの設定が鯖とローカルで違った)ことが判明しました
おかげさまで機能は全部完成しトラブルも起きてません
ところで、ソースを最終チェックしてるうちに、
セッションを使ってるのにもかかわらずセッションIDを何にも利用してないことに気づいたんですがいいんでしょうかw
具体的にはhiddenで各画面にセッションネームとセッションIDを渡してはいるものの、ただ渡してるだけなんです
URLの後に付加してるわけでもなく、セッション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
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
>>726
-fの後ろに余分なスペースがあるとか。
-fの後ろに余分なスペースがあるとか。
これって何をしたいんですか?(汗
$password = sha1(md5(md5(sha1(md5(sha1(sha1(md5($_POST[password]))))))));
$password = sha1(md5(md5(sha1(md5(sha1(sha1(md5($_POST[password]))))))));
わかるかたいませんか?
>>730
パスワードを推測されにくくしてからDBとかファイルとかに記録して
おきたいんじゃないかな。パスワード文字列そのものは保存しない。
で、MD5とsha1で滅茶苦茶にした文字列をファイルとかDBに保持し
ておく。
次にパスワードが合致しているかどうかを確認する場合、同じよう
に、入力した内容をMD5とsha1で滅茶苦茶にした文字列と合致する
かどうかをチェックする。これなら、DBやファイルに保存された文字列
を盗まれても、本物のパスワードは推測しにくいわけで。
パスワードを推測されにくくしてからDBとかファイルとかに記録して
おきたいんじゃないかな。パスワード文字列そのものは保存しない。
で、MD5とsha1で滅茶苦茶にした文字列をファイルとかDBに保持し
ておく。
次にパスワードが合致しているかどうかを確認する場合、同じよう
に、入力した内容をMD5とsha1で滅茶苦茶にした文字列と合致する
かどうかをチェックする。これなら、DBやファイルに保存された文字列
を盗まれても、本物のパスワードは推測しにくいわけで。
>>736
ホント?
ホント?
セッションについて悩んでます
ローカル環境で送信フォームをテストすると、
同一ページ内にある全てのリンクのURL末尾に自動的に
セッション名とセッションIDが付加されてしまいます
レンタル鯖上では起こらない現象なのですが、
どうしてローカルでだけ起こるのでしょうか
ローカル環境で送信フォームをテストすると、
同一ページ内にある全てのリンクのURL末尾に自動的に
セッション名とセッションIDが付加されてしまいます
レンタル鯖上では起こらない現象なのですが、
どうしてローカルでだけ起こるのでしょうか
>>740
session.use_cookies
session.use_only_cookies
session.use_trans_sid
これらの値をphpinfoで比較してみて。
session.use_trans_sidが有効だと、
coockieが使えない時に、URLの末尾に自動的にセッションIDを付加する。
session.use_cookies
session.use_only_cookies
session.use_trans_sid
これらの値をphpinfoで比較してみて。
session.use_trans_sidが有効だと、
coockieが使えない時に、URLの末尾に自動的にセッションIDを付加する。
>>743
$typeで始まって、そのあとピリオド、そのあとに英数字が1文字以上続いて.phpで終わる
ちょっと質問なんだけど、オブジェクトのデストラクタ中で__getとか__setとかのマジックメゾットが正常に機能しない挙動があるんだけど、これってマジックメゾットだけなのか、他のメゾットも正常に機能しない可能性があるのか・・・
一応テストした限りでは正常な機能を失ったのは__getと__setだけなんだけど・・・
$typeで始まって、そのあとピリオド、そのあとに英数字が1文字以上続いて.phpで終わる
ちょっと質問なんだけど、オブジェクトのデストラクタ中で__getとか__setとかのマジックメゾットが正常に機能しない挙動があるんだけど、これってマジックメゾットだけなのか、他のメゾットも正常に機能しない可能性があるのか・・・
一応テストした限りでは正常な機能を失ったのは__getと__setだけなんだけど・・・
>>744
ごめん勘違い
ごめん勘違い
>>744
さんきゅ
さんきゅ
PHPを何に使っているかによる。
ADVゲームの画面切り替えに使っているのなら、
それほど負荷はかからない。
リアルタイムの多人数同時プレイゲームのデータ
を常に送信しつづけるサーバーとしてPHPを使って
いるのなら、負荷はかなりのものになる。
ADVゲームの画面切り替えに使っているのなら、
それほど負荷はかからない。
リアルタイムの多人数同時プレイゲームのデータ
を常に送信しつづけるサーバーとしてPHPを使って
いるのなら、負荷はかなりのものになる。
類似してるかもしれないスレッド
- 【PHP】ID出さなくても質問OKなスレ【初心者歓迎】 (1001) - [100%] - 2009/1/28 18:17
- 【PHP】ID出さんでも質問OKなスレ【初心者歓迎】2 (1001) - [86%] - 2009/11/19 20:19 ○
- 【PHP】フレームワーク CakePHP 3ホール目【本命】 (1001) - [33%] - 2008/6/19 7:19 ○
- 【PHP】フレームワークについて語るスレ12【総合】 (994) - [31%] - 2009/3/19 13:46 ○
トップメニューへ / →のくす牧場書庫について