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

【PHP】下らねぇ質問はここに書き込みやがれpart10

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/09/25(日) 02:03:45ID:nLUfPXhD
PHPに関するくだらない質問用すれです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
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/
0604nobodyさん2005/10/08(土) 14:06:42ID:???
>>594
指摘済みだがそれだと4文字以上もマッチする。
0605nobodyさん2005/10/08(土) 14:07:21ID:???
>>597
とりあえずSendmail叩くプログラムは拡張モジュールじゃない。
0606nobodyさん2005/10/08(土) 14:44:19ID:???
スレタイ見てクソスレかと思ったら、
おまいら親切だな。

質問があるんだが、もう少しROMしてFAQ調べて、
切り分けて、環境書いて聞くことにする。

良スレだ。
0607nobodyさん2005/10/08(土) 14:50:36ID:51SvXaJn
はじめまして。
PHPのプログラムを作りたいと思っているのですが、お教えいただきたいことがございます。
作りたいと思っているのは、HP上に申し込みフォームのようなものを作成し、送信していただいたものを
メールで受け取るというものです。
そこでネット上でその一連の処理のサンプルプログラムをもらったのですがフォームの項目などを
自分が望むように作り変えるには、どの部分を変更すればいのでしょうか?
そのサンプルをアップローダーにあげていますのでどなたかご教授願えませんでしょうか?

サンプルです↓
indexと完了画面と自作のライブラリが入っています。(この自作のライブラリの意味がまったくわかっていないのですが
何もいじらなくても大丈夫でしょうか?)

http://up.spawn.jp/file/up1899.lzh

私自身、付け焼刃の知識なのですが、indexの上のほうの入力チェックのところと、メール送信処理の部分と最後のフォーム
の項目を作るところを変更すればよいと思うのですが違うのでしょうか?
フォームの項目を追加したりするのは大丈夫だったのですが、最初の方の入力チェックのところを変更するとブラウザで
表示させても真っ白な画面になってしまいました。なぜでしょうか?

上記のサンプルに自分自身でフリガナの項目を追加したものも上げますのでどこが間違っているかご指摘願えませんでしょうか?

サンプルです↓(なぜか真っ白になってしまい、表示されない)
http://up.spawn.jp/file/up1900.lzh


phpファイルがupできないためlzhファイルに圧縮していることをお許しください。
長文失礼いたしました。


0608nobodyさん2005/10/08(土) 15:00:20ID:???
>>607
up1900.lzh に含まれる index.php だけど、10行目の先頭が全角スペースになってるね。
 if ( $_REQUEST[ "VALUE_KANA" ] == "" ) {
~~

半角スペースにすれば大丈夫だと思うよ。
php.ini の display_errors を On に設定すれば、真っ白ページではなく
ブラウザにエラーメッセージを表示してくれるので設定しておくといい。
0609nobodyさん2005/10/08(土) 15:31:05ID:???
昔の田舎の交番に居たお巡りさんくらい親切だな。
06106082005/10/08(土) 15:41:22ID:???
>>607
up1899.lzh の方も見てみた。おまいさんが書いた、
 indexの上のほうの入力チェックのところと、メール送信処理の部分と最後のフォームの項目を作るところを変更
で大丈夫。index.php 以外は触らなくてもいい。

ただ、元のスクリプト自体が結構いいかげんなので >>608 で書いた display_errors = On にすると
警告メッセージが一杯表示されてしまうので、
 display_errors = On
 error_reporting = E_ALL & ~E_NOTICE
の両方を設定するか、元のスクリプトを修正(こちらの対応が望ましい)した方がいい。
他にも mb_xxx の文字コード指定等、修正した方がいいところはあるけど、キリがないのでこの辺で。。。

>>609
暇だったもので。
06115972005/10/08(土) 16:50:54ID:wzJ6Bsx7
皆さんレスありがとうございます。
>>599>>603
phpinfoの一部をコピペします。

Configure Command './configure' '--with-apxs2=/usr/local/apache2/bin/apxs' '--with-gd' '--with-zlib' '--enable-mbstring' '--enable-trans-sid' '--enable-soap'

mbstring
Multibyte Support enabled
Multibyte string engine libmbfl
HTTP input encoding translation enabled
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) version 3.7.0

