【PHP】下らねぇ質問はここに書き込みやがれ 21
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/05/23(火) 22:05:17ID:???ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
過去スレは>>2
0002nobodyさん
2006/05/23(火) 22:05:52ID:???http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
【PHP】下らねぇ質問はここに書き込みやがれpart12
http://pc8.2ch.net/test/read.cgi/php/1130835396/
【PHP】下らねぇ質問はここに書き込みやがれpart13
http://pc8.2ch.net/test/read.cgi/php/1132921016/
【PHP】下らねぇ質問はここに書き込みやがれpart14
http://pc8.2ch.net/test/read.cgi/php/1134868212/
【PHP】下らねぇ質問はここに書き込みやがれpart15
http://pc8.2ch.net/test/read.cgi/php/1137236771/
0003nobodyさん
2006/05/23(火) 22:06:43ID:???http://pc8.2ch.net/test/read.cgi/php/1139146534/
【PHP】下らねぇ質問はここに書き込みやがれpart18
http://pc8.2ch.net/test/read.cgi/php/1142417901/
【PHP】下らねぇ質問はここに書き込みやがれ Part19
http://pc8.2ch.net/test/read.cgi/php/1144513878/
【PHP】下らねぇ質問はここに書き込みやがれpart20
http://pc8.2ch.net/test/read.cgi/php/1146165153/
0004nobodyさん
2006/05/23(火) 22:07:16ID:???extractは極力使わないほうがいいと思います。
例えば、
hoge.php?_SESSION[user_pw]=hogehoge
って形で送られてきたとします。これを
extract($_GET)
しちゃうと、$_SESSION['user_pw']の値が、
"hogehoge"に変更されてしまいます。
もし事前にユーザのパスワードを、$_SESSION['user_pw']に
保持してたとしたら、勝手に書き換えられてしまうことになります。
それを避けるために
extract($_GET, EXTR_SKIP)
ってやって上書きを避けたとしても、
このままでは変数の初期化を忘れる危険性があります。
extract($_GET, EXTR_PREFIX_ALL, "get")
と、接頭辞をつけるのが一番安全な気はしますが、
それなら最初から
$hoge = $_GET['hoge'];
ってやるのと手間が変わらないと思いますし、可読性も増します。
確かにextractするのは楽だと思いますけど。
0005nobodyさん
2006/05/23(火) 22:17:27ID:???ttp://makimo.to/cgi-bin/search/search.cgi?shw=100&q=PHP%81z%89%BA%82%E7%82%CB%82%A5%8E%BF%96%E2%82%CD&andor=AND&sf=0&H=&all=on&view=table
0007nobodyさん
2006/05/24(水) 00:21:31ID:LAJIQlLYどうしてPHPの質問ってこんなにくだらないものばかりなんですか?
0008nobodyさん
2006/05/24(水) 00:40:53ID:pDgg/19cfunction aaa($bbb) {
$ccc = "これは".$bbb."です。";
return $ccc
}
echo aaa("お茶");
echo aaa("水");
とやると、これはお茶です。これは水です。と帰ってくるのですが、
0009nobodyさん
2006/05/24(水) 00:41:25ID:pDgg/19cfunction ddd($eee) {
$con = mysql_connect(~~~~~);
〜省略〜
$sql = "select * from hogetable where hoge = $eee";
$rst = mysql_query($sql, $con);
$col = mysql_fetch_array($rst) ;
$fff = $col["hoge"];
return $fff;
}
echo ddd(hogehoge);
echo ddd(fugafuga);
とやると、一行目のechoの$col["hoge"]は帰ってきますが、
二行目は戻ってきません。
一行目と二行目を入れ替えると、fugafugaを渡したものが
戻ってきますが、hogehogeの方は戻りません。
実際はもう少しfunctionの中身は複雑なのですが、
sql文の条件に入る単語を引数にして、mysql_fetch_arrayした結果を
取り出すfunctionにしたいです。
functionの中でmysqlに接続してはいけないのですか?
なぜ中途半端に動く(一行目だけ戻ってくる)のかわかりません。
どなたかよろしくお願いします。
0010nobodyさん
2006/05/24(水) 00:52:12ID:???ん!ん!ん!
意味がよく分からないんだけど、hogehogeとfugafugaはSQLのwhere条件に使うんだよな?
で、>>9の関数を実行するとddd()という関数が二回実行されるはずなのに上側のddd()関数
しか値を返してくれないって事だよな?
0011nobodyさん
2006/05/24(水) 01:00:23ID:pDgg/19c悩み果てて、眠気と戦いながら書いたので、書いたものはあやしいかもしれませんが、
10さんの仰ってる内容で正しいです。
同じsql文の条件の部分にhogehogeとかを渡して、mysql_fetch_arrayしてデータを取り出したいだけです。
ddd()を使えば、違った条件で抽出したデータを取り出せて便利と思い、
試しに動くか2行連続で書いたら、一番上に書いた行の結果しか帰ってこないんです。
何か原因はかんがえられますでしょうか?
0012nobodyさん
2006/05/24(水) 01:12:04ID:???エラー?見たいなものががどうしても出てしまうのでメッセで教えていただけませんか?
凄くシンプルな20行程度のプログラムなのですが。
0013nobodyさん
2006/05/24(水) 01:13:25ID:???0014nobodyさん
2006/05/24(水) 01:15:32ID:qW6N8luO解決できたら報酬はもちろん差し上げますので。。お願いします。
0015nobodyさん
2006/05/24(水) 01:27:11ID:qW6N8luO00168
2006/05/24(水) 01:34:50ID:pDgg/19c怪しげな一文を見つけたのですが、いまいち難しくてわからないです。
ttp://php.s3.to/man/function.mysql-connect.html
これはなにか関係ありますかね?
functionでmysqlに繋ぐのは普通ですよね?
0018nobodyさん
2006/05/24(水) 01:58:20ID:???function内でconnectはまぁ普通だが、普通はそのときの戻り値を別途保持して
2回目以降はそれを使いまわすようにする。
selectのたびに毎回connectなんて真似はしない。
ただ、通常はmysql_connectのパラメータが全く一緒の内容なら
何回connectしても同じリソースIDが返るのでちゃんと動きそうなもんではある。
mysql_connectとmysql_queryの直後で
echo mysql_error();
を表示させてみてはどうだろう?
あと、それぞれの戻り値をちゃんとエラー判定しような。
0021nobodyさん
2006/05/24(水) 02:03:09ID:???まぁ、functionでMySQLに繋ぐって言う事自体はまったく問題ないんだけど、その書き方だと
一回接続してるのにもう一回接続しようとしてしまうだろ?
だからさらに別functionに分けてMySQLに接続するのみのfunctionにしてみたらどうだ?
多分それで問題も解決すると思う。
今回のエラーの原因は「一度接続して、通信を切断していないのにもう一度MySQLに接続しようとしている」
体と思う。
00228
2006/05/24(水) 02:09:47ID:pDgg/19c気になって眠れずにいました。感謝。
mysqlへの接続用functionはちょっと試したのですが、
その場合は上に僕が書いたddd()の中にconnect()(←mysql接続用function(仮))を
書くのでしょうか?でも、それだと結局同じになってしまいますよね?
いまいちfunctionの使い方自体が分かっていないので、もう少し勉強します。
本当にありがとうございます。
明日また試して報告します。
0023nobodyさん
2006/05/24(水) 02:10:11ID:???オレの出番はないようだ・・・
0024nobodyさん
2006/05/24(水) 02:13:22ID:???$r=connect(必要なパラメータ);
echo ddd( $r, hogehoge );
disconnect(必要なパラメータ);
exit;
function ddd( $r, $eee )
{
略
}
マニュアルみてないけどだいたいこんな感じ
0025nobodyさん
2006/05/24(水) 02:22:01ID:???function connect() {
if(! $GLOBALS['connect_id']) {
if(! ($GLOBALS['connect_id'] = mysql_connect(〜))) {
echo "接続エラー";
exit;
}
}
return $GLOBALS['connect_id'];
}
function ddd($eee) {
$con = connect();
:
}
例えばこんな感じ
0026nobodyさん
2006/05/24(水) 02:34:29ID:fsmU1YOR携帯用の掲示板を作っているのですが、
コメントで改行されると、テキストデータに保存したときに
改行されたまま保存されてしまいます。
この改行を取り除いて保存したいのですけど、どうすればよいですか?
0027nobodyさん
2006/05/24(水) 02:41:56ID:???方法はいっぱいあるよ。
でだ!まず改行コードはもちろん知っているよな?PHPとかで書くなら「\r\n」「\r」「\n」の3種類だ。
これらがそのままテキストに保存されるから改行されちゃうんだ!
さらにヒントだ! str_replace("\n","","文字列");
0028nobodyさん
2006/05/24(水) 02:42:11ID:???mb_ereg_replaceなんかも見るといいよ
0029nobodyさん
2006/05/24(水) 02:45:27ID:???そのソースでちゃんと2回目以降も値が取れたぞ。
$sql = "select * from hogetable where hoge = '$eee' ";
echo ddd('hogehoge');
だと思うけどな。
0030nobodyさん
2006/05/24(水) 02:49:56ID:???マニュアルに書いてある通り、その場合は2重接続を行わずに
接続中のコネクトIDを返すので問題ない(エラーとはならない)。
0031nobodyさん
2006/05/24(水) 03:04:46ID:qW6N8luOエラーというより簡単な要望に近い形になります。
そのソースは某サイトで購入したものでといってもソースは20行程度なのですが。
なので晒したいのですが晒せないといった状態です。ご勘弁ください。
メッセなら晒せます。[email protected] です。お願いします。
0032nobodyさん
2006/05/24(水) 03:07:54ID:fsmU1YOR文字列置き換えですね。
その方法でできました、ありがとうございます。
>>28
辞書見る限り、まだちょっと理解できませんけど
アドバイスありがとうございます。
0033nobodyさん
2006/05/24(水) 03:09:43ID:fsmU1YOR$data ←この中身が数値の場合、または半角英数字の場合にTRUEを返すと
いった関数はありませんでしょうか?
初歩的な質問ですみません・
0034nobodyさん
2006/05/24(水) 03:20:19ID:???てめぇ!若いうちから楽をするんじゃない!正規表現でシコシコ作るんだ!!
多分PHPのことだから調べたらあると思う
0037nobodyさん
2006/05/24(水) 04:08:36ID:???>>36
天井に達した後、誰も立てていないだけ
立たないって事は需要が無いんだと思うが・・・
0039nobodyさん
2006/05/24(水) 07:26:22ID:???ctype_alnum($data); // = preg_match('/^[a-z0-9]*$/i', $data)
0040nobodyさん
2006/05/24(水) 07:46:13ID:???Order allow,deny
Deny from all
0041nobodyさん
2006/05/24(水) 08:18:47ID:???クエリで何か渡してる場合に限っての話じゃないの?
0042nobodyさん
2006/05/24(水) 08:34:29ID:???〜.php/file.htmlにするとあーら不思議(謎
0043nobodyさん
2006/05/24(水) 08:57:13ID:???全然同じかと思ってた
例えば
index.php?q=hogehoge
index.php/hogehoge
index.php/hogehoge.html
だったらどう?
やっぱ hogehoge.html > hogehoge ?
ってかスレ違いかな・・
0044nobodyさん
2006/05/24(水) 09:12:43ID:???最近はあまり関係ないよ
自分のところはクエリ表記だが検索エンジンは問題ない
重要なことは正しい構文 .htmlが良かったのは昔昔昔昔の話
完全にスレ違いだな
00458
2006/05/24(水) 10:40:10ID:Y9pwRi1Oレスありがとうございます。助かりました。8です。
今調べたら、全く別のところに原因がありました。
実はmysql_connect($dbserver,$dbuser,$dbpass);
とかって書いていて、それぞれの値は別のファイルに書いていまして、
それをrequire_once(./hoge.php);で読み込んでいました。
function ddd($eee) {
require_once(./hoge.php);※設定ファイル
mysql_connect($dbserver,$dbuser,$dbpass);
以下略
}
みたいな感じです。
このrequire_onceをただのrequireにしたら大丈夫でした。
自分が買った参考書は外部のファイルを読み込むときは
いつもrequire_onceだったので、気にせずにいました。
require_onceの場合、2回目のddd($hoge)のときは
mysqlに接続できて無かったってことでしょうか?
0046nobodyさん
2006/05/24(水) 12:06:02ID:???require_onceはその名の通り1回しか読み込まないので
2回目は読み込まれずに未定義のID/Passで接続しようとしたから
最初から全部晒せばすぐに解決したと思われるのだが・・・
00478
2006/05/24(水) 12:33:53ID:Y9pwRi1Oレスありがとうございます。
ほんとその通りですね。申し訳ないです。
>みなさん
require と includeの使い分けのルールみたいなものはありますか?
また、それぞれ_onceにしないとダメなケースとかでよくあるものとかあったら
教えて欲しいです。
0048nobodyさん
2006/05/24(水) 14:37:59ID:???0049nobodyさん
2006/05/24(水) 15:50:46ID:???0051nobodyさん
2006/05/24(水) 16:09:30ID:???PHPを使ったフォトブログを簡単に設置できるスクリプトってありますよね。
そういうもの(pixelpostやfolderblog)を設置すると必ずindex.phpでページがblankになるんです。
解決策としては
error_reporting(0);の部分をerror_reporting(7);またはerror_reporting(E_ALL);
とすればいいと書いてあるんですが
同じようにblankになり、リロードすることで読みこまれます。
鯖はxreaなんですが
すれ違いですかね。
0052nobodyさん
2006/05/24(水) 16:10:12ID:1ttwMHsA俺はPOSTデータを比較演算子で比較してるけど。
おまいらはどうやってる?
0054nobodyさん
2006/05/24(水) 16:32:35ID:???公式マニュアルで現在時刻を取得する関数見れば
関連の関数として書いてあるじゃん。
「ある」ことは教えてもらったんだからそこからは自分で探しなさいよ。
0055nobodyさん
2006/05/24(水) 16:39:04ID:???関数定義や設定値定義などには普通はonceを使う。
同じものを何度も読み込むなんて無駄だから。
また、特別な理由があるわけじゃなきゃ関数の中でrequireとかはあまりしない。
それが関数の機能的に意味のあることならもちろん構わないが。
requireはそのファイルが読み込めないと致命的な場合に用いる。
includeは無ければ無いで問題が出ないような場合に用いる。
0056nobodyさん
2006/05/24(水) 17:25:46ID:???結構長いこと仕事でPHP使ってるけど、まだ〜once以外使ったことないよ。
ちゃんと設計してれば出番は少ないと思われる。
ま、ケースバイケースだがね。
005747
2006/05/24(水) 18:01:35ID:Y9pwRi1Oレスどうもです。
僕はdbの名前とかパスワードを別ファイルにしたのですが、
これはonecだとダメということは、みなさんは別の方法でやっているのですか?
mysqlにつなぐfunctionを書くことは多いと思うのですが、
どんな風に書いていますか?
また、別の類の質問かもしれないのですが、
例えば、僕が書いたコードは、
mysqlに接続するだけのfunctionがあって、
そのつぎに「条件の違うクエリを打って結果をreturnする」functionがあって、
2個目のfunctionの中で1個目のfunctionを使っています。
つまりfunctionの中にfunctionがあります。
こういうのは問題ないですか?
0058nobodyさん
2006/05/24(水) 18:04:52ID:IMQ+SU6Qメソッド名を指定できるのは分かったのですが
$func = "Hoge::execute";
$func();
みたいな感じに、クラス名から指定したいのです。
0060nobodyさん
2006/05/24(水) 18:07:55ID:???その処理の判別で便利な方法はどんなのですか?
�@
type="hidden" name="action" value="****"
をつけて
switch($_POST['action'])
で判別
�A
type="submit" name="action[****]" value="うんたら"
をつけて
(どうやって判別?)
�B
別ページで処理して元ページに戻す
などなど考えましたが皆さんはどんな手法を使ってますか?
0061nobodyさん
2006/05/24(水) 18:09:43ID:???0062nobodyさん
2006/05/24(水) 18:10:08ID:???処理内容とフォームのデザインによる
Javascript使えるならsubmit時にvalue変えることもできるし。
006351
2006/05/24(水) 18:52:16ID:???0064nobodyさん
2006/05/24(水) 20:05:31ID:Ixcu1EBTfile.txtというファイルに
aaa<>111<>222
bbb<>333<>444
ccc<>555<>666
という形で、格納されているデータがあってある文字列を書き込みたい時、
もし、file.txtの中に既に含まれるものがあれば、書き込まない。
無ければ、書き込む。
という操作をさせたいときには、どのように書けば良いでしょうか?
何となく頭では分かっているのですが
どう書けば良いのかが分からなかったので質問しました。
よろしくお願いいたします。
0066nobodyさん
2006/05/24(水) 20:22:09ID:???その区切り文字使う人って大抵ユーザ入力のデータをHTMLタグを無効化(htmlspecialchars)しておいて、
出力時にそのまま書き出すようなコード書いていることが多いんだよね。
エスケープ処理は、htmlとしてのprint時にやったほうがセキュアでシンプルなコードになるよ。
例えば、データベースにいれたりファイルを直接編集したりするときには、< が > とかに変換されてたって
まどろっこしくなるだけだし、複数の方式でファイルへの書き込みをやるときとかにエスケープ漏れが生じることがある。
0067nobodyさん
2006/05/24(水) 20:29:25ID:Ixcu1EBTアルゴリズムは分かるのですが
書き方が分かりません。
>66
ありがとうございます。
参考になります。
0068nobodyさん
2006/05/24(水) 20:40:44ID:???アルゴリズムがわかるなら、それを書いたら?
日本語でもいいから。
それを、文法として間違っていても、動作しなくてもいいから、
適当と思うPHPの関数、構文に置き換えて書いてみたらどうだろう。
0069nobodyさん
2006/05/24(水) 20:53:56ID:Ixcu1EBTファイルオープン。
ファイルの読み込み、丸ごと配列aに格納。
変数Aが、ファイルの中身と同じかを正規表現で調べる。
ファイルロック。
違っていれば、追加書込み。
ファイルクローズ。
こんな流れですよね?
0070nobodyさん
2006/05/24(水) 20:56:47ID:???ファイルロックはファイルオープンの直後のがよくね?
処理自体は合ってるから、それをそのままPHPの関数で置きかえれ。
0071nobodyさん
2006/05/24(水) 22:03:49ID:???> 僕はdbの名前とかパスワードを別ファイルにしたのですが、
> これはonecだとダメということは、みなさんは別の方法でやっているのですか?
普通はonceを使うよ、それ。
ただし関数の中じゃなく、プログラムの先頭で1回だけだが。
> 2個目のfunctionの中で1個目のfunctionを使っています。
> つまりfunctionの中にfunctionがあります。
> こういうのは問題ないですか?
ごく普通。プログラム概論とかソフトウェア工学とかの本を読んでみれば?
0073nobodyさん
2006/05/24(水) 22:24:37ID:???つまずきそうなのは中身の比較あたり?
ファイルの内容を配列に格納したら、
$add = 1; //最初は追加モード
foreach($file as $line) {
if($line == $data) { //ファイルの各行と今回の追加データを比較
$add = 0; //一致する内容があれば追加モードOFF
}
}
if($add) {
ファイルへ書き込む処理
}
みたいな感じでいける。
0075nobodyさん
2006/05/24(水) 22:59:52ID:???60じゃないけど。
大した種類も無くて楽にやるなら1、拡張する可能性があるなら2、
複数のフォームがあってデータを連動させたい場合なんかはJavaScript併用、とか。
特に困ることがないなら1でいいんじゃないの。
007652
2006/05/24(水) 23:16:26ID:1ttwMHsA0077nobodyさん
2006/05/24(水) 23:16:51ID:cMAB9oLfはできるのですが、
$class::$method();
はできませんか?
試してみたら、パースエラーが出ましたが、
なんとか$class部分を変数にして実行したいです。
007877
2006/05/24(水) 23:19:26ID:???0079nobodyさん
2006/05/24(水) 23:26:20ID:???一般的かどうかは定かではないが、
予め設定したパスワードはcrypt等で暗号化した上で保存
フォームから送られたパスワードも同じ暗号化処理をした上で、
保存してあるパスワードと比較。
比較演算子は === とか使っておけば間違いないんじゃないのかな?
0080nobodyさん
2006/05/24(水) 23:34:23ID:vQsxJJUN親ファイルから子ファイルをincludeするのですが、
子ファイルで
{assign var="test" value="sample"}
と変数を指定して
その変数を親ファイル側で利用したいのですが、
できませんでした。
includeされたファイルで設定された値は
include元では利用できないのでしょうか?
出来ない場合、上記のような機能を実現するには
どうしたら良いでしょうか?
config_loadは使用しない形で実現したいのですが
方法が思い浮かびません。
識者の方ご教授をおねがいします。
0081nobodyさん
2006/05/24(水) 23:35:07ID:JcLctTfB<? include("./p_parts/hoge.php"); ?>
のような形で挿入しています。
このようなパーツが複数あるのですが、特定のファイル(theme.php)を挿入した部分だけ
Warning: main(): open_basedir restriction in effect. File(../p_parts/theme.php) is not within the allowed path(s): (.:/php-tmp) in /〜/index.php on line 76
Warning: main(../p_parts/theme.php): failed to open stream: Operation not permitted in /〜/index.php on line 76
Warning: main(): Failed opening '../p_parts/theme.php' for inclusion (include_path='.:/usr/share/php4:/usr/share/php') in /〜/index.php on line 76
というエラーが返って来ます…。
原因と対策を教えてください。よろしくお願いします。
008252
2006/05/24(水) 23:47:05ID:1ttwMHsAありがとん。
参考になったよ(・∀・)md5あたりを使ってみます。
0083nobodyさん
2006/05/24(水) 23:59:05ID:???> <? include("./p_parts/hoge.php"); ?>
ここでは ./p_parts サブディレクトリなのに
> Warning: main(../p_parts/theme.php):
こっちだと ../p_parts と上位ディレクトリの指定になってるからじゃ?
008481
2006/05/25(木) 00:05:46ID:JcLctTfBレスありがとうございます。階層はコピペミスで実際は
/p_parts/
└/text/index,php …ここに<? include("../p_parts/theme.php"); ?>と記述
になっています。SSI的にphpを使う知識しかなく、中身はただのhtmlを記述したものです。
他のhoge.php等も同様な感じでちゃんと表示されているのですが…
0087nobodyさん
2006/05/25(木) 00:19:08ID:???そうするとデリミタは?
DBだとその通りなんだけど、テキストだとどうなんだろ。
カラム区切り、レコード区切り両方意識しなきゃならないし。
0088nobodyさん
2006/05/25(木) 00:28:31ID:???008981
2006/05/25(木) 00:35:14ID:???他のhoge.php等も同じパスです。
open_basedirの設定は鯖がphpinfo() ;を禁止しているのでよく解りません。
ファイル名など禁則文字があるのかと思いリネームしたりもしましたが無駄でした。
あと、theme.phpのアップデート前には表示できていたんですが…
もう少し頑張ってみてダメだったら鯖に聞いたほうが早いでしょうか…orz
009281
2006/05/25(木) 01:07:41ID:???<h2>Theme</h2>
<p>「○○のお題」に挑戦。最低限隔週更新。</p>
<ol class="thumb"><li>ほにゃらら〜</li></ol>
<p class="small t_right"><a href="URL">サイト名</a></p>
これだけです。
オーナーとパーミッションは前と一緒です。
オーナーは自分で属性は604です。
0093nobodyさん
2006/05/25(木) 01:22:20ID:???ソートした時に、10000円より5000円のほうが
高くなるんだよね。カンマ付いてないのに。
なんでYO!
0095nobodyさん
2006/05/25(木) 03:30:17ID:???1, 0, 0, 0, 0, 円の1バイト目, 円の2バイト目
5, 0, 0, 0, 円の1バイト目, 円の2バイト目
0096nobodyさん
2006/05/25(木) 04:34:53ID:???文字列型同士なので、当然文字列として比較するから、1文字目(1と5)で決まる
数値変換をさせるか、一旦数値型にキャストすれば良い
<?php
$a='5000円';
$b='10000円';
if ($a>$b) echo "$a>$b";
if ($a<$b) echo "$a<$b";
echo "\n";
if ((float)$a>(float)$b) echo "(float)$a>(float)$b";
if ((float)$a<(float)$b) echo "(float)$a<(float)$b";
echo "\n";
if (0+$a>0+$b) echo "0+$a>0+$b";
if (0+$a<0+$b) echo "0+$a<0+$b";
//5000円>10000円
//(float)5000円<(float)10000円
//0+5000円<0+10000円
0098nobodyさん
2006/05/25(木) 08:49:01ID:T8t5b4Lqsession.gc_maxlifetime を10にしているのに10秒たっても
セッションがタイムアウトしません(切れてくれません)。なぜなんでしょうか?
※値10はテスト用に短くしています。意味は無いです。
session.cookie_lifetime を10にすると10秒で切れてくれるのですが、
これだとブラウザ閉じてもまだセッションが生きているので要件上ダメなのです。
環境はIIS5.0 / php5.0.3 です。php.iniの値は下のようになってます。
0099nobodyさん
2006/05/25(木) 08:51:27ID:T8t5b4Lqsession.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 10 10
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path no value no value
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
0100nobodyさん
2006/05/25(木) 09:24:01ID:???{include file="header.tpl" page_title="タイトル" user="$user"}
とかすればいい。
includeされたファイルでは{$page_title}とかで参照できるはず。
オブジェクトも渡せるんじゃなかったかな。
0101nobodyさん
2006/05/25(木) 09:39:26ID:???書いてありましたが、ではクッキーを使えない携帯では
どうやって安全なセッション処理を実現したらいいのでしょうか。
■ このスレッドは過去ログ倉庫に格納されています