元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 95
php覧 / PC版 /みんなの評価 :
102 = :
>>101
同じくWindowsでちょっと試してみた
原因はわからんが、アクセス元のセッションはGC対象にならない模様
2つのブラウザで試すと確認できると思う。
あとでubuntuでも試してみるわ
103 = :
>>102
有り難う御座います
仕様もしくはバグなのですね
他の方法でセッション管理してみることにします
105 = :
PHPのPearフレームワークについて詳しい人にご質問なのですが、
SQL インジェクション対策として下手にエスケープシーケンスなんかを
やる位ならPearを使用しプレースホルダー経由でDBにアクセスをする様にした方が
簡単で安全なのでしょうか?
また、Pearフレームワークの驚きの機能、便利な機能等があればお教え下さい。
106 = :
コーディング規約はZendのやつが一番使われてるんですかね?
メソッドの命名規則が小文字スタートのキャメルケースになってますが、PHPのビルトインは全部小文字のハイフン繋ぎですよね
これってどうなんでしょう?
109 = :
>>68
他人のサイトからパクって覚えるの繰り返しだと思う
時間が経つにつれて一通りできるようになったら中の動きとか気になるようになって
専門的知識を深めていくって感じだと思います。
あと、Linuxは基本かと。パッケージ管理ソフトウェアが動かせて
ミドルウェアのインストール、設定ができれば最初はいいんじゃないのかな。
110 :
1つの設定ファイルをincludeで参照して使ってますが、includeファイル自体に参照ファイルがあったりした場合は別階層から参照したりするとファイルがないと言われます。
設定をひとつにまとめることで色々と便利なのですが、階層が違うと読めないので
なにか回避方法か参照の仕方はこうしたほうがいいというのがあれば教えていただけないでしょうか。
111 = :
絶対パスで書くかファイル内で取得する
113 = :
111が言うように、絶対パスで指定するか、
include_once realpath(dirname(__FILE__)).'/../includeFile.php';
と相対パスを作るか。
117 = :
ifだけ書いてelseを書かなくてもいいじゃん。
それと同じでしょ。
119 = :
ま、初歩的を初心とするならば、
elseは書いておくほうがいいよ。
予想外のifを、すりぬける場合が
あるから。
121 = :
splitはexplodeのエイリアスじゃないですよ?
122 = :
>>120
splitは正規表現を使うから
$a = split("\.", "35.11.22.56");
でも
explode(".", "35.11.22.56");
の方が良いかな
123 :
>>121
>>122
ありがとうございます。なるほど、そういうことでしたか。
区切りが"."だと全ての文字が区切り文字になってしってしまってたのか
124 = :
phpのメールフォームの確認画面で
記載内容のテーブルのいちばん外側の枠は表示されるんですが
trやtdの枠が表示されず困っています。
現在は下記のような内容です。
どこがいけないのでしょうか、教えて頂ければとても助かります。
<form action="<? echo $script; ?>" method="POST" >
<table border="1" cellspacing="20" cellpadding="5" width="538">
<? echo $err_message; ?>
<?php
foreach($_POST as $key=>$var) {
$key = strtr($key, $string_from, $string_to);
if(get_magic_quotes_gpc()) $var = stripslashes($var);
$var = htmlspecialchars($var);
print("<tr><td width=\"140\">".$key."</td><td>".$var."</td></tr>");
?>
<input type="hidden" name="<?= $key ?>" value="<?= $var ?>" />
<?php
print("\n");
}
?>
</table>
125 = :
>>124
それはHTMLの質問になっちゃうからスレ違い
Web制作板あたりを探ってくれ
126 = :
>>125
そうでしたか、すいません。
なんとか自力で解決出来そうです。
スレ違い失礼しました。
127 = :
PHPでリダイレクトを実現するには一般的にはどういう手段を使いますか?
PearライブラリのHTTP::redirectという関数を見つけましたが、自分の環境にはPearをインストール出来ません。
生でやろうとすると、headerを設定する方法があるようですが、
この方法だと既にheaderが設定されてるページではエラーが出てしまいリダイレクトできませんでした。
何か良い方法は無いでしょうか?
128 = :
とくにない
131 = :
>>130
各行の長さが固定なら(行番号×行の長さ)の位置までシークできるけど、
そうでなければ、一行ずつ抜いてカウントしていくしかないかな
133 = :
>>131-132
ありがとうございます。
配列に格納な感じでいってみます。
134 = :
【OS名】Windows
【PHPのバージョン】5.2
UTF-8(BOMつき)のHTMLを読み込み、加工して出力を行っているのですが
どうやらBOMもしっかり文字として読み込んでしまっているようで、SJISなどに変換して出力した際'?'に化けてしまいます。
ファイルからテキストを読み込んだが時に、自動的にBOMを削除してくれる機能はないのでしょうか?
ざっとUTF-8 BOM PHP で探しまわったところ、先頭3バイトを調査してsubstrで削除しているところばかりだったのですが…。
(つまり無さそう?)
135 :
IDを出し忘れましたので即レスです
136 = :
>>134
http://jp.php.net/manual/ja/function.mb-substitute-character.php
137 :
すみません、phpで符号なし右シフト「>>>」と同じ結果を得るには
どうすると良いでしょうか?
138 = :
>>137
>>=
139 = :
右シフトしてから、最上位ビットを0にしちゃえばいいんじゃね?
140 = :
右シフトしてから、最上位からシフトした桁分だけ0埋め?
141 = :
【サーバーOS】Windows2003
【Webページ接続OS】Windows7、vista、XP
【phpバージョン】5.2
phpのセッション管理に関する質問です
ログイン管理にセッションを用いていて、認証フォーム→ログイン処理→ログイン後トップページという風に処理しています。
認証フォームで入力したIDとパスワードを、ログイン処理ページで処理してセッション変数を格納し、トップページへと繋げて、以降セッション変数で管理しているのですが、ログイン処理の時点でセッション変数に値が格納出来ていません。
もう一つ別のページでもセッション変数の格納を行っているのですが、そちらは特に問題なく動作しています。
そしてもう一つ、これらの問題はWindowsVISTA、XPのPCで接続した場合に発生し、7で接続した場合は発生しておりません。
まず、問題が発見されたほうのソースコードです。
<?php
$old_session_name=session_name('kaiin');
session_start();
//mysql接続クラス呼び出し
require_once "../php/dbh.php";
$dbh=new db();
$con=$dbh->db_connect();
if(!$result=mysql_query("select ~~~~~~ ")){
header("Location:http://");
}
142 = :
>>141
質問時はIDを出してください
そのコードだとセッションのセットはしてないみたいだよ?
143 = :
$row=mysql_fetch_array($result,MYSQL_ASSOC);
$ent=hash_hmac(sha256,$_POST[post],2channel);
if($row[]===$_2ch){
$_SESSION[]='';
$_SESSION[]="$row[]";
$_SESSION[]="$row[]";
header("Location:http://");
}else{
header("Location:http://");
}
mysql_close($con);
?>
次に、問題が出なかった方のソースコードです
<?php
$old_session_name=session_name("php_exam");
session_start();
foreach($_POST as $key => $value){
$_SESSION[$key]=$value;
}
print <<< EOD
以下HTMLが続く
EOD;
?>
何故接続するPCの違い、ページの違いによって問題が発生するのかまるで分かりません。
ブラウザはIE、火狐、クロームを試しましたがどれも同じ結果でした。
ご教授お願い致します。
145 = :
>>141
if($row[]===$_2ch){
これは何してるかわかる?
$row[]なので、$row配列の最後尾に追加される。
たとえば、
$row[0],$row[1]
がある状態で$row[]とやると、$row[2]になる。
ので
$row[]===$_2ch
というのは
$_2chが「値無し」じゃないと当てはまらないはず。
結果的に$_SESSION[]="$row[]";
にはいらず、elseのほうに入ってしまっている。
146 = :
>>145
失礼しました、説明が足りませんでしたね
$_SESSION[]はや$row[]は2chに書く用に中の連想文字を消したもので、実際には
$_SESSION[2ch]や$row[2ch]のように、中に連想文字が入っている状態です。
分かりにくくて申し訳ないです;;
147 = :
>>146
説明が足りないんじゃなくて再現するコードを出せてないことが問題なんだろ
あとID出せよ
みんなの評価 :
類似してるかもしれないスレッド
- 【PHP】下らねぇ質問はID出して書き込みやがれ 91 (1001) - [98%] - 2010/1/9 4:06 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 98 (1001) - [98%] - 2010/10/12 18:16
- 【PHP】下らねぇ質問はID出して書き込みやがれ 99 (1001) - [98%] - 2010/10/27 4:51
- 【PHP】下らねぇ質問はID出して書き込みやがれ 85 (1001) - [98%] - 2009/7/31 4:07 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 75 (1001) - [98%] - 2008/11/13 21:31 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 93 (1001) - [98%] - 2010/3/16 4:25
- 【PHP】下らねぇ質問はID出して書き込みやがれ 92 (1001) - [98%] - 2010/2/15 17:01 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 97 (1001) - [98%] - 2010/9/18 2:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 96 (1001) - [98%] - 2010/7/22 7:47
- 【PHP】下らねぇ質問はID出して書き込みやがれ 90 (1001) - [98%] - 2009/12/7 18:47
- 【PHP】下らねぇ質問はID出して書き込みやがれ 94 (1001) - [98%] - 2010/4/20 19:31
- 【PHP】下らねぇ質問はID出して書き込みやがれ 105 (1001) - [96%] - 2011/4/28 23:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 135 (984) - [96%] - 2014/8/7 1:00
- 【PHP】下らねぇ質問はID出して書き込みやがれ 125 (1001) - [96%] - 2013/2/4 13:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 115 (1001) - [96%] - 2012/2/25 18:31
- 【PHP】下らねぇ質問はID出して書き込みやがれ 82 (1001) - [96%] - 2009/4/6 19:33
- 【PHP】下らねぇ質問はID出して書き込みやがれ 81 (1001) - [96%] - 2009/3/7 14:17 ○
トップメニューへ / →のくす牧場書庫について