エラーメッセージらしきもの
Warning: mb_send_mail() [function.mb-send-mail]: Missing To: field in /usr/local/apache2/htdocs/php10/day04-1/sendmail.php on line 9

>>600 通りません。phpの下にextがありません。
06125972005/10/08(土) 16:51:49ID:wzJ6Bsx7
sendmail.php(本に載っているものそのままです)
<?php
$header_info="From: ".$_POST['_from']."\nContent-Type: text/plain;charset=ISO-2022-JP\nX-Mailer: PHP/".phpversion();
$body="■■".$_POST['_subject']."■■\n\n";
foreach($_POST as $key=>$value){
if(!strstr($key,"_")){
$body.="[".$key."]".$value."\r\n";
}
}
mb_send_mail($_POST['_email'],$_POST['_subject'],$body,$header_info);
header("Location: ".$_POST['_result']);
?>

ちなみにapacheを立ててやってます。sendmailのパスは/usr/sbin/sendmail -t -i -f〇○○@〇○○.co.jp (自分のアドレス)

どうでしょうか???
0613nobodyさん2005/10/08(土) 16:53:44ID:???
内部的に組み込まれた関数をcall_user_func()みたいに関数名を指定して呼び出したいのですが、
そんな関数はないのでしょうか?
06145972005/10/08(土) 16:57:05ID:???
追記
ちなみにwindowsでは同じプログラムでメールが送れました。
0615nobodyさん2005/10/08(土) 17:01:34ID:???
>>612
print_r($_POST);
06166032005/10/08(土) 17:05:13ID:???
>>611-612
エラーメッセージが Missing To: field なので
 mb_send_mail($_POST['_email'],$_POST['_subject'],$body,$header_info);
行で参照している $_POST['_email'] の中身が空なんだと思う。
sendmail.php を呼び出している側を見直してみたら?

とりあえずメールが送信できるかどうかのテストなら
 mb_send_mail('おまいさんのメールアドレス',$_POST['_subject'],$body,$header_info);
でテストはできるけれど。
0617nobodyさん2005/10/08(土) 17:48:11ID:???
>>613
「内部的に組み込まれた関数」をもう少し正確に。
スクリプト内部で定義した関数は、そのまま関数名で呼べるし
文字列に入ってる関数名でも呼べる手段がある。
そういうことを言いたいのじゃないと思うけど。
0618nobodyさん2005/10/08(土) 17:49:44ID:???
>>613
質問の意味は判らんが、可変関数かeval
06195972005/10/08(土) 17:54:17ID:wzJ6Bsx7
>>616
なんか説明不足ですみません。
このシステムはmail_input.phpからsendmail.phpを呼び出すプログラムなので
値はちゃんと渡されていると思います。さっきのエラーメッセージはsendmail.phpに直接アクセスしたときのものでした。
ちなみに
<?php mb_send_mail(アドレス,件名,本文); ?>
というプログラムにアクセスしてもメールは送られませんでした。
ということはやはり拡張関数がうまく機能していないのではないでしょうか?
また、各サイトを回ってみましたが、/usr/local/lib/php/extが無いという例はありませんでした。
やはりphpフォルダの下に、*.soを含むextフォルダが無いことが原因でしょうか?

0620nobodyさん2005/10/08(土) 17:59:41ID:???
>>619
簡単なスクリプトで
sendmailコマンド自体が叩けるかどうかをまず確認した方が。
0621nobodyさん2005/10/08(土) 18:13:31ID:???
>>619
phpinfo()のほうが詳しいが、$ php -mで組み込まれてるモジュールが見える。
上で言われてるように静的に組み込まれてるんだよ。そういう風にConfigurしてるんだから。
soが出来るのは --with-foobar=shared のように指定した場合だけ。

