トップページ⇒php
1001コメント344KB

【PHP】質問スレッド Part5

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/09/11 14:15ID:FWA0CpdU
レスは気長に待つのが良い感じかも。


■本家
http://www.php.net/

■日本 PHP ユーザ会
http://www.php.gr.jp/

■PHP マニュアル
http://www.php.net/manual/ja/

■PEAR マニュアル
http://pear.php.net/manual/ja/


過去スレ, 関連スレ及び注意事項等は、
>>2-10あたりにきっと誰かが……。
0185hmk02/09/30 02:35ID:???
>>184
$HTTP_GET_VARSは配列で、スクリプトに渡された変数と値が、この配列のキーと要素になりまそ。

例 x=1,y=2が渡された場合
$HTTP_GET_VARS["x"] が 1
$HTTP_GET_VARS["y"] が 2
になりまそ。たぶんね。
0186nobodyさん02/09/30 02:46ID:???
??
0187nobodyさん02/09/30 03:07ID:???
過去ログまだ見てないから
ガイシュツかどうか分からないけど
PHP4.1.0以降だったかな?では

$HTTP_GET_VARS -> $_GET
$HTTP_POST_VARS -> $_POST

に変わったから注意ね
018818702/09/30 03:17ID:???
あ 正式にoffになったのは4.2.0からなのかな
スクリプト配布サイトにとっては厄介な変更だけどね

http://www.php.gr.jp/history/release_4_1_0.html
http://www.php.gr.jp/history/release_4_2_0.html
0189nobodyさん02/09/30 11:15ID:???
if($ID = 'a' || $ID = 'b' || $ID = 'c')

と

if($ID = 'a|b|c')

の書き方は一緒なんでしょうか?
0190nobodyさん02/09/30 11:52ID:???
??
0191nobodyさん02/09/30 12:20ID:P9mskQbo
>>175
PHPの./configureで
lib/libjpeg.soのあるディレクトリ(--with-jpeg-dir=/usrまたは--with-jpeg-dir=/usr/local)
を指定した方がいいんじゃない。
0192nobodyさん02/09/30 12:22ID:P9mskQbo
>>189
"|"と"||"はまったく違うって
0193nobodyさん02/09/30 12:36ID:???
つーか、"=" が足りないような。。。

if($ID == 'a' || 'b' || 'c')
0194nobodyさん02/09/30 13:03ID:???
>>189
ちがうんちゃうんか?
$ID = "c";if($ID == 'a' || $ID == 'b' || $ID == 'c'){echo "ID:含";}
$ID2 = "c";if($ID2 == 'a|b|c'){echo "ID2:含";}
0195名無しさん02/09/30 13:05ID:???
???
0196nobodyさん02/09/30 15:05ID:???
???
0197nobodyさん02/09/30 18:01ID:???
複数行にわたる文字列があって、
その内の # から始まる行を削除したいのですが、
どのようにすれば良いでしょうか?
# から始まる行数は場合によって異なります。
0198hmk02/09/30 18:25ID:???
>>197
$str = ereg_replace("\n#[^\n]*\n", $str);
$str = ereg_replace("^#[^\n]*\n", $str);
$str = ereg_replace("\n#[^\n]*$", $str);
$str = ereg_replace("^#[^\n]*$", $str);

こんなんで出来るかなぁ。。。
きちんと書けば、正規表現一発でできるはずなんだけど。。。
上のが無理なら、文字列を改行でexplode()してからループさせる方法もある。
0199nobodyさん02/09/30 22:27ID:p1yTd7Ex
すんません、初歩的な質問させていただきます。
BASICにあったMID、(部分文字列コピー)関数のようなものは無いでしょうか…。
スマソ
0200nobodyさん02/09/30 22:32ID:???
>>199
あるよ
http://www.php.net/manual/ja/manual.php
0201名無しさん02/09/30 22:41ID:???
>>199
あるよ
http://www.php.net/manual/ja/manual.php
020219902/09/30 22:48ID:p1yTd7Ex
どこ?
http://www.php.net/manual/ja/ref.strings.php
0203nobodyさん02/09/30 22:53ID:???
strtolower--文字列を小文字にする
strtoupper--文字列を大文字にする
strtr--特定の文字を変換する
substr_count--副文字列の出現関数を数える
substr_replace--文字列の一部を置換する
substr--文字列の一部分を返す
trim-- 文字列の先頭および末尾にあるホワイトスペースを取り除く
ucfirst--文字列の最初の文字を大文字にする
ucwords-- 文字列の各単語の最初の文字を大文字にする
vprintf--フォーマットされた文字列を出力する
0204nobodyさん02/09/30 22:56ID:???
>>199
http://jp2.php.net/manual/ja/ref.strings.php
http://jp2.php.net/manual/ja/function.substr.php
0205nobodyさん02/09/30 22:59ID:???
猿か小学生に教えてるようなモンだな…
020619902/09/30 22:59ID:p1yTd7Ex
substr
ありがとうございます。
0207nobodyさん02/09/30 23:16ID:???
    ∧,,∧∩     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ミ*゚∀゚彡   < 先生!猿か小学生にも教えてあげて下ださい。
 .__ミミ_ ミ_    \______________________
 .\ ∪    \
  ||\_____.\
  ||\|| ̄ ̄ ̄ ̄||
 .   || ̄ ̄ ̄ ̄||
