【PHP】質問スレッドpart24【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
04/11/01 04:09:15ID:???・新規質問の方は上げてください。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
0002nobodyさん
04/11/01 04:10:09ID:???【PHP】質問スレッドpart22【php】
http://pc5.2ch.net/test/read.cgi/php/1095326257/
関連スレ
Pear
http://pc5.2ch.net/test/read.cgi/php/985665522/
【PHP】Smarty【Template】
http://pc5.2ch.net/test/read.cgi/php/1047225437/
0003nobodyさん
04/11/01 04:11:02ID:???【PHP】質問スレッドpart23【php】
http://pc5.2ch.net/test/read.cgi/php/1096965398/l50
0004nobodyさん
04/11/01 04:15:49ID:???http://pc5.2ch.net/test/read.cgi/php/1094725439/l50
PukiWikiスレ Part1
http://pc5.2ch.net/test/read.cgi/php/1084907353/l50
[PHP-users MLヲチ6] 教えていただけませんか?
http://pc5.2ch.net/test/read.cgi/php/1096871691/l50
★負荷軽減対策委員会(Perl、PHP)★
http://pc5.2ch.net/test/read.cgi/php/1034645635/l50
PHPBB
http://pc5.2ch.net/test/read.cgi/php/1065334037/l50
PHPでPDF
http://pc5.2ch.net/test/read.cgi/php/983858078/l50
【PHP】Phrameを使う【フレームワーク】
http://pc5.2ch.net/test/read.cgi/php/1093238107/l50
【PHP】セッションについて語ろう!【PHP】
http://pc5.2ch.net/test/read.cgi/php/1064399467/l50
PHPエディタって、どうよ?
http://pc5.2ch.net/test/read.cgi/php/1079460638/l50
【PHP】自作スクリプト発表会
http://pc5.2ch.net/test/read.cgi/php/1017456911/l50
PHPで2chを真似てこんなモン作ってみますた。
http://pc5.2ch.net/test/read.cgi/php/1019451204/l50
PHP + PostgreSQL
http://pc5.2ch.net/test/read.cgi/php/983128806/l50
PHPで構築されたサイト
http://pc5.2ch.net/test/read.cgi/php/1085302527/l50
親切な人が初心者にPHPの関数を使い方を教える
http://pc5.2ch.net/test/read.cgi/php/1068190843/l50
0005nobodyさん
04/11/01 04:33:27ID:???キチンと入ってました・・・すみません
0006nobodyさん
04/11/01 11:33:35ID:ddZqjuW7PHP Version 4.3.9です
関係ないかもしれませんが、画像処理の GD Version 2.0 or higher
っていうのも入っています
よろしくお願いいたします
0007nobodyさん
04/11/01 11:33:43ID:???PHPプログラムから、
header( 'http://host/hoge.html' );
exit;
としてhoge.htmlへリダイレクトさせているのですが、
リダイレクト後、真っ白の画面が表示されてしまいます。
hoge.htmlはEUCコードで書かれていて、
<META>タグでもEUCコードの指定をしてます。
hoge.html 単体で開いたり、
白い画面からリロードすると正常に表示されました。
また、白い画面では、エンコードがShift_JISになっています。
PHPプログラムはEUCで書かれており、
これも問題ありませんでした。
となると、Location によるリダイレクトで、
Webサーバがデフォルト文字コードを
返しているような気がするのですが、
何かこの辺の症状でご存知の方いらっしゃいますでしょうか?
OS: Linux
WWW: Apache1.3.31
PHP: php4.3.8
よろしくお願いします。
0008nobodyさん
04/11/01 11:36:08ID:???0009nobodyさん
04/11/01 11:36:54ID:???○ header("Location: http://host/hoge.html");
00127
04/11/01 11:53:25ID:???すいません、ここに書き込むときの記述ミスでした。
実際は、
header( "Location: http://host/hoge.html" );
とかかれていますので問題ありません。
>>10
httpd.conf を見てみましたが、
文字コードの設定部分が見当たりませんでした。。
>>11
METAは
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
です。
HTML自体もEUCコードで書かれています。
0013nobodyさん
04/11/01 12:16:18ID:???001510
04/11/01 12:20:48ID:???鯖のレスポンス拾えばはっきりする話だよ
0016nobodyさん
04/11/01 12:22:44ID:???以下のように書きました。
ereg("^([^/]*)/?(.*)$",$i,$regs)
これがfalseになる事ってあります?
また、もっとスマートな書き方ってありますか?
0017nobodyさん
04/11/01 12:50:40ID:dvWt0D+J<?php
//error_reporting(E_USER_WARNING); // Warrningを出力しない
//----------------------------------------------------
// 定数の宣言
//----------------------------------------------------
define("BBS_DATA", "./bbs.csv");
define("BBS_COL_DATE", 0);
define("BBS_COL_NAME", 1);
define("BBS_COL_BODY", 2);
//----------------------------------------------------
// 関数の定義
//----------------------------------------------------
// AppendCsvFile関数
// 機 能 CSV形式のデータをファイルの末尾に追加する
// 引 数 $FilePath : 書込むファイルへのパス
// $CsvData : 書込みデータ
function AppendCsvToFile($FilePath, $CsvData) {
if ($FilePath == "") {
return false;
}
$fp = fopen($FilePath, "a");
if ($fp == 0) {
return false;
}
//作成日、名前、発言内容を「,」で連結し、レコードを作成する。
//また、レコード中の改行文字を取り除き行末に改行文字を付加する。
$temp = ereg_replace("[\r\n]", "", join(",", $CsvData)) . "\n";
fputs($fp, $temp);
}
0018nobodyさん
04/11/01 12:51:17ID:???// LoadCsvFile関数
// 機 能 CSV形式のファイルを2次元配列に読込む
// 引 数 $FilePath : 読込むファイルへのパス
// 戻り値 $CsvData : 読込んだテキストの2次元配列
function LoadCsvFile($FilePath) {
if (file_exists($FilePath) == false) { // ファイルの存在を確認する
return false;
}
$CsvData = array(); // 配列を作る
$TextData = file($FilePath); // ファイルのデータを読み込む
for ($i = 0; $i < sizeof($TextData); $i++) { // レコードが10件あれば10回
$TextData[$i] = ereg_replace("\n$", "", $TextData[$i]); // 行末の\nを取り除く
$TextData[$i] = ereg_replace("\r$", "", $TextData[$i]); // 行末の\rを取り除く
$CsvData[$i] = split("," , $TextData[$i]); // 「,」を区切りとしてフィールドの値を取り出す
}
return $CsvData; // $CsvDataは二次元配列
}
//------------------------------------------------------------
// ここからが主処理
//------------------------------------------------------------
if (isset($_POST["SUBMIT"])) { //このページが初めてアクセスされたか?
if ($_POST["BODY"] != "") { //発言内容はあるか?
$body = str_replace("\n", "<br>", $_POST["BODY"]); // \n\r(改行文字)をタグ<br>に変換する
$body = str_replace("\r", "", $body);
$name = $_POST["NAME"];
$BBSRecord = array(date("Y/m/d H:i:s"), $name, $body);
AppendCsvToFile(BBS_DATA, $BBSRecord); //「内容」の書込み
}
}
0019nobodyさん
04/11/01 12:51:49ID:???$BBSData = LoadCsvFile(BBS_DATA); //「内容」の読込み
?>
<html>
<head>
<title>掲示板</title>
</head>
<body><h1 align="center">掲示板</h1>
<a href="bbs.php">最新</a>
<form action="bbs.php" method="POST">
<table border="1" align="center" cellspacing="0">
<tr><td bgcolor="#cccccc" align="center">名 前</td><td><input type="text" name="NAME"></td></tr>
<tr><td bgcolor="#cccccc">発言内容</td><td><textarea name="BODY" cols="40" rows="8"></textarea></td>
<tr><td colspan="2" align="center">
<input type="submit" name="SUBMIT" value=" 投 稿 ">
<input type="reset" value=" ク リ ア "></td>
</tr>
</table>
</form>
0020nobodyさん
04/11/01 12:52:22ID:???<?php
if ($BBSData == false) { // 発言内容がなければ$BBSDataは空っぽ
print "発言はありません。<br>";
} else {
for ($i = sizeof($BBSData) - 1; $i >= 0; $i--) {
print "<hr><font size='3' color='#0000ff'><b>";
print $BBSData[$i][BBS_COL_NAME] . "</b></fomt>";
print "<font size='2' color='#666666'>";
print " [" . $BBSData[$i][BBS_COL_DATE] . "]" . "</font><br><br>";
print "<font size='3' color='#333333'>";
print $BBSData[$i][BBS_COL_BODY] . "</font><br><br>";
}
}
?>
</body>
</html>
0021nobodyさん
04/11/01 12:54:15ID:???0022nobodyさん
04/11/01 12:54:46ID:???0023nobodyさん
04/11/01 13:01:28ID:???headerで文字コード指定すれ。
0024nobodyさん
04/11/01 13:05:34ID:???ぱっと見falseになりそうなパターンが浮かばないですね
空でもtrueだし
けど改行入ったり/が連発した場合その動きでいいのかな?
>>18
★三 【 スクリプト改造工房 PART 8 】 ★三
http://pc5.2ch.net/test/read.cgi/php/1077525387/
0026nobodyさん
04/11/01 13:07:34ID:???0029nobodyさん
04/11/01 13:17:52ID:???00307
04/11/01 13:36:25ID:???php.ini の mbstring 確認しましたが、
EUC-JPになっていました。
>>10
HTTPのプロキシサーバを立てて、
やりとりしているHTTPの内容を確認したんですが、
リダイレクトの時だけ Charset のヘッダが出ていませんでした。
(かといってShift_JISと書いてあったわけではないです)
結局のところ、リダイレクト先のHTMLを修正しなおしたところ、
なぜか正常にいくようになりました。
おかしい箇所が5文字の全角テキストに断定できたんですが、
そこを見ても特に問題ない普通の文字でした。
(一つ一つコメントアウトとテストを繰り返してたどり着きました)
なぞです。
0031nobodyさん
04/11/01 13:40:14ID:???0033nobodyさん
04/11/01 13:47:57ID:???charset のヘッダーが出ていないと言うことは、そのおかしいと思われる全角テキストで
文字コードを判別しようとして失敗したんだな。
適当な解決法→htmlの先頭にEUCらしいw文字をコメントで入れておく
ちゃんとした方法→>>23のいうとおりにする
0034nobodyさん
04/11/01 13:50:40ID:???> charset のヘッダーが出ていないと言うことは、そのおかしいと思われる全角テキストで
> 文字コードを判別しようとして失敗した
あいかわらず無能レスが続くなこのスレ。
0037nobodyさん
04/11/01 13:57:03ID:???0039nobodyさん
04/11/01 13:58:48ID:???0042nobodyさん
04/11/01 14:02:51ID:???0044nobodyさん
04/11/01 14:04:19ID:???0045nobodyさん
04/11/01 14:05:27ID:???0047nobodyさん
04/11/01 14:14:43ID:???それだ!!THX!
>>24,27
参考になりました。
「最初の"/"」で区切るのがポイントなんで、
今回は>25が最適みたいです。
0048nobodyさん
04/11/01 14:15:26ID:???0050nobodyさん
04/11/01 14:35:39ID:???0051nobodyさん
04/11/01 14:37:10ID:???0053nobodyさん
04/11/01 14:40:58ID:???0054nobodyさん
04/11/01 14:52:29ID:???教えてあげるよ。
例えばテーブルを bbs にして id 名前 発言内容 のカラム作って
単にMySQLで接続して記録していけばいいんでないか?そんだけ
丸投げだったら他スレあったよな。いってみ。
0057nobodyさん
04/11/01 15:00:16ID:???0058nobodyさん
04/11/01 15:12:19ID:???どこかと絶対共有してない?
0059nobodyさん
04/11/01 15:14:19ID:???//------------------------------------------------------------
// ここからが主処理
//------------------------------------------------------------
if (isset($_POST["SUBMIT"])) { //このページが初めてアクセスされたか?
if ($_POST["BODY"] != "") { //発言内容はあるか?
$body = str_replace("\n", "<br>", $_POST["BODY"]); // \n\r(改行文字)をタグ<br>に変換する
$body = str_replace("\r", "", $body);
$name = $_POST["NAME"];
$BBSRecord = array(date("Y/m/d H:i:s"), $name, $body);
AppendCsvToFile(BBS_DATA, $BBSRecord); //「内容」の書込み
mysql_connect("localhost","root","");
mysql_select_db("bbs");
mysql_query("insert into bbst set name = '$name', message = '$body'");
$result = mysql_query("select * from bbst order by id");
$r = mysql_fetch_array($result);
echo $r[1].":".$r[2];
}
0060nobodyさん
04/11/01 15:15:36ID:???CREATE TABLE `bbst` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(20) binary NOT NULL default '',
`message` varchar(60) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
0062nobodyさん
04/11/01 15:35:50ID:???CSV方式→MySQL
0063http://idol.jirashi.net/bbs/up/img/1088136610/43.jpg
04/11/01 15:39:04ID:???0064nobodyさん
04/11/01 15:52:54ID:???0065nobodyさん
04/11/01 15:56:24ID:???そこで1人でやってくれ
0067カポコン
04/11/01 16:04:58ID:???(´ω`)cm < ミ タ ナ 〜 ♪
ノ( )ノ ☆ブリ
..ノ__)) /
||| £: −☆ブリ
ー ̄ ̄ーーーーーーーーーーーーーーーー
0068nobodyさん
04/11/01 16:11:58ID:???その発現自体も水掛け論なんだが。
0069nobodyさん
04/11/01 16:13:00ID:???0070nobodyさん
04/11/01 16:30:50ID:3x+bX1j+タイムアウト処理はどのように働きますか?
1. タイムアウトするまでの時間(デフォルト)
2. タイムアウトするまでの時間の設定変更方法
が知りたいです。
0072nobodyさん
04/11/01 17:42:56ID:???■ このスレッドは過去ログ倉庫に格納されています