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

【PHP】質問スレッドpart19【php】

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん04/07/16 07:12ID:KvHeypq/
・PHP全般の質問スレです。
・新規質問の方は上げてください。age進行でお願いします。
・質問する際には環境も明記。
・正しい日本語で分かりやすく。
・レスがつかないからって逆切れする厨お断り。
・解決しなくてもこたえてもらったら礼を。


■本家
 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-4


抜けているものがあったら補足願います
083082504/08/04 23:12ID:???
>>826
それは、PHPのバージョンがいくつから使えるんですか?
試してみたのですが、エラーでたんですけど・・・。

0831nobodyさん04/08/04 23:23ID:???
>>830
PostgreSQLを使うのにsybaseの関数を何故使うのか、ということだと思うのだが。
元質問の話に戻すと、まぁ、なんだ。おまいもマニュアル嫁。
PostgreSQL関係の関数って高々70個くらいだろ。
0832nobodyさん04/08/05 00:46ID:jHqBsTPN
>>829
とりあえずここ見て設定確かめろ
http://tsuttayo.sytes.net/php/char_trn/
0833nobodyさん04/08/05 01:20ID:???
会員制の掲示板を作ったとして、
その人がログインしているかどうか確かめることってできますか?
ID、PASSを入力してログインするとログインしている人の名前が出るとか・・・
またブラウザを閉じるとその人の名前が消えたり・・・
0834nobodyさん04/08/05 01:38ID:???
何もかもダメダメだな
0835nobodyさん04/08/05 02:45ID:???
マニュアルから逆引きの方法教えてください・・・
0836nobodyさん04/08/05 03:06ID:???
Parse error: parse error, unexpected $ in 94って何すか?
特にミスっている場所ないのですが・・・
0837nobodyさん04/08/05 03:14ID:???
>>833
cookieかsession
083883604/08/05 03:15ID:???
ちなみに文はこれです
<?php
$data = file($gdata);
$count = count($data);
for ($i=0;$i<=$count;$i++){
list ($idr,$passr,$lvr,$expr,$char,$winr,$loser,$hpr,$atcr,$defr,$masr,$dexr) = split( ",", $data[$i]);
if ( $id != $idr ){
if ($i == 1){
print " <OPTION value=$idr selected>$idr</OPTION>";
}else{
print " <OPTION value=$idr>$idr</OPTION>";
}
}
?>
0839nobodyさん04/08/05 03:15ID:???
>>836
ミスってなきゃエラーでねぇよ
0840nobodyさん04/08/05 03:19ID:???
これで満足?

<?php
$data = file($gdata);
$count = count($data);
for ($i=0;$i<=$count;$i++){
list ($idr,$passr,$lvr,$expr,$char,$winr,$loser,$hpr,$atcr,$defr,$masr,$dexr) = explode( ",", $data[$i]);
if ( $id != $idr ){
if ($i == 1){
print " <OPTION value=\"$idr\" selected>$idr</OPTION>";
}else{
print " <OPTION value=\"$idr\">$idr</OPTION>";
}
}
}
?>
084183604/08/05 03:23ID:???
まだまだ欲求不満ヽ(;´д`)ノ
(ちなみにexplodeてなんだろ)
0842nobodyさん04/08/05 03:31ID:???
正規表現いらないときはsplitよりexplodeのほうが高速

http://php.s3.to/man/function.explode.html
084383604/08/05 03:33ID:???
なるほどさんくす!
しかしエラーが一向に消えない・・・
0844nobodyさん04/08/05 03:34ID:???
94行目付近がこのソースなんだろ?
084583604/08/05 03:36ID:???
88 </TR>
89 </TBODY>
90</TABLE>
91</FORM>
92</CENTER>
93</BODY>
94</HTML>


_| ̄|○
0846nobodyさん04/08/05 03:38ID:???
どこかの } が足りないと思われ
ちなみに838のソースはforを閉じてないぞ
084783604/08/05 03:45ID:???
>>846
あり! '}'忘れてました(*´д`)
ifとforが同じ列だったんで分かりづらかったようです><
有難うございました^^
0848nobodyさん04/08/05 04:34ID:???
一つのプログラム文を複数にわたって使うやりかた・・・
どうだっけ?w
084984804/08/05 04:37ID:???
例えば

print "あいうえお";
print "かきくけこ";

上の二つを呼び出す文
085083604/08/05 04:47ID:???
<?php
print " <TD bgcolor=#ffffff align=center><SELECT size=1 name=getyou>";
$data = file($gdata);
$count = count($data);
for ($i=0;$i>=$count;$i++){
list ($idr,$passr,$lvr,$expr,$char,$winr,$loser,$hpr,$atcr,$defr,$masr,$dexr) = split( ",", $data[$i]);
print $idr;
if ( $id != $idr ){
if ($i == 0){
print " <OPTION value=$idr selected>$idr</OPTION>";
}else{
print " <OPTION value=$idr>$idr</OPTION>";
}
}
}
?>


ヒロシです。
上の文を作ってみましたが、$idrに変数が格納されません・・・。
0851nobodyさん04/08/05 04:53ID:???
>>848
何したいのかわからん

>>850
データに、 $idr に対応する部分あるか?
085285004/08/05 05:01ID:???
解ケツ!
forの不等号が反対でした!
0853初心者04/08/05 05:02ID:???
変数はブラウザを閉じない限りはずっと格納された状態なんでしょうか?
0854nobodyさん04/08/05 05:05ID:???
>>853
スクリプトが実行されている間のみかと(初期化しない限りは
0855初心者04/08/05 05:07ID:???
1ページ目で、変数を$Aに入れる
2ページ目で変数を$Bに入れる
3ページ目で$Aと$Bを表示させる
$Aはカラッポ、$Bにはちゃんと入ってる。。。
という現象です・・・
0856nobodyさん04/08/05 05:08ID:???
>>855
ページを切り替えるときにPOSTなりGETなりCOOKIEなりで渡してやらねば・・・
0857初心者04/08/05 05:10ID:???
ごめんなさい、GET、COOKIEについてはサッパリです・・・
POSTはこの状況じゃ使えないです。
0858nobodyさん04/08/05 05:12ID:???
>>857
とりあえず何がやりたいのかわからんが
example.php?A=$A&B=$B
こんな感じで呼び出してやればいいんでない?
0859nobodyさん04/08/05 05:13ID:???
>>853
サーバサイドとクライアントサイド・スクリプトの
違いについて勉強してこい。してきた上で
「シリアライズしてファイル化」について調べると
幸せになれるかもしれぬ。
0860nobodyさん04/08/05 05:20ID:???
>>855
それも課題なのだろうか…という疑問がちょっと沸いた。
それなら「セッション変数」「hidden」だな。
0861初心者04/08/05 05:27ID:???
とりあえずhiddenで解決できました。
しかしなぜ3ページ目まで変数が渡らないんだろう・・・
0862nobodyさん04/08/05 05:31ID:???
あたり前田のクラッカー
0863nobodyさん04/08/05 05:44ID:???
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting ']' in 〜 on line 35
0864nobodyさん04/08/05 05:58ID:???
print " <CENTER>$idrrが$dmgに餌をあげた!</CENTER><BR>";

この文何かおかしいかな?
これがエラーの原因なんだが
0865nobodyさん04/08/05 06:08ID:???
{$foo}
0866nobodyさん04/08/05 06:49ID:???
sjis馬鹿は死んでも治らない。
0867nobodyさん04/08/05 07:25ID:???
for文を使って数回同じ文を使いたいのですが
$Aが0または$Bが0になった場合抜け出したいのですが
どうすればよいですか?
086886704/08/05 07:34ID:???
for ($i=0;$i<=$A || $i<=$B;$i=$i+0){}
こんな文が使えるなんて初めて知りました><
0869nobodyさん04/08/05 08:08ID:???
> $i=$i+0
キモッ
while(...) でいいじゃん
0870nobodyさん04/08/05 08:15ID:???
>869
お前の方がよっぽどきもいわパゲッ!
0871nobodyさん04/08/05 08:24ID:???
> $i=$i+0
コスモを感じる
0872nobodyさん04/08/05 08:29ID:???
(=゚ω゚)ノィョゥ
クッキーの使い方教えてくださいおながいします

P.S マニュアル読んでもわかんねーよヽ(`д´)ノウワァァァァン
0873nobodyさん04/08/05 08:43ID:???
>>872
これ嫁
http://www.sra.co.jp/people/t-ishii/php_new/php4_new.html
087453604/08/05 09:04ID:???
おはよー。今日もマニュアルひき頑張ろうぜ。

>>869
>>871
お前ら言い過ぎw
0875nobodyさん04/08/05 09:06ID:???
while ($A != 0 and $B != 0)
0876軟式PHP04/08/05 09:07ID:???
>>874
他スレでの名前になってた。・゚・(ノ∀`)・゚・。
0877nobodyさん04/08/05 09:10ID:???
クッキーにa'b"cという文字を保存してそれを出力するとa\\\\\\\'b\\\\ってなってしまうのですが
どうしたらいいでしょうか?
0878nobodyさん04/08/05 09:14ID:???
$data = file($gdata);
$count = count($data);
$fp = fopen($gdata,"w");
flock ($fp,LOCK_EX);
for ($x;$x<=$count;$x++){
list ($idx,$passx,$lvx,$expx,$chax,$winx,$losex,$hpx,$atcx,$defx,$masx,$dexx) = split( ",", $data[$x]);
if ($x == $i2){
$expx = $expr;
$winx = $winr;
$losex = $loser;
fputs($fp, $data[$x]);

}elseif($x==$i3){
$expx = $exprr;
$winx = $winrr;
$losex = $loserr;
fputs($fp, $data[$x]);
}else{
fputs($fp, $data[$x]);
}
fclose ($fp);
}

データが消えてしまう・・・
何がおかしいんだろうか・・・
0879軟式PHP04/08/05 09:14ID:???
magic_quotes_gpcをOFFにしてみれ。
0880軟式PHP04/08/05 09:19ID:???
とりあえず添削を。
for ($x;$x<=$count;$x++)
$x=0ぐらいしる。

で、データが消えてしまうってどういう意味で言ってるのか分からないけど
fopen($gdata,"a")でやってみれ。
0881軟式PHP04/08/05 09:22ID:???
あとsplit(",",rtrim($data[$x]));も試してみちょくれ。
0882nobodyさん04/08/05 09:49ID:???
クッキーに保存されたa"b'cを抽出して出力するとa\\\\ になってしまうのはなじぇ?
0883軟式PHP04/08/05 09:56ID:???
>>882
エスケープされるから( ´−`)
0884nobodyさん04/08/05 09:59ID:???
どうやったらうまく出力できるでしょうか?
0885nobodyさん04/08/05 10:15ID:???
magic_quotes_gpcをoffにすることは できません。
で、stripslashesを使ってもうまくいきません。。。
0886nobodyさん04/08/05 10:21ID:???
>>862
懐かしいよ・・
0887nobodyさん04/08/05 10:23ID:???
>>886 >>862
学校の先生が言ってた
0888軟式PHP04/08/05 10:26ID:???
>>885
\だけ消したいならreplace使って消すといいよ。
0889nobodyさん04/08/05 10:35ID:???
>>885
>>magic_quotes_gpcをoffにすることは できません。
他の処理で使うからかな?それともoffにしたくてもphp.iniをいじれないからかな?

後者なら.htaccessで
php_flag magic_quotes_gpc Off
これも.htaccessが使用可能だければだけど
0890nobodyさん04/08/05 10:38ID:???
はい。クッキーにはa'b"cが保存されていて
$a = str_replace("\\","",$a);とやってみましたが
表示される文字はa'b になってしまう。。だぶるくおーてーしょん以降が表示されないのです。。
0891nobodyさん04/08/05 10:49ID:???
除去してもいいんじゃない?
$a = str_replace("\"", "", $a);
0892nobodyさん04/08/05 10:52ID:???
( ´゚д゚`)えーーー
除去でいいの?
なんか不安なんだけど
クッキーの文字自体に\があった場合はどうするのよ
0893nobodyさん04/08/05 11:03ID:???
ちなみにみなさんはフォームからの入力データをクッキーに保存させるときってどうしてますか?
0894nobodyさん04/08/05 11:10ID:???
俺は全てDB任せですが
0895nobodyさん04/08/05 11:13ID:???
>>894
クッキーもDBにお任せですか?
0896nobodyさん04/08/05 11:14ID:???
>>895
クッキーには最低限の情報を与えます
例えばID
あとはクッキーからIDを読み取り、そのIDの情報をDBから取り出します
0897nobodyさん04/08/05 11:15ID:???
ID変えたら終わりだろ
0898nobodyさん04/08/05 11:18ID:???
>>896
ホームラン級のバカだな
0899nobodyさん04/08/05 11:18ID:???
>>893
大事な情報なら自作暗号化アルゴリズムで暗号化します
0900nobodyさん04/08/05 11:19ID:???
>>896
コスモを感じる
0901nobodyさん04/08/05 11:24ID:???
あとは空気から雰囲気を読み取り、その雰囲気の情報を経験から取り出します
0902nobodyさん04/08/05 11:25ID:???
COOKIE嫌いなん?(俺も嫌いだが…)
PHP3か?
4ならSESSIONでも良いじゃないか。
0903nobodyさん04/08/05 11:37ID:???
俺もクッキーは大嫌いだね。
セッションが一番いい。
まぁセッションもクッキー使ってるわけだけど
0904nobodyさん04/08/05 12:27ID:???
何で嫌いなん?の何が嫌いなん?
090588204/08/05 12:38ID:???
どうやっても無理でしたので896さんの方法でやることにします。
結果は同じなのでま、いいか
0906nobodyさん04/08/05 12:43ID:???
>>892
urlencodeでも汁
0907nobodyさん04/08/05 12:45ID:???
>>905
これでどう?
if (get_magic_quotes_gpc()) {
$a = stripslashes($a);
}
0908nobodyさん04/08/05 12:48ID:???
>>878
}
fclose ($fp);
}
  ↓
}
}
fclose ($fp);
0909nobodyさん04/08/05 12:54ID:???
>>905
"を&quot;に変換する。
0910nobodyさん04/08/05 12:55ID:???
>>907無理です。。
\\\がついてくる