0208nobodyさん 02/09/30 23:25ID:???
    ∧,,∧∩     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ミ*゚∀゚彡   < 先生!猿がブラインドタッチでPHP書いてる姿、想像しちゃいました!
 .__ミミ_ ミ_    \______________________
 .\ ∪    \
  ||\_____.\
  ||\|| ̄ ̄ ̄ ̄||
 .   || ̄ ̄ ̄ ̄||
0209nobodyさん02/09/30 23:38ID:???
    ∧,,∧∩     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ミ*゚∀゚彡   < 先生!208さんがオモシロスギデス。こんにゃろ。
 .__ミミ_ ミ_    \______________________
 .\ ∪    \
  ||\_____.\
  ||\|| ̄ ̄ ̄ ̄||
 .   || ̄ ̄ ̄ ̄||
0210nobodyさん02/10/01 01:06ID:???
    ∧,,∧∩     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ミ*゚∀゚彡   < 先生!>>208が「こんにゃろ」とか言って可愛過ぎます!
 .__ミミ_ ミ_    \______________________
 .\ ∪    \
  ||\_____.\
  ||\|| ̄ ̄ ̄ ̄||
 .   || ̄ ̄ ̄ ̄||
0211nobodyさん02/10/01 02:05ID:???
    ∧,,∧∩     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   ミ*゚∀゚彡   < 先生!そろそろPHPの授業をはじめてください。
 .__ミミ_ ミ_    \______________________
 .\ ∪    \
  ||\_____.\
  ||\|| ̄ ̄ ̄ ̄||
 .   || ̄ ̄ ̄ ̄||
0212nobodyさん02/10/01 07:41ID:qB96ooZo
>>197-198
> きちんと書けば、正規表現一発でできるはずなんだけど。。。

一発じゃマッチング順の問題で失敗する条件があるみたいです。2回に分ければ正しく動く置換が組み立てられます。

$str=preg_replace('/^\s*#[^\n]*\n?/', '',
preg_replace('/\n\s*#[^\n]*/', '', $str));

---
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
0213nobodyさん02/10/01 08:01ID:qB96ooZo
>>177
>.phpを設定時間がきたら起動さす方法はありますか? cron以外なので無理かな・・・。

pcntl_fork して後は寝て (sleep) 待つ、という方法ではいかが。つまり、cron 相当の作業を PHP で書いちゃえば良いってことですな。
0214nobodyさん02/10/01 09:39ID:2iQ2koto
index.html内にある

<!--banner-->

というタグが、某ディレクトリ内にある画像に、ランダムで置き換わる際の
PHPスクリプトを教えて頂けないでしょうか。
0215nobodyさん02/10/01 11:06ID:2iQ2koto
要はアフリエイトです

$rand = ???????????????
$pic01='<img src=$rand width="468" height="60">';
echo ereg_replace ("<!--banner-->",$pic01,$pic01);
のようになると思うんですが
特定の画像が出た時に特定のリンクがうまく行かなくて
0216nobodyさん02/10/01 13:20ID:???
$rand = ??????????????? の後に;がないよ。
つかこの文章で動すか?特定のリンクの変数は?よくわからないす。ゴメソ
0217nobodyさん02/10/01 13:33ID:???
>>215
> echo ereg_replace ("<!--banner-->",$pic01,$pic01);
これって、意味あるんか?
ereg_replace(string pattern, string replacement, string string)だから
$pic1に<!--banner-->が含まれていとすると置き換えようがない
仮に$randが"??<!--banner-->???"だったりすると、
結果は、
<img src=??<image src=??<!--banner-->??? with="468" height="60">??? with="468" height="60">
みたいに変にならんか。
やりたいことは間違いなく違うだろうが。
0218nobodyさん02/10/01 14:20ID:q/Y1XH55
>>216-217
???????は変数
よく分からないのでもうやめときます
0219nobodyさん02/10/01 14:34ID:???
>>215>>218
何がしたいのか詳しく書くといいですよ。
ここの先生達は猿でも教える事ができす。
0220nobodyさん02/10/01 15:07ID:???

