△▲ WebProg 初心者の質問 Part10 ▼▽

このエントリーをはてなブックマークに追加
932nobodyさん:04/11/26 05:04:24 ID:???
とりあえずHTTPの基礎の基礎を知った方がいいよ。
改行が連続二つ出力されたらそこでヘッダは終わり。あとは本文ね。
headerメソッドが\n\n出力するから、その後の出力は全て本文。

>>931
任意のタイミングで設定していいけど、Cookie:〜とLocation:〜は同じヘッダなんだから、
最終的には常に同時に出力するに決まってるでそ。
933nobodyさん:04/11/26 05:12:24 ID:???
>これだと、クッキー設定後にいくつか処理をしてリロードってわけには行かない

ヘッダは一つしか送れないんだから当然そう
何も考えずクッキー用のheaderメソッドのprintを遅らせればいい
934nobodyさん:04/11/26 05:20:20 ID:???
送信するデータの頭から改行の連続までの間にクッキーとロケーションのフィールドを
書けばいいだけなんで、難しく考える必要はないよ。

 そ   れ   よ   り   も  

レンタルサーバで練習しないように!!!
935nobodyさん:04/11/26 10:02:39 ID:???
サーバはEUC、HTMLのcharsetはShift_JISの場合、
ソースやログはEUCがいいのかな?
936nobodyさん:04/11/26 10:06:54 ID:???
サーバはEUCって何のことですか?
937nobodyさん:04/11/26 10:13:32 ID:???
何だろ?
938nobodyさん:04/11/26 10:21:06 ID:???
Apacheのdefault charset?
939nobodyさん:04/11/26 10:22:50 ID:???
940915:04/11/26 10:42:44 ID:deltuD8N
>>916 >>917
レス遅くなりましてすんません。
916氏のSAMBAについては、目からウロコ。
そういえば、そんな機能があったんだっけ、と。
917氏の互換ドライバについても、懸命に探してみます。
Telnetサーバでという方法は、どういう実現方法になるか、
探しながら、考えてみます。
ありがとうございました。
941nobodyさん:04/11/26 11:38:32 ID:???
>>935
知ったかイクナイ
HTMLがSJISなら全部SJISで統一したほうが楽
文字列処理するならEUCのほうがいいけど。
942880:04/11/26 11:57:10 ID:???
おい誰か>>885に返答してあげてくれ
943nobodyさん:04/11/26 12:05:49 ID:???
天気がいいのでちょっとドラクエ買ってきます
944nobodyさん:04/11/26 12:16:23 ID:???
>>885
うーむ、難しいなあ。

Apache::Original てのが perl モジュールだろうから、
それを全部 C で書き直して、
mod_original とかいうのを作って、
それを apache に読み込ませる、
という手は一応あるが....

まあ Apache::Original の中身による。
もしそいつのやってることが単純な URI 変換だったら、
mod_rewrite で工夫することで、同等の機能を実現できるかもしれん。
945nobodyさん:04/11/26 14:27:27 ID:???
>>941
2chはSJISだが化けないな。
946nobodyさん:04/11/26 14:39:33 ID:???
化ける理由が無いだろ
947nobodyさん:04/11/26 14:43:44 ID:???
サーバOSの文字コードがeucで、出力するhtmlのcharsetがsjis。
この条件は変えられないんだけど、ソースファイルやログの文字コードは
eucかsjisかどっちにすべきだろう。全部eucで、でhtml出力時にデータをsjisにするとか?
948nobodyさん:04/11/26 14:49:15 ID:???
OSの文字コードなんか関係ない。
949nobodyさん:04/11/26 14:54:22 ID:???
・perl 5.8 以上で use Encode できるなら、euc でも sjis でも OK

・perl 5.8 未満だと、ソースを sjis で書くときは注意が必要
注意するのが面倒な人は euc にしておくのが無難

・perl5.8 未満でパターンマッチする際の内部処理コードは
euc でも sjis でも問題が起きるが
euc の方が若干問題が起きる頻度が低い

