【PHP】下らねぇ質問はここに書き込みやがれpart10
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/09/25(日) 02:03:45ID:nLUfPXhDここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>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/
0606nobodyさん
2005/10/08(土) 14:44:19ID:???おまいら親切だな。
質問があるんだが、もう少しROMしてFAQ調べて、
切り分けて、環境書いて聞くことにする。
良スレだ。
0607nobodyさん
2005/10/08(土) 14:50:36ID:51SvXaJnPHPのプログラムを作りたいと思っているのですが、お教えいただきたいことがございます。
作りたいと思っているのは、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:???up1900.lzh に含まれる index.php だけど、10行目の先頭が全角スペースになってるね。
if ( $_REQUEST[ "VALUE_KANA" ] == "" ) {
~~
半角スペースにすれば大丈夫だと思うよ。
php.ini の display_errors を On に設定すれば、真っ白ページではなく
ブラウザにエラーメッセージを表示してくれるので設定しておくといい。
0609nobodyさん
2005/10/08(土) 15:31:05ID:???0610608
2005/10/08(土) 15:41:22ID:???up1899.lzh の方も見てみた。おまいさんが書いた、
indexの上のほうの入力チェックのところと、メール送信処理の部分と最後のフォームの項目を作るところを変更
で大丈夫。index.php 以外は触らなくてもいい。
ただ、元のスクリプト自体が結構いいかげんなので >>608 で書いた display_errors = On にすると
警告メッセージが一杯表示されてしまうので、
display_errors = On
error_reporting = E_ALL & ~E_NOTICE
の両方を設定するか、元のスクリプトを修正(こちらの対応が望ましい)した方がいい。
他にも mb_xxx の文字コード指定等、修正した方がいいところはあるけど、キリがないのでこの辺で。。。
>>609
暇だったもので。
0611597
2005/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がありません。
0612597
2005/10/08(土) 16:51:49ID:wzJ6Bsx7<?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:???そんな関数はないのでしょうか?
0614597
2005/10/08(土) 16:57:05ID:???ちなみにwindowsでは同じプログラムでメールが送れました。
0616603
2005/10/08(土) 17:05:13ID:???エラーメッセージが 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:???「内部的に組み込まれた関数」をもう少し正確に。
スクリプト内部で定義した関数は、そのまま関数名で呼べるし
文字列に入ってる関数名でも呼べる手段がある。
そういうことを言いたいのじゃないと思うけど。
0619597
2005/10/08(土) 17:54:17ID:wzJ6Bsx7なんか説明不足ですみません。
このシステムはmail_input.phpからsendmail.phpを呼び出すプログラムなので
値はちゃんと渡されていると思います。さっきのエラーメッセージはsendmail.phpに直接アクセスしたときのものでした。
ちなみに
<?php mb_send_mail(アドレス,件名,本文); ?>
というプログラムにアクセスしてもメールは送られませんでした。
ということはやはり拡張関数がうまく機能していないのではないでしょうか?
また、各サイトを回ってみましたが、/usr/local/lib/php/extが無いという例はありませんでした。
やはりphpフォルダの下に、*.soを含むextフォルダが無いことが原因でしょうか?
0621nobodyさん
2005/10/08(土) 18:13:31ID:???phpinfo()のほうが詳しいが、$ php -mで組み込まれてるモジュールが見える。
上で言われてるように静的に組み込まれてるんだよ。そういう風にConfigurしてるんだから。
soが出来るのは --with-foobar=shared のように指定した場合だけ。
あと「渡されていると思います」って何?
0623nobodyさん
2005/10/08(土) 18:18:06ID:???>やはりphpフォルダの下に、*.soを含むextフォルダが無いことが原因でしょうか?
本当に>>603を読んだ上での発言なのか?
0625623
2005/10/08(土) 18:25:39ID:???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:???ただ単にphpから、sendmailコマンドでメール送るだけのプログラムを書く。
文字通りそれだけ。
つーか、fc4の環境は知らんが、/usr/sbin/ なんていきなり叩けるのか?
0627613
2005/10/08(土) 18:46:34ID:???すみません、言葉足らずでした。
strlen()やarray_push()みたいに予め用意されている関数のことです。
自鯖ではMySQLを使っているのですが、レン鯖ではSQLiteな為、
関数呼び出しの度に場合分けするよりcall_user_func()みたいに指定して呼び出すことが出来れば
場合分けが1度ですみ楽だなぁと思ったもので・・・
0628nobodyさん
2005/10/08(土) 18:46:44ID:???0629nobodyさん
2005/10/08(土) 22:49:43ID:???テキストボックスにパスワードなどを入れて、キーボードのEnterキーを
押すと、submitボタンがクリックしてログイン出来るというのが普通だと
思うのですが、なぜかEnterキーを押しても反応しません。
マウスで送信ボタンを押さないと。。
これってどうしてこうなるのでしょうか?なにかFormに設定や記述が必要なのでしょうか?
0630nobodyさん
2005/10/08(土) 23:04:39ID:???HTMLで作ってんじゃないの?
テキストボックスにパスワードですか。
テキストボックスが複数あるとエンターで送信出来なかったりするらしい。
実験してないから知らんけど。
ユーザ名はテキストボックスで、パスワードはtype=passwordにしてみれば?
関係ないけど、
>submitボタンがクリックしてログイン出来る
日本語が変ですよ。
0631nobodyさん
2005/10/08(土) 23:22:28ID:???その辺はブラウザが行う動作なのでPHPは関係ないし、ブラウザ毎の振舞いの話なので
オマイさんの言う「普通」というのはありえないよ。
確かにそのように動作してくれるブラウザの方が多いとは思うけれど。
別のブラウザで試してみるか、動作しなかったブラウザをカキコしてみればだれか
追試してくれるかもね。
参考までに以下のブラウザでは大丈夫だったよ。
IE6 SP2、Opera8.01、Firefox1.0.7
確認なんだが、本当に submit ボタンなのか?
属性が button で javascript で submit しているとかではないよな?
0632nobodyさん
2005/10/08(土) 23:28:22ID:???入力欄が複数あってもEnterキーで送信されると思うんだけどな。
あ、でもNetscape4.9ではダメだった。
0633630
2005/10/08(土) 23:33:44ID:???やっぱそうなんだ。
ttp://www.tohoho-web.com/lng/199905/99050015.htm
ググってすぐ出てきたんだけど、ネスケだめだって書いてた。
てゆか別にエンターで送信出来なくてもいいじゃんね。
タブ→エンターとかで問題ない。
0634nobodyさん
2005/10/08(土) 23:38:11ID:???0635nobodyさん
2005/10/09(日) 01:03:28ID:???「リターンキー」と言ってしまう中年でした
0636nobodyさん
2005/10/09(日) 01:48:24ID:???$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:???何故ベンチを取らないのか不思議だが
ファイルI/Oに構文解析という糞重い処理が、関数のコールより軽いわけが無い
何度もIncludeを繰り返すとかもうアホかと
ただし速ければいいというわけじゃなく意味的に関数にふさわしいかどうかは考慮する必要がある
0640nobodyさん
2005/10/09(日) 09:29:10ID:???そういや今読んでるAjaxACのソースでもメソッド内で
外部ファイル読んで(requireだが)たりするな
0641nobodyさん
2005/10/09(日) 10:18:15ID:???何度も呼ばれる処理をinclude()するのが関数よ
りはやいケースって例えばどんなですか?
コンパイル済みのをメモリにキャッシュ出来るけど
それでもinclude()のスタックは削れないし、そも
そもこれはファイルの中身によるというわけでは
ないし。ピンとこないです。
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:???0647nobodyさん
2005/10/09(日) 14:03:21ID:???0648nobodyさん
2005/10/09(日) 14:10:53ID:???0649nobodyさん
2005/10/09(日) 16:22:16ID:???0650nobodyさん
2005/10/09(日) 16:36:55ID:???0651nobodyさん
2005/10/09(日) 17:02:46ID:???上の質問読まずにレスしてるか関数を知らないという、ただそれだけのことだろ
0652nobodyさん
2005/10/09(日) 17:18:15ID:???�麓b]
ファイル一覧を表示させようとしています。
ディレクトリ[a]の中にディレクトリ[b]があります。
$dh = opendir(".");
while(($entry = readdir($dh))){
print"$entry\n";
}
↑のようなPHPファイルをディレクトリ[a]に置いて実行するとディレクトリ[a]のファイル一覧が表示されるのですが、
$dh = opendir("./b");
としたところ
.
..
しか表示されません。ディレクトリ[b]のファイル一覧を表示するにはどのようにすればよいでしょう?
0654nobodyさん
2005/10/09(日) 17:28:30ID:???ディレクトリ開いたときに入ってくる
.
..
って一体なに?
0655597
2005/10/09(日) 17:28:56ID:GtXpmFa3あと、おそらく今回とは関係ないのかもしれないですが、
/usr/local/lib/php/extが無いっていうのはおかしくないのですか?
もしあとから動的に組込みたいときとか組み込めなくないですか?
0657652
2005/10/09(日) 17:39:03ID:???0658652
2005/10/09(日) 17:45:48ID:???is_fileだとjpgファイルは表示されないのですね。
0660nobodyさん
2005/10/09(日) 17:56:00ID:???ディレクトリくらい必要なら作ればいいだけじゃないのか?
あと、どんなMakefile作ったかしらんがデフォだとLIBDIR/extensions/no-debug-non-zts-YYYYMMDD/*.soになるぞ
設定は自分の好みでやればいい
0662655
2005/10/09(日) 18:57:30ID:???0663nobodyさん
2005/10/09(日) 19:38:02ID:???0664nobodyさん
2005/10/09(日) 21:04:31ID:???0666597
2005/10/09(日) 21:35:16ID:GtXpmFa3<?php
mb_send_mail("自分のアドレス","件名","文章");
?>
でもメールは届きませんでした。
>>625
その意味で正しいです。
cat 適当なファイル | /usr/sbin/sendmail アドレス
でもダメでした。
>>626
/usr/sbinは行けます。(叩けるっていうのはアクセスできるという意味でしょうか)
>>636
やってみましたけどうまくいきませんでした。
ただ/var/log/maillogを見るとログは残っているのでsendmailの設定の問題でしょうか?
0667nobodyさん
2005/10/09(日) 21:46:39ID:JXyGtMyG0668nobodyさん
2005/10/09(日) 21:49:27ID:???> >>625
> その意味で正しいです。
> cat 適当なファイル | /usr/sbin/sendmail アドレス
> でもダメでした。
> >>626
> /usr/sbinは行けます。(叩けるっていうのはアクセスできるという意味でしょうか)
つまり、sendmailコマンドを知らないということか・・・。
「適当なファイル」じゃなくて、 >>625 の通りのことをやって(もちろん To: アドレスは自分に)
メールが届くかどうかをテストする。
「叩ける」というのは、コマンドが実行できること。
lsとかで /usr/sbin ディレクトリが見えるとかじゃないよ。
>>626が言ってるのは、/usr/sbin/sendamail を nobody が実行できるの?ってこと。
0670597
2005/10/09(日) 22:18:47ID:???コマンドラインで
echo "To: 送信先メールアドレス" | /usr/sbin/sendmail -f〇○○@〇○○.co.jp
でもRecipient names must be specified
と返ってきます。
sendmailをnobodyが実行できる、というのはパーミッションの問題でしょうか…?
一応755でした。
0671nobodyさん
2005/10/09(日) 22:25:33ID:???マニュアルのやり方で普通にコンパイルできるし
出来合いのパッケージもある
>>666
FC4でSendmail使うならネットワークと権限の適切な設定が必要
同じ事を繰り返してもダメよ >もう一度確認してみます
0672nobodyさん
2005/10/09(日) 22:45:37ID:???sendmailコマンドの使い方が間違っている。エラーメッセージにもその示唆がある。
さくっと探してみたけどいい解説ページが見つからなかったので、manの和訳のページを。
ttp://www.linux.or.jp/JM/html/sendmail/man8/sendmail.8.html
「sendmail コマンドライン to from echo」あたりでググっていくつかページを見れば
大体どういう使い方(方法は1つじゃない)をすればいいのか分かるんじゃないかなぁ。
0673597
2005/10/09(日) 22:47:11ID:???え…そうなんですか?
少しぐぐってみました。
ttp://gapo.zive.net/sendmail/index.html
こんな設定ですか?
0674nobodyさん
2005/10/09(日) 22:48:09ID:???いいかげんスレ違いなんで異動してもらいたい。
0675nobodyさん
2005/10/10(月) 01:09:15ID:???0676nobodyさん
2005/10/10(月) 02:55:51ID:9d+wLEX3_,,..,,,,_
/ ,' 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:???単純に
http://www.example.com/aaa/../bbb.jpg
これで使えるよ。
0685681
2005/10/10(月) 15:32:06ID:???超過疎なロダ鯖なので、誰かがダウンロードしようとしたら「ピッ!」なんて鳴るといいかなと。
「あっ、お客さんだぁ!」 わぁいヽ(∇⌒ヽ)(ノ⌒∇)ノわぁい♪ ってな感じで・・・
0687nobodyさん
2005/10/10(月) 16:06:52ID:???と言う風にCookieを発行して、発酵されるのを確認したんだが、
if($_COOKIE['rec']<time()){
〜〜〜処理〜〜〜
}
が常に実行されてしまう。
$_COOKIEに値を確認したら何も値が入っていなかった。
鯖:XREA無料
ローカル(WinXP+Apache2)では正常動作してくれたんだが・・・・・・・
だれか解決法頼む。
0689nobodyさん
2005/10/10(月) 16:25:40ID:???ダメだ、$_COOKIE['rec']<time()を両方
(isset($_COOKIE['recountDay']) && $_COOKIE['recountDay']<time()) || !isset($_COOKIE['recountDay'])
にしたが実行されてしまう。
0690nobodyさん
2005/10/10(月) 16:26:46ID:???実際のスクリプトでは間違ってないから大丈夫。
0693nobodyさん
2005/10/10(月) 16:39:30ID:lawxVnGWうか?
例:<TD align=left class=top colSpan=3 vAlign=bottom width=468>
対象文字列
</TD>
のような場合。
0695nobodyさん
2005/10/10(月) 16:45:53ID:???&&は||より優先度が高い。(マニュアルの 言語リファレンス/演算子/演算子の優先順位 より)
>>689の条件式だと、セットされてない場合は常にtrueになる。
まさしく希望通りに動作している。
0696nobodyさん
2005/10/10(月) 16:47:27ID:???そういう話か
.htaccessで
php_flag register_globals Off
とするか
$_COOKIE['rec']のかわりに$recを使って見て
0698687
2005/10/10(月) 16:57:53ID:???>>695
じゃあ括弧要らなかったな。
>>696
ダメだ、両方ともやったがCookieに値が入らない
0699687
2005/10/10(月) 17:03:43ID:???テキストカウンタのスクリプトだから、別スクリプトからrequireで読ませてる。
別スクリプトは一階層上で、Cookieの発行は確認した。
当然setcookie使うからファイルの先頭で読ませて出力させる前にCookie発行させてる。
0700nobodyさん
2005/10/10(月) 17:13:03ID:???コード的には 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:???だめぽ
if (empty($_COOKIE['rec']) || $_COOKIE['rec'] < time()) {}
0703nobodyさん
2005/10/10(月) 17:35:39ID:8yA4547bsageなければID付くよ
■ このスレッドは過去ログ倉庫に格納されています