うきゃ?うききき、うーきうきうきー!
うきぃぃ・・・・。
0221hmk02/10/01 15:18ID:???
>>215
文字列に変数が含まれている場合には、ダブルクォートでくくらないと駄目でした。
$pic01 = "<img src=\"${rand}\" width=\"468\" height=\"60\">";
0222nobodyさん02/10/01 15:26ID:???
>>221
だから、元質問者はシングルクォートで囲ってますがな。
0223hmk02/10/01 15:38ID:???
>>222
ん?どーゆーことじゃ?
022422202/10/01 15:44ID:???
>>223
だから、
$a = '"';
は有効で、
$b = """;
 はNGになるから、
$b = "\"";
となる。
http://pc.2ch.net/test/read.cgi/php/1011550860/l50
の方がいいかも。
0225名無しさん02/10/01 15:53ID:???
PHPくだ質スレッドが欲しい。
ウザすぎ。
022622202/10/01 15:54ID:???
>>223
スマソ。
変数の展開の話してたんね
鬱だし能、逝ってくる
0227nobodyさん02/10/01 15:54ID:???
>>224
いや、シングルクォートで括ると変数を展開してくれないのではなかったかいのぉー。
と>>221は言いたいのではないかいな。
0228nobodyさん02/10/01 15:55ID:???
>>222は勘違いをしているのでは。
>>221は"$hoge"と'$hoge'の違いについて話しているようだが
0229nobodyさん02/10/01 15:56ID:ITTNSseG
PHPの基礎の話でここまで盛り上がるとはなさけなや
0230nobodyさん02/10/01 15:57ID:2aPoU4IE
http://yahooo.s2.x-beat.com/
0231hmk02/10/01 15:58ID:???
>>224
儂がいいたかったのは、
$name = "内山怜也";
$te_1 = 'I love ${name}.';
$te_2 = "I love ${name}.";
echo $te_1; // I love ${name}.
echo $te_2; // I love 内山怜也.
ちゅーこった。

0232nobodyさん02/10/01 16:03ID:???

このレベルで引っかかっているようでは
PHPだろうがPerlだろうがASPだろうが
何やってもダメなものは駄目。
0233nobodyさん02/10/01 16:05ID:???
もうちょっとプログラミングは何かということ
から勉強しないと >>232 の言う通りだね。

とりあえずこのスレはブックマークから外します。
役にたつ質問無さすぎ。
0234nobodyさん02/10/01 16:13ID:???
全角数値を半角数値に変換したいのですが、何かよい関数ってあります?
0235名無しさん02/10/01 16:16ID:???
>>234
あるよ
http://www.php.net/manual/ja/manual.php
0236nobodyさん02/10/01 16:32ID:???
>>235
まにゅあるみろと・・・。
2ちゃんの意味ないな。(; ´Д`)スレ腐敗するわけだ
0237nobodyさん02/10/01 16:40ID:???
>>236

「2ちゃんの意味」って何だよ?(藁
基礎を学ぼうとせず、ただ結果のみを求める「教えて君」が
叩かれるのは当然だろ、氏ね。
0238nobodyさん02/10/01 16:49ID:???
$hoge=str_replace("0","0",$hoge");
$hoge=str_replace("1","1",$hoge");
$hoge=str_replace("2","2",$hoge");
$hoge=str_replace("3","3",$hoge");
$hoge=str_replace("4","4",$hoge");
$hoge=str_replace("5","5",$hoge");
$hoge=str_replace("6","6",$hoge");
$hoge=str_replace("7","7",$hoge");
$hoge=str_replace("8","8",$hoge");
$hoge=str_replace("9","9",$hoge");
0239nobodyさん02/10/01 16:51ID:???
>>236
調べもせずに教えて君
逆ギレ教えて君
腐敗してんのはあんたのあたま。
0240hmk02/10/01 16:59ID:???
>>234 の質問に対する答えとして、>>235は妥当だと思うぞ。
「何かよい関数あります?」だから、ある/ないで答えればいいじゃん。
あるとわかれば、234は自分で調べるだろ。
0241nobodyさん02/10/01 17:02ID:???
>>238
それでもいいけど、
$str = "123456789";
 $str_from = array("0","1","2","3","4","5","6","7","8","9");
$str_to = array("0","1","2","3","4","5","6","7","8","9");
$str = str_replace($str_from, $str_to, $str);
 のほうがスマートかも。

$str = mb_convert_kana($str, "n");
が一番楽だけど。
024223402/10/01 17:04ID:???
どこかのHPで「mb_conver_kana」という関数で変換できる、ということまでわかったんですが
うまく逝かなかったので、別の方法があれば聞こうと思って、てっとりばやく1行質問してみたんです

$str = mb_conver_kana($var, 'AKHV');
|_ r 全角英字を半角に
R 半角英字を全角に
n 全角数字を半角に
N 半角数字を全角に
a 全角英数字記号を半角に
A 半角英数字記号を全角に
s 全角空白を半角に
S 半角空白を全角に
k 全角カタカナを半角に
K 半角カタカナを全角に
h 全角ひらがなを半角に
H 半角ひらがなを全角に
c 全角カタカナを全角ひらがなに
C 全角ひらがなを全角カタカナに
V 濁点を 1 文字全角に(K、H と一緒に使用)

この関数はPHPの標準ではないですよね?
0243名無しさん02/10/01 17:05ID:???
そんな事情こっちが知るはずないだろ?
0244hmk02/10/01 17:07ID:???
>>242 なぜうまく逝かない?PHPのバージョンはいくつニダ?
024523402/10/01 17:10ID:???
>>244 PHP-4.0.6です
0246nobodyさん02/10/01 17:16ID:???
>>242
「てっとりばやく」が一番手間がかかった罠
0247hmk02/10/01 17:17ID:???
それなら出来そうなもんだが、、、
なにか特別なエラーがでないのなら、あとは文字コードの問題くらいかなぁ。
儂はPHP3しかつかったことないので詳しく知らんが。
024823402/10/01 17:26ID:???
>>246
ですね( ´∀`)

>>247
PHP3でできるなら、4でもできますよね
原因調べてみます

ありがとんヽ(´ー`)ノ
0249hmk02/10/01 17:34ID:???
>>248
PHP3だとmb_conver_kana()は使えないぞ。
0250nobodyさん02/10/01 17:41ID:???
mb使えるようにコンパイルしてないとかなら笑えないけどなー
025123402/10/01 17:43ID:???
「t」が抜けてた・・・(;´д`)ハァハァ

○→mb_convert_kana
×→mb_conver_kana

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k05.htm
ここのHP参考にしてたんだけど、「t」がなかった・・・
やられたヽ(`Д´)ノ ウワァァァン

いろいろとご迷惑を(略
0252nobodyさん02/10/01 17:47ID:???
>>251
氏ね

エラーメッセージは素人判断せずに全文コピペしろと口を酸っぱく…
0253nobodyさん02/10/01 17:47ID:???
Call to undefined function
云々と出ただろうに。。。
0254nobodyさん02/10/01 17:49ID:???
改造工房で回答が得られなかったので、ここで質問させて頂きます。

レッツPHPのスクリプトの改造で悩んでいます。
同一ホストからの連続投稿に時間制限を設けたいのですが(例えば一度書き込んだら
その後30分は書き込みできないようにする)、どこに何を書き込めば解決するでしょうか。
ソースは下記のものになります。
ちなみにPHPのバージョンは4.2です。

http://php.s3.to/simple/#short
025523402/10/01 18:05ID:???
>>252
コピペでやられたんです
参考に元ページに既に「t」がなかった・・・(T-T)

ほんと色々とありがとん
0256hmk02/10/01 18:05ID:???
>>254
掲示板のデータファイルに、ホストのIPを一緒に書き込んでおけ。
そして、同ホストが前回書き込んだ時刻を参照しろ。
これが分からなかったら、再度、改造工房にageることですな。
0257hmk02/10/01 18:15ID:???
>>254
クッキイを使う方法もあるぞ。
0258login:Penguin02/10/01 22:00ID:???
>>254
IPでの制御はお勧めできない。
やっぱCOOKIEがBEST。
0259nobodyさん02/10/01 22:45ID:???
>>255
自分も一回、それではまりますた。。
同じところのコピペしたんすね。
0260nobodyさん02/10/02 00:42ID:???
>>258
「COOKIEを使用しない」にしていた場合の対策はありますか?

そう考えるとIPで制御してもいいと思うのですが、どうでしょう。
IPの場合でもダイヤルアップでころころIP変わるとか、プロキシで端末を特定できないとかの問題はあるので
一長一短だとは思いますが。
0261hmk02/10/02 01:22ID:???
>>260
クッキィできない端末からは、書き込ませないようにすれば良いではないか。
0262nobody02/10/02 01:32ID:???
どなたか、教えてください。
アンケートを取るフォームを作っていますが、そのアンケートの設問は「アンケート設問データ」によって
動的に変わります。
そのため、フォームのラジオボタンの名前はデータを読みながら「bottonxx」とxxの部分に連番を振りながら
「botton1,botton2」とつけています。
これを、受け取る側のプログラムで部品名をどのように編集し、セットされた内容を取得したらいいのかわかりません。

"botton".idx1では、そのidx1が1のとき、フォームでセットされたbotton1の内容は取得できないのでしょうか?

皆さん、このように、動的に名前の物の内容はどのように取得されているのでしょうか?

よろしくおねがいします。
0263nobodyさん 02/10/02 01:59ID:???
説明がいまいちわかりづらいのだが、、、
ある文字列の変数は$$で取れるよ、たぶん

$str = "botton".$idx1;
内容 = $$str; //つまり$botton1の中身

0264hmk02/10/02 02:06ID:???
>>262

>"botton".idx1では、そのidx1が1のとき、フォームでセットされたbotton1の内容は取得できないのでしょうか?
>皆さん、このように、動的に名前の物の内容はどのように取得されているのでしょうか?
このへんの文章の意味がわかりまそん。

アンケートとるなら、
<form action="">
設問1:美しいのはどっち?<br />
<input type="radio" name="mondai[1]" value="1" checked="checked" />菊川怜<br />
<input type="radio" name="mondai[1]" value="2" />内山怜也<br />
設問2:若いのはどっち?<br />
<input type="radio" name="mondai[2]" value="1" checked="checked" />菊川怜<br />
<input type="radio" name="mondai[2]" value="2" />内山怜也<br />
</form>
フォームをこんな風にしといて、

<?php

$answer_array[1] = 2; // 例えばクイズだったら、
$answer_array[2] = 2; // 正解を配列にいれとくなりしてから、
for (reset($mondai); list($mondai_num, $mondai_ans) = each($mondai) {
if ($answer_array[$mondai_num] == $mondai_ans) {
echo "設問 ${mondai_num} は正解。";
} else {
echo "設問 ${mondai_num} は氏ね。";
}
}

?>
でいいんじゃねえの。
0265hmk02/10/02 02:09ID:???
要は配列をつかいなさいってこった。
026626202/10/02 03:21ID:???
夜遅くに質問したのに、ありがとうございました。
>263さん
ありがとうございました。無事に、完成させる事ができました。
本当に、感謝感謝です。

>hmkさん
詳細に書いてもらって、ありがとうございました。
配列を使いたかったのですが、ラジオボタンや、チェックボックスに未選択がないか、
Javascriptでチェックしなければならず、配列で名前をつけた時(hogehoge[])に、
formhoge.hogehoge[].checked
と、書くとエラーになってしまったので、それぞれ名前をつける方法をとりました。

時間がなくって、苦し紛れな作り方になったのですが、助かりました。
ありがとうございました。
0267hmk02/10/02 03:33ID:???
>>266
ちなみに儂の場合、エラーを回避するためelement[n]で参照するようにしてました。参考までに。
026826002/10/02 07:53ID:???
>>261
なるほど。そういう考え方ですか。

表示時にCOOKIEの使用可否をチェック
↓
COOKIEが取得できないなら、書き込みフォームを表示しない
または、書き込みできない旨表示

とかもいけますね。
ありがとうございます。
026925402/10/02 11:18ID:???
>>256-261

ありがとうございます。とりあえず、cookieを使う方向でやってみようと思います。
ただ、cookieを使う方法が分からないです・・・・
どこに何を記述すれば解決するでしょうか?
教えてちゃんで本当にすみません。
0270hmk02/10/02 14:59ID:???
>>269 setcookie()なんてのはなかったっけ?
0271名無しさん@お腹いっぱい。02/10/02 17:18ID:???
マニュアル見ようよ・・・
0272nobodyさん02/10/02 19:49ID:???
setcookie()
http://jp.php.net/manual/ja/function.setcookie.php
027325402/10/02 20:14ID:???
>>270-272

ありがとうございました。何とか解決できそうです。
0274nobodyさん02/10/02 23:11ID:N6nWPgxI
4.2.4はいつ公開されるんだろうね。
0275nobodyさん02/10/02 23:16ID:???
>>274
開発メンバは4.3もしくはPHP5に向いているとおもわれ
0276age02/10/03 14:13ID:???
imgフォルダ内の画像をランダムに表示させるスクリプトは
どう書けばいいんでしょうか?
ただ画像を表示させるだけではダメです
画像にリンクをつけたいんです。
ご伝授宜しくお願い致します。
0277nobodyさん02/10/03 16:18ID:???
>>276
http://php.s3.to/bbs/up/randam.phpsを改造
-----------------------------------------
$folder = "./img/";

$handle = opendir($folder);
while ($file = readdir($handle)) {
if (!is_dir($file) && preg_match("/\.(gif|jpe?g|png)$/i",$file)) {
$filelist[] = $folder.$file;
}
}
closedir($handle);

mt_srand((double)microtime()*1000000);
$randval = mt_rand(0, (count($filelist)-1));

echo "<A href=\"$filelist[$randval]\"><IMG src=\"$filelist[$randval]\"></A>";
------------------------------------------
0278nobodyさん02/10/03 16:32ID:???
>>277
ご苦労さん。ところでそのスクリプトを>>276な質問をするヤシが
それなりに使いこなしてくれると思う?
このようにやったけどうまくいかね、教えろ。
ってならまだわかるんだけどな。
0279nobodyさん02/10/03 16:49ID:cJeLz4gO
>>276
実際にやってるサイトを見つけて、その管理者に聞けば?
0280age02/10/03 17:14ID:???
>>277
リンクはURLのほうがいいんですが・・・
すいません、ごめんなさい!
0281nobodyさん02/10/03 17:31ID:???
それくらい自分でどうにか汁!
0282ノンノン02/10/04 11:39ID:rtjubDTm
セッションを組み込んだフォームを作成中で、入力エラーがあった場合に
送信ボタンを押すとエラーページを表示させるようにさせたのですが、
そこからまたフォームへ戻ると入力された内容がすべて消えてしまいました。
Javascriptのhistory.back()やブラウザの[戻る]のどちらも同じ現象です。
セッションを外すとそういうことは起きません。

エラー表示はページを変えずにJavascriptでも可能ですが、Javascriptを
無効にしている人もいるのでできればそれは使いたくないんです。
こういった場合、どうすれば良いのでしょうか。
0283nobodyさん02/10/04 11:51ID:zNdIxOGz
PERL初心者です(まだ1週間)
ファイルUPするのに<input type=file>
でPOSTすると
C:\Documents and Settings\Administrator\デスクトップ\プログラム\readme.txt
以下のような文字列が帰ってきます。
これをファイイルの部分だけ切り出すのて?
正規表現初心者です。うーんどうすればいいの?
置き換えならともかくループして1文字ずつよむならともかく
わかりません。
0284nobodyさん02/10/04 12:07ID:???
>>282
php.iniのキャッシュがらみの設定を変更すると[戻る]でも内容を保持してくれる。
あと、戻るはやめてエラーページからフォームのページへ移るボタンを作って
入力内容を再表示させる方法の2通りあるよ。

本来ならキャッシュに頼らず、後者の方法で回避する方がいいと思うけど、
俺もついつい戻るにしてしまうからな。

>>283
正規表現でなくとも、最後の\以降の文字列を取る。ってかんじなら文字列関数で
何とかできるだろ。
ちなみにここはPHP質問スレだが、ひょっとしてマルチ?
0285ノンノン02/10/04 12:25ID:rtjubDTm
nobodyさん、ありがとうございます。

> php.iniのキャッシュがらみの設定を変更すると[戻る]でも内容を保持してくれる。
> あと、戻るはやめてエラーページからフォームのページへ移るボタンを作って
> 入力内容を再表示させる方法の2通りあるよ。

なるほど、フォームへ入力した内容を逆送信という形ですね。
ただ、レンタルサーバを利用しているので前者は無理かな?

で、一つ試しにやったことなんですが、セッションを外しても
また後にセッションを組み込んだページへ移行しても、セッションの
内容を保持してるんです。
なので、「フォームのページだけセッションを外して送信したら再び
セッションを組み込む」なんてことはできるような気がするんですが、
これって邪道でしょうか?
■ このスレッドは過去ログ倉庫に格納されています