・perl 以外の場合はよく知らない

・どの場合であっても「サーバの文字コード」は実際のところ全く影響しない
950nobodyさん:04/11/26 15:03:16 ID:???
>>949
ありがとうございます。perlは5.6.1です。
ReadParseしてjcode::convertでsjisにすると、いきなり半角カナが幾つか化けます。
それが嫌でjcode::convertを外したんですが、これじゃ何の解決にもならないですかね?
951nobodyさん:04/11/26 15:12:18 ID:???
必ずsjisで送られてくるとは限らない。
かといってconvertすると半角カナが化ける事があるわけだが。
952nobodyさん:04/11/26 15:15:27 ID:???
convert は入力文字列のコードを自動判別するが
半角カナが混じってると自動判別に失敗するからな

入力文字コードをsjisだと指定してやれば問題ない、と書こうかと思ったが、
sjis だと確定してるんだったらそもそも convert する必要がないのか
953nobodyさん:04/11/26 15:24:36 ID:???
>>952
sjisで来るとは限らないです。たぶん。。。
getCodeしてjcode'convert(*s, 'sjis', getCodeした文字コード);
とかすべきですかね?
954nobodyさん:04/11/26 15:39:12 ID:???
getcode も半角カナがあると同様に判別に失敗するので
事態はあまり改善しないと予想される
955nobodyさん:04/11/26 15:47:27 ID:???
実際の所、charsetがShift_JISなのにsjis以外で送信してくるブラウザってあるんかいな。
convertしなくていいんじゃね?
956nobodyさん:04/11/26 16:02:16 ID:???
とりあえず、ここのgetcode使ったらバケ症状が治まりました。
Encode使えたらなぁ・・。
ttp://www2d.biglobe.ne.jp/~gama/cgi/jcode/jcode.htm
957nobodyさん:04/11/26 17:40:04 ID:???
まあ文字コードはみんな悩まされる罠。
>>956そのサイトでコードが判定できなかった場合user_agentがWin or Macならsjisってやってるけど
俺も似たようなことやった事ある。
958nobodyさん:04/11/26 17:50:40 ID:???
>>955
Lynx は常に EUC で送ってたような。
w3m に乗りかえたので今どうなってるかは知らんが。
959nobodyさん:04/11/26 19:44:56 ID:ijhptfN0
FORMで送信した文字コードを変換するにはどうしたらいいんでしょうか?

<FORM action=c.exe method=post>
<TEXTAREA name=text rows=5 wrap=virtual cols=10></TEXTAREA>
<INPUT type=submit value=送信 name=Submit>
</FOMR>

このようにして文字列を送って、それを表示させると文字化けします。
検索してみると、perlのなんかを使って...というようなことばかり書いてあるんですが、
簡単には変換できないのでしょうか

このプログラムはLinux上で動いていて、EUCで出力されてます。
それをIEで実行させたいんです

perlも何も動いてはいません。
c.exeはCで書いてgccでコンパイルしたファイルです
960nobodyさん:04/11/26 19:51:44 ID:???
釣りか?
Cが書けるんだったら
http://pc5.2ch.net/test/read.cgi/php/1077753522/l50
961nobodyさん:04/11/26 19:55:01 ID:???
>>959
C用の文字コード変換ライブラリを探せば見つかりますよ。
もちろん自分で書いてもいいですし。
962nobodyさん:04/11/26 20:10:32 ID:???
>>959
Linuxなのにexeですか
963nobodyさん:04/11/26 21:04:38 ID:???
○  </FORM>
×  </FOMR>
964nobodyさん:04/11/27 00:11:02 ID:???
>>955
確かボーダフォンはEUCでもPOSTデータとかSJISで送ってきた覚えがある
昔すぎる情報かもしれんが。
965nobodyさん:04/11/27 09:07:34 ID:???
すみません。cgi設置初心者なんですが、上級者の皆様に
ご教授願いたくてやってきました。

ホームページに、メール送信フォームを置きたいのですが、
メール送信エラーになってしまいます。

この場合はどんな不都合が考えられるのでしょうか?