あと「渡されていると思います」って何?
06225972005/10/08(土) 18:14:37ID:???
>>620
すみません、もう少し詳しくお願いします。。。
0623nobodyさん2005/10/08(土) 18:18:06ID:???
>>619
>やはりphpフォルダの下に、*.soを含むextフォルダが無いことが原因でしょうか?
本当に>>603を読んだ上での発言なのか?
0624nobodyさん2005/10/08(土) 18:20:26ID:???
>>620
同感。fc4ならデフォでsendmail動いてるし、パスもiniそのままで通るはずだけどね。
06256232005/10/08(土) 18:25:39ID:???
sendmailのパスを書いてあるけど、これはphp.iniに
sendmail_path =/usr/sbin/sendmail -t -i -f〇○○@〇○○.co.jp
と設定しているって意味でいいんだよな?
phpが動作しているサーバーにログインして
echo "To: 送信先メールアドレス" | /usr/sbin/sendmail -f〇○○@〇○○.co.jp
で正常にメール(タイトル、本文は空)は届くのか?
0626nobodyさん2005/10/08(土) 18:28:29ID:???
>>622
ただ単にphpから、sendmailコマンドでメール送るだけのプログラムを書く。
文字通りそれだけ。
つーか、fc4の環境は知らんが、/usr/sbin/ なんていきなり叩けるのか?
06276132005/10/08(土) 18:46:34ID:???
>>617>>618
すみません、言葉足らずでした。
strlen()やarray_push()みたいに予め用意されている関数のことです。

自鯖ではMySQLを使っているのですが、レン鯖ではSQLiteな為、
関数呼び出しの度に場合分けするよりcall_user_func()みたいに指定して呼び出すことが出来れば
場合分けが1度ですみ楽だなぁと思ったもので・・・
0628nobodyさん2005/10/08(土) 18:46:44ID:???
なんにしてもPHPの問題じゃなさそうだね。
0629nobodyさん2005/10/08(土) 22:49:43ID:???
PHPでログインフォームを作成しています。
テキストボックスにパスワードなどを入れて、キーボードのEnterキーを
押すと、submitボタンがクリックしてログイン出来るというのが普通だと
思うのですが、なぜかEnterキーを押しても反応しません。
マウスで送信ボタンを押さないと。。

これってどうしてこうなるのでしょうか?なにかFormに設定や記述が必要なのでしょうか?
0630nobodyさん2005/10/08(土) 23:04:39ID:???
PHPでフォーム作ってんの?
HTMLで作ってんじゃないの?

テキストボックスにパスワードですか。

テキストボックスが複数あるとエンターで送信出来なかったりするらしい。
実験してないから知らんけど。

ユーザ名はテキストボックスで、パスワードはtype=passwordにしてみれば?


関係ないけど、
>submitボタンがクリックしてログイン出来る
日本語が変ですよ。
0631nobodyさん2005/10/08(土) 23:22:28ID:???
>>629
その辺はブラウザが行う動作なのでPHPは関係ないし、ブラウザ毎の振舞いの話なので
オマイさんの言う「普通」というのはありえないよ。
確かにそのように動作してくれるブラウザの方が多いとは思うけれど。
別のブラウザで試してみるか、動作しなかったブラウザをカキコしてみればだれか
追試してくれるかもね。
参考までに以下のブラウザでは大丈夫だったよ。
IE6 SP2、Opera8.01、Firefox1.0.7

確認なんだが、本当に submit ボタンなのか?
属性が button で javascript で submit しているとかではないよな?
0632nobodyさん2005/10/08(土) 23:28:22ID:???
一組のフォームタグの中にテキストボックスとボタンをきちんと配置してあれば
入力欄が複数あってもEnterキーで送信されると思うんだけどな。

あ、でもNetscape4.9ではダメだった。
06336302005/10/08(土) 23:33:44ID:???
>>632
やっぱそうなんだ。
ttp://www.tohoho-web.com/lng/199905/99050015.htm
ググってすぐ出てきたんだけど、ネスケだめだって書いてた。