ちなみにIDだけ保存してDBから取り出すと
cryptされたパスワードが抽出されてしまってだめでした。。
0911nobodyさん04/08/05 13:08ID:???
>>910
907のstripslashesってまんまその為のものなんだが・・
ttp://jp.php.net/manual/ja/function.stripslashes.php

クォート取り除いた変数名と、クッキーに書き込んでる変数名が違うなんてことはないよね?
0912nobodyさん04/08/05 13:27ID:dWrkED0y
PHP4で処理の途中で何秒間か止めたりする方法って
ありませんでしょうか?
0913nobodyさん04/08/05 13:27ID:???
クッキーに保存されてる変数$aのデータはクオート取り除いたデータです
クッキーにはa%27b%26quot%3Bcと保存されていますので。。
で、$aをクッキーから抽出して表示するとa\\\'bと。。こうなってしまうのです
0914nobodyさん04/08/05 13:32ID:???
>>912
寝ろ
0915nobodyさん04/08/05 13:33ID:???
>>912
すりーぷ
0916nobodyさん04/08/05 13:35ID:???
そういえば
眠れない時に羊を数えるのってsheepがsleepに似てるからなんだよ
0917nobodyさん04/08/05 13:45ID:UeFJsakm
>>904
クッキー使えなくしているクライアントが結構いる。
クッキーからIEの穴つつけたりした。
091891204/08/05 14:04ID:dWrkED0y
>>914 >>915
ありがとうございました。
0919nobodyさん04/08/05 14:07ID:???
>>913
Windowsで動かしてます?
Shift-JISなら入力データをEUC-JPに変換、クォートしたらクッキーに書き込み、
クッキーから抽出したらShift-JISに戻して表示でどうです?
$a = mb_convert_encoding($a, "EUC", "SJIS");
0920nobodyさん04/08/05 14:51ID:???
自分自身のファイル名(index.phpなど)を取得できる関数ってありますか?
0921nobodyさん04/08/05 14:59ID:???
>>920
var_dump($_SERVER);
0922nobodyさん04/08/05 15:04ID:???
>>920
__FILE__
0923nobodyさん04/08/05 15:06ID:???
>>921-922
どうもです
0924nobodyさん04/08/05 15:12ID:???
>>916
へぇ〜 へぇ〜 へぇ〜 
3へぇ〜 
0925nobodyさん04/08/05 15:17ID:???
Unsupported operand types なんですが以下の変更で起きました (T-T)

$list1、$list2 ともに配列です。

$all = array_merge($list1, $list2);
  ↓
$all = $itemList1 + $itemList2;

なにが原因と考えられるでしょうか?
0926nobodyさん04/08/05 15:20ID:???
>>916
今日の一番にします。
092792504/08/05 15:36ID:???
自己解決

$list1 or $list2 が array の 他に undef の場合があった。

array_merge()は undef でもマージできるけど
+ だと 型違いでマージできず。
0928nobodyさん04/08/05 19:28ID:???
セッションってやたら便利だけど
キャッシュが効かないのが嫌。仕方ない?
0929nobodyさん04/08/05 20:01ID:???
>>928
そんなおまいのためにsession_cache_limiterですよ
レス数が900を超えています。1000を超えると表示できなくなるよ。