自分自身が、借りてるサーバーとスクリプトを借りたところの説明を読んで、
なんとなくあやふやなままにした
sendmailコマンドとやらなのかな
と思っています。
それか、フリーメールに送信先を指定したせいでしょうか?

サーバーに問い合わせてみるつもりですが、返信が遅いのでいてもたってもいられないです。

よろしくお願いしますm( __ __ )m
966nobodyさん:04/11/27 10:45:05 ID:???
>>965
メール送信エラーってのがどんなエラーか分からないと答えられないよ。
967965:04/11/27 12:13:05 ID:???
レスありがとうございます。

どうやって説明したらいいのかわからない位初心者なんですが、
"送信"のボタンを押すと用意してあったエラーページが出てくるんです。
テストモードの時はOKが出たのに、
なにが駄目なんでしょうか?
すみません。よろしくお願いします。
968nobodyさん:04/11/27 13:08:55 ID:???
>用意してあったエラーページ
???意味不明
969965:04/11/27 13:47:19 ID:???
>>968
ごめんなさい。

えっと・・・Internal Server Errorと区別した方がいいのかなと思って、
意味不明になってしまってごめんなさい。

Internal Server Errorが出るのは、cgiがうまく作動してないってことなんですよね?
それだったら本にたくさん書いてあるのですが
そのエラーじゃなくて、サーバーにうpしたhtmlのページが出てくるんです(これも意味不明ですよね;)

フォームに書き込み→書き込み確認→送信エラー
になってしまうんです。
970965:04/11/27 14:32:32 ID:???
今、サポートページを見ながら試行錯誤してたら、
送信処理
がないことに気づきました。

どうしたらいいのかわからなくなりました。
971965:04/11/27 14:45:20 ID:???
http://www.geocities.jp/happylights11/nurupo.txt

誰か助けてください(>_<)
972nobodyさん:04/11/27 14:48:30 ID:???
>>696
500エラーが出るのはヘッダを吐かずに終了した時や実行出来無かった時等。
「用意したエラーページ」が出るのはトラップされている予想されたエラーが発生した時。

で、何が原因なのかはCGI自体を見ないと分らないわけで、
とりあえず、そのCGIの名前を書け。
良くある所だとsendmailパスの設定が間違ってるとか
鯖の設定でsendmailの使用は許可されて無いとか。
973972:04/11/27 14:52:32 ID:???
>>971
って書いているうちに貼られてたかorz
974965:04/11/27 15:04:19 ID:???
>>973
長文ありがとうございます。m( __ __ )m

サーバーはqmailを採用してるとあったので・・・
(「qmail」には、「sendmail」互換のコマンド(ラッパー)があります。通常の利用では「sendmail」と同様に利用できますが、一部のオプションに制限があります。
と書いてありました。)

kentさんのサポートページの過去ログを見てたら
if (open(MAIL,"| $sendmail $mailto")) {

if (open(MAIL,"| $sendmail -h $mailto")) {
に変えてみ
とあったのですが、検索してもどこだかわからないのです。

何レスも使ってごめんなさい(>_<)よろしくおねがいしますm( __ __ )m
975nobodyさん:04/11/27 15:10:59 ID:???
エラーに表示される文言を正確に教えて
976965:04/11/27 15:23:35 ID:???
>>975
ERROR !
メール送信失敗

(>_<)何回やっても失敗しちゃいます
977nobodyさん:04/11/27 15:37:42 ID:???
駄目だこいつ・・・
978nobodyさん:04/11/27 15:43:20 ID:???
ワラタ

>>976
それはスクリプト自信が吐いてるエラーでしょ。
979965:04/11/27 16:20:23 ID:???
??(>_<;)
980nobodyさん:04/11/27 16:27:24 ID:???
>>965-979
CGI設置は板違いだぞお前ら。
981nobodyさん
>>965-979
■ 設置の方法がわからない場合には
CGI設置について質問
http://pc5.2ch.net/test/read.cgi/php/1054216089/15(テンプレ)