てゆか別にエンターで送信出来なくてもいいじゃんね。
タブ→エンターとかで問題ない。
0634nobodyさん2005/10/08(土) 23:38:11ID:???
よく使う関数を定義するのと、別ファイルに用意して単にincludeしちゃうのとどっちが処理が早いでしょうか?中身によりますか?
0635nobodyさん2005/10/09(日) 01:03:28ID:???
ログインフォームとかだと問題無いが、チャットの入力窓とかだと、ENTERで押せないとキツいな。

「リターンキー」と言ってしまう中年でした
0636nobodyさん2005/10/09(日) 01:48:24ID:???
>597
$headerinfoの中身をってかその場所直にでもええけど
"From: [email protected]" ようはFrom: フィールド
だけにして試してみなされ。
0637nobodyさん2005/10/09(日) 02:48:10ID:???
スレ違いですけどよろしくおねがいします

あるテーブルの内容が

パターン表 { NO , CL1 , CL2 , CL3 } という4つの列で構成されていたとして
CL表 { CL , CLNAME } への参照をしています。(CL1〜3 references cl(cl) )

SQLで、CL1,CL2,CL3に対応するCLNAMEを結果として出力するには
どんなSQLがありますかね。。。orz

0638nobodyさん2005/10/09(日) 07:51:27ID:???
スレ違い
0639nobodyさん2005/10/09(日) 09:04:53ID:???
>>634
何故ベンチを取らないのか不思議だが

ファイルI/Oに構文解析という糞重い処理が、関数のコールより軽いわけが無い
何度もIncludeを繰り返すとかもうアホかと
ただし速ければいいというわけじゃなく意味的に関数にふさわしいかどうかは考慮する必要がある
0640nobodyさん2005/10/09(日) 09:29:10ID:???
本人も判ってるっぽいけど状況や要件によるだろうなぁ
そういや今読んでるAjaxACのソースでもメソッド内で
外部ファイル読んで(requireだが)たりするな
0641nobodyさん2005/10/09(日) 10:18:15ID:???
>>640
何度も呼ばれる処理をinclude()するのが関数よ
りはやいケースって例えばどんなですか?
コンパイル済みのをメモリにキャッシュ出来るけど
それでもinclude()のスタックは削れないし、そも
そもこれはファイルの中身によるというわけでは
ないし。ピンとこないです。
0642nobodyさん2005/10/09(日) 10:47:04ID:???
>>641
引数が100マンコ位あるんだろ
0643nobodyさん2005/10/09(日) 11:07:13ID:???
マンコはやばいなマンコは
0644nobodyさん2005/10/09(日) 11:12:59ID:???
スレ違いと認識してんのに、よろしくお願いしますとか言って書いてくヤツってどんなズ太い神経してんだろうな
0645nobodyさん2005/10/09(日) 12:09:35ID:???
やたら長いソースなら分割した方が速い
0646nobodyさん2005/10/09(日) 13:47:17ID:???
4G超えるようなソースを書かせる職場は辞めたほうがいいぞ
0647nobodyさん2005/10/09(日) 14:03:21ID:???
PHPはcreate_function()がクズ。なんとかならんかねアレ
0648nobodyさん2005/10/09(日) 14:10:53ID:???
いいこと思いついた。お前書いてZendにサブミットしろ
0649nobodyさん2005/10/09(日) 16:22:16ID:???
Perlは40000行と、それを3000行くらいで分割なら後者が8倍くらい速かったが、PHPで試すのマンドクセ
0650nobodyさん2005/10/09(日) 16:36:55ID:???
Perl厨アホとか言われるから黙っててくれまいか。
0651nobodyさん2005/10/09(日) 17:02:46ID:???
言いたいことは伝わるし間違ってないと思うが?
上の質問読まずにレスしてるか関数を知らないという、ただそれだけのことだろ
0652nobodyさん2005/10/09(日) 17:18:15ID:???
[a]
�麓b]

ファイル一覧を表示させようとしています。
ディレクトリ[a]の中にディレクトリ[b]があります。

$dh = opendir(".");
while(($entry = readdir($dh))){
 print"$entry\n";
}

↑のようなPHPファイルをディレクトリ[a]に置いて実行するとディレクトリ[a]のファイル一覧が表示されるのですが、
$dh = opendir("./b");
としたところ
.
..
しか表示されません。ディレクトリ[b]のファイル一覧を表示するにはどのようにすればよいでしょう?
0653nobodyさん2005/10/09(日) 17:20:50ID:???
>>652
bに何か入れろ
0654nobodyさん2005/10/09(日) 17:28:30ID:???
そういえば前から気になってたんだけど
ディレクトリ開いたときに入ってくる

.
..

って一体なに?
06555972005/10/09(日) 17:28:56ID:GtXpmFa3
皆さんレスありがとうございます。もう一度確認してみます。

あと、おそらく今回とは関係ないのかもしれないですが、
/usr/local/lib/php/extが無いっていうのはおかしくないのですか?
もしあとから動的に組込みたいときとか組み込めなくないですか?
0656nobodyさん2005/10/09(日) 17:30:46ID:???
>>654
前者はカレントディレクトリ、後者は1つ上のディレクトリ
06576522005/10/09(日) 17:39:03ID:???
[b]には.php .jpgファイルがいくつか入っています。
06586522005/10/09(日) 17:45:48ID:???
すみません自己解決しました。

is_fileだとjpgファイルは表示されないのですね。
0659nobodyさん2005/10/09(日) 17:54:54ID:???
>>658
表示されますよ。
どこかでミスをしているんでしょう。シャワーでもしてすっきりしてきませう
0660nobodyさん2005/10/09(日) 17:56:00ID:???
>>655
ディレクトリくらい必要なら作ればいいだけじゃないのか?
あと、どんなMakefile作ったかしらんがデフォだとLIBDIR/extensions/no-debug-non-zts-YYYYMMDD/*.soになるぞ
設定は自分の好みでやればいい
0661nobodyさん2005/10/09(日) 18:05:23ID:???
>>655
おかしくない
組み込める
06626552005/10/09(日) 18:57:30ID:???
もともとインストールしたときにextフォルダに*.soが入ってるんじゃないんですか?
0663nobodyさん2005/10/09(日) 19:38:02ID:???
質問する前にマニュアルくらい読んだら?
0664nobodyさん2005/10/09(日) 21:04:31ID:???
文章中のスペースとタブをすべて消すにはどうすればいいんですか?
0665nobodyさん2005/10/09(日) 21:13:02ID:???
>>664
正規表現を使う。正規表現について調べよう。
06665972005/10/09(日) 21:35:16ID:GtXpmFa3
>>616
<?php
mb_send_mail("自分のアドレス","件名","文章");
?>
でもメールは届きませんでした。

>>625
その意味で正しいです。

cat 適当なファイル | /usr/sbin/sendmail アドレス
でもダメでした。

>>626
/usr/sbinは行けます。(叩けるっていうのはアクセスできるという意味でしょうか)

>>636
やってみましたけどうまくいきませんでした。

ただ/var/log/maillogを見るとログは残っているのでsendmailの設定の問題でしょうか?
0667nobodyさん2005/10/09(日) 21:46:39ID:JXyGtMyG
Solaris にインストールしたいんですけどやり方を教えてください。
0668nobodyさん2005/10/09(日) 21:49:27ID:???
>>666

> >>625
> その意味で正しいです。
> cat 適当なファイル | /usr/sbin/sendmail アドレス
> でもダメでした。
> >>626
> /usr/sbinは行けます。(叩けるっていうのはアクセスできるという意味でしょうか)

つまり、sendmailコマンドを知らないということか・・・。
「適当なファイル」じゃなくて、 >>625 の通りのことをやって(もちろん To: アドレスは自分に)
メールが届くかどうかをテストする。

「叩ける」というのは、コマンドが実行できること。
lsとかで /usr/sbin ディレクトリが見えるとかじゃないよ。
>>626が言ってるのは、/usr/sbin/sendamail を nobody が実行できるの?ってこと。
0669nobodyさん2005/10/09(日) 21:54:08ID:???
>>667
make
06705972005/10/09(日) 22:18:47ID:???
>>668
コマンドラインで
echo "To: 送信先メールアドレス" | /usr/sbin/sendmail -f〇○○@〇○○.co.jp
でもRecipient names must be specified
と返ってきます。

sendmailをnobodyが実行できる、というのはパーミッションの問題でしょうか…?
一応755でした。
0671nobodyさん2005/10/09(日) 22:25:33ID:???
>>667
マニュアルのやり方で普通にコンパイルできるし
出来合いのパッケージもある

>>666
FC4でSendmail使うならネットワークと権限の適切な設定が必要
同じ事を繰り返してもダメよ >もう一度確認してみます
0672nobodyさん2005/10/09(日) 22:45:37ID:???
>>670
sendmailコマンドの使い方が間違っている。エラーメッセージにもその示唆がある。
さくっと探してみたけどいい解説ページが見つからなかったので、manの和訳のページを。
ttp://www.linux.or.jp/JM/html/sendmail/man8/sendmail.8.html
「sendmail コマンドライン to from echo」あたりでググっていくつかページを見れば
大体どういう使い方(方法は1つじゃない)をすればいいのか分かるんじゃないかなぁ。
06735972005/10/09(日) 22:47:11ID:???
>>671
え…そうなんですか?
少しぐぐってみました。
ttp://gapo.zive.net/sendmail/index.html
こんな設定ですか?
0674nobodyさん2005/10/09(日) 22:48:09ID:???
見てる限りConnection Refusedっぽいな。ログにあると思うけど。
いいかげんスレ違いなんで異動してもらいたい。
0675nobodyさん2005/10/10(月) 01:09:15ID:???
ちょ…親父が風呂ん中で寝てんだけど…。
0676nobodyさん2005/10/10(月) 02:55:51ID:9d+wLEX3
>>675
         _,,..,,,,_   
         / ,' 3  `ヽーっ  
         l   ⊃ ⌒_つ 
          `'ー---‐'''''" 
綺麗な顔してるだろ・・・死んでるんだぜ・・・それで・・・
0677nobodyさん2005/10/10(月) 02:56:12ID:???
風邪ひくぞ。
0678nobodyさん2005/10/10(月) 02:56:41ID:???
それ「で」?
0679nobodyさん2005/10/10(月) 07:59:41ID:???
漫画ネタじゃん、突っ込むなよ
0680nobodyさん2005/10/10(月) 09:44:42ID:???
相対パスを絶対パスに変えたいのですが、
どうしたらいいですか?

【URL】
http://www.example.com/aaa/index.html

【相対パス】
<img src="../bbb.jpg">
../bbb.jpg

【絶対パス】
<img src="http://www.example.com/bbb.jpg">
http://www.example.com/bbb.jpg
0681nobodyさん2005/10/10(月) 10:08:23ID:???

誰かがアクセスしてきたときとか、特定の作業を行ったときに鯖からbeep音を出したいのだが、
ncurses_beep って使えるの?

0682nobodyさん2005/10/10(月) 10:47:01ID:???
>>680
単純に
http://www.example.com/aaa/../bbb.jpg
これで使えるよ。
0683nobodyさん2005/10/10(月) 10:49:54ID:???
>>681
Windows環境(4.4.0)だとundefined functionだった。
0684nobodyさん2005/10/10(月) 10:59:19ID:???
>>683
Winって…当たり前だろ
06856812005/10/10(月) 15:32:06ID:???
ncurses_beepの件、

超過疎なロダ鯖なので、誰かがダウンロードしようとしたら「ピッ!」なんて鳴るといいかなと。

「あっ、お客さんだぁ!」 わぁいヽ(∇⌒ヽ)(ノ⌒∇)ノわぁい♪ ってな感じで・・・
0686nobodyさん2005/10/10(月) 15:35:48ID:???
>>685
ロダだったらどこかのロダを必要としてるスレに張れば賑わうよ
そのうち管理するのもだるくなる。。。
0687nobodyさん2005/10/10(月) 16:06:52ID:???
if($_COOKIE['rec']<time()) setcookie('rec',time()+1*24*60*60,time()+1*24*60*60);

と言う風にCookieを発行して、発酵されるのを確認したんだが、

if($_COOKIE['rec']<time()){
〜〜〜処理〜〜〜
}

が常に実行されてしまう。
$_COOKIEに値を確認したら何も値が入っていなかった。

鯖:XREA無料

ローカル(WinXP+Apache2)では正常動作してくれたんだが・・・・・・・

だれか解決法頼む。
0688nobodyさん2005/10/10(月) 16:11:42ID:???
>>687
isset()
0689nobodyさん2005/10/10(月) 16:25:40ID:???
>>688
ダメだ、$_COOKIE['rec']<time()を両方

(isset($_COOKIE['recountDay']) && $_COOKIE['recountDay']<time()) || !isset($_COOKIE['recountDay'])

にしたが実行されてしまう。
0690nobodyさん2005/10/10(月) 16:26:46ID:???
ミスったrecountDay→rec
実際のスクリプトでは間違ってないから大丈夫。
0691nobodyさん2005/10/10(月) 16:29:37ID:???
>>689
その条件文ならrecがなければtrueになるのは当然でしょ

0692nobodyさん2005/10/10(月) 16:33:15ID:???
>>691
Cookieが無い場合、若しくは現在時刻より以前の場合に実行したいんだ。
0693nobodyさん2005/10/10(月) 16:39:30ID:lawxVnGW
正規表現の質問ですが複数行にわたった記述をしてある場合にマッチさせるにはどうすればよいのでしょ
うか?
例:<TD align=left class=top colSpan=3 vAlign=bottom width=468>
対象文字列
</TD>
のような場合。
0694nobodyさん2005/10/10(月) 16:41:10ID:???
>>693
一気に読み込んで pregで複数行マッチ(mオプション)。
0695nobodyさん2005/10/10(月) 16:45:53ID:???
>>692
&&は||より優先度が高い。(マニュアルの 言語リファレンス/演算子/演算子の優先順位 より)
>>689の条件式だと、セットされてない場合は常にtrueになる。
まさしく希望通りに動作している。
0696nobodyさん2005/10/10(月) 16:47:27ID:???
>>692
そういう話か
.htaccessで
php_flag register_globals Off
とするか
$_COOKIE['rec']のかわりに$recを使って見て
0697nobodyさん2005/10/10(月) 16:50:28ID:???
>>693
とくに工夫の必要なし

>>694
複数行マッチはsじゃないこと?
06986872005/10/10(月) 16:57:53ID:???
IDが表示されないのか。気づかなかった

>>695
じゃあ括弧要らなかったな。

>>696
ダメだ、両方ともやったがCookieに値が入らない
06996872005/10/10(月) 17:03:43ID:???
ちょっと実行方法の詳細書くわ。

テキストカウンタのスクリプトだから、別スクリプトからrequireで読ませてる。
別スクリプトは一階層上で、Cookieの発行は確認した。

当然setcookie使うからファイルの先頭で読ませて出力させる前にCookie発行させてる。
0700nobodyさん2005/10/10(月) 17:13:03ID:???
>>698
コード的には if (empty($_COOKIE['rec'] || $_COOKIE['rec'] < time()) {} でOK
s151のデフォルト設定では動作したよ
error_reporting(E_ALL);
setcookie('rec', time()+60*60, time()+60*60, '/', 'hoge.s151.xrea.com');
var_dump($_COOKIE);


>Cookieの発行は確認した
通信をキャプチャして見たってこと?
Set-CookieヘッダがあるのにブラウザがCookieを返してないとか
0701nobodyさん2005/10/10(月) 17:14:45ID:???
続き

ブラウザがCookieフィールドを送ってるのに$_COOKIEがNULLとか
そういう状態?
0702nobodyさん2005/10/10(月) 17:17:13ID:???
>>700
だめぽ
if (empty($_COOKIE['rec']) || $_COOKIE['rec'] < time()) {}
0703nobodyさん2005/10/10(月) 17:35:39ID:8yA4547b
>>698
sageなければID付くよ
■ このスレッドは過去ログ倉庫に格納されています