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

【PHP】下らねぇ質問はID出して書き込みやがれ 75

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/10/16(木) 23:52:01ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 74
http://pc11.2ch.net/test/read.cgi/php/1221909788/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
01751662008/10/21(火) 21:48:25ID:hy+GOPAp
>>171
おかげ様で問題が解決しました!

どうもありがとうございました。
0176nobodyさん2008/10/21(火) 21:57:41ID:???
>>172
無理だと思われ
0177nobodyさん2008/10/21(火) 22:30:46ID:???
全く初心者ってわけではなく、perl、PHP、C++と順にやってきたものの、1つの言語をとことん突き詰めて勉強したことがない感じなんですが、最近PHPを細かいところまで網羅するような勉強をし始めようと思っています。

なんかそういう人間向けの参考書でオススメのあったら教えていただけないでしょうか。現場でコード書いてるのが一番かもしれませんが・・
0178nobodyさん2008/10/21(火) 22:50:47ID:???
マニュアル
0179nobodyさん2008/10/21(火) 22:51:22ID:???
PHPほどググレカスで済む言語はないような気がするが。
0180nobodyさん2008/10/22(水) 00:51:07ID:hqciJXfD
simpleXMLでxmlデータを操作していると、「&」を入れようとするとエラーが発生します。
下記のコードでも同じエラーが起きました。
原因と対策方法を教えてください。

&を$amp;に変換するぐらいしか思いつきません。

$a = simplexml_load_string('<a><b>test</b></a>');
$a->b="&";
0181nobodyさん2008/10/22(水) 00:54:21ID:???
お前は何を言ってるんだ
0182nobodyさん2008/10/22(水) 00:54:58ID:???
> &を$amp;に変換するぐらいしか思いつきません。
まさにその通りだ
0183nobodyさん2008/10/22(水) 03:13:09ID:???
http://jp.php.net/sessin
関係ないけどこれでもsessionのページに飛ぶのね
例の近似度を測るphpの関数使ってるのかな
0184nobodyさん2008/10/22(水) 07:01:49ID:ydcrSA/W
質問です
php5とmysql5でプログラムしてます
SQLの検索文を実行して、2件が該当するのですが
($sqlResult = $db->Execute($sql文); として、
echo $sqlResult; すると2件入ってます)

count($sqlResult);すると 1 が返ってきます。
何が原因でしょうか?

Execute()と echo $sqlResultと count($sqlResult)の間には
何も処理をはさんでいません。
すみませんが回答よろしくお願いします。
0185nobodyさん2008/10/22(水) 07:25:34ID:???
そりゃsqlResult変数にはsqlResultしか要素がないから1
0186nobodyさん2008/10/22(水) 07:34:47ID:???
$db->Execute($sql文) の型と返り値は何か
echo $sqlResult で何が表示されるか
count($sqlResult) は何を意味するか
0187nobodyさん2008/10/22(水) 08:02:43ID:ydcrSA/W
基礎的な間違いをしてるようですみません
すると、返ってきた件数を取得するにはどうしたらいいでしょうか?
0188nobodyさん2008/10/22(水) 08:34:11ID:???
先に調べておいで
0189nobodyさん2008/10/22(水) 09:18:26ID:???
そもそも$dbのクラスはなんだと言うんだ
妄想すればいいのか
0190nobodyさん2008/10/22(水) 11:42:32ID:hqciJXfD
>>182
全て置換していれることにします。ありがとございます。

また、質問なんですが
hoge2が入っている要素を削除するため、$keyを取得しようとすると
配列のキーが取得できず、なぜか"b"が入っていて削除できません。
forで解決することもできますが、なぜこうなるのでしょうか?

$a = simplexml_load_string('<a><b>hoge1</b><b>hoge2</b><b>hoge3</b></a>');
foreach ( $a->b as $key => $value ) {
  print $key.':'.$value.'<br>';
}

--出力結果---
b:hoge1
b:hoge2
b:hoge3
0191nobodyさん2008/10/22(水) 12:00:44ID:???
>>190
配列じゃないからだ
$a->b で思い切り「b」のリストを取得してんだからelement名のbがキーになるだろ
xpathあたりで要素を取り出してunsetすりゃいいんじゃね?
0192nobodyさん2008/10/22(水) 12:26:51ID:???
PHP MANUAL 見たんですが、シンボルテーブルに関する詳しい説明のページってないですね。
どこかに公式のそういうのないでしょうか??
0193nobodyさん2008/10/22(水) 12:28:17ID:GMcgCgHy
質問です
IISでphp5を動かしています

c:\aaaaa\php\http\hoge.php
から
c:\aaaaa\data\***.txt
など

webサイトより上のディレクトリを"絶対パス"で、見に行かせるのは
どういったパスを書けばいいのでしょうか?
0194nobodyさん2008/10/22(水) 13:02:03ID:???
>>192
スコープならあるが?
メソッドの型のことを言ってるならPHPについて勉強してこい
PHPは関数・メソッドについて明示的な型を実装しません、ってなってるから

>>193
hoge.php内で各ならdirnameを2回コール
0195nobodyさん2008/10/22(水) 13:10:00ID:???
>>193
絶対パスじゃ駄目なの?
0196nobodyさん2008/10/22(水) 13:56:08ID:GMcgCgHy
ああああ、 \と/が混在してました
お騒がせしました、ありかどうございます
0197nobodyさん2008/10/22(水) 14:13:16ID:???
ドキュメントルートがなぜhttpw
0198nobodyさん2008/10/22(水) 14:26:47ID:???
>>197
例えにツッコむほど余裕がないのかお前は
0199nobodyさん2008/10/22(水) 14:27:32ID:???
指摘されて涙目?w
0200nobodyさん2008/10/22(水) 16:44:13ID:uFfcpDJb
下記ソートをすると、
<?
$a = 3;
$b = 1;
$c = 2;
$order = array(
"あ" => $a,
"い" => $b,
"う" => $c
);
sort($order, SORT_REGULAR);
print "<pre>";
print_r($order);
print "</pre>";
?>
結果は下記になります。
Array
(
[0] => 1
[1] => 2
[2] => 3
)
添え字がこわれます。
下記のようにしてソートされた添え字をゲットしたいのですが、どうしたらいいですか
Array
(
[い] => 1
[う] => 2
[あ] => 3
)
0201nobodyさん2008/10/22(水) 17:15:06ID:???
asort
0202nobodyさん2008/10/22(水) 17:19:17ID:???
ゆとりの秋はもう終わりです
人肌恋しい季節がやってきます
PHPマニュアルに包まれてヌクヌクしたいですね、幸せになれます
0203nobodyさん2008/10/22(水) 18:24:17ID:???
添え字がこわれるw
0204nobodyさん2008/10/22(水) 23:41:52ID:???
既出かもしれませんが、有効な情報をググり得なかったので、
質問させてください。SSL 環境下でのファイルのアップロードです。
※SSL 証明書は正しく発行されています。

以下のようなHTMLフォームを用意して、
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" enctype="multipart/form-data" method="POST" />
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $maxfilesize; ?>" />
<input id="file" name="file" type="file" />

php で処理したいと考えているのですが、スクリプト内で、「print_r($_FILES);」しても
何の情報も取得できません。

この症状は、利用しているブラウザが、Windows XP/Vista 版の IE、最新版の Webkit で発生します。
Firefox 3.0.3、Safari 3.1.2 では正常に情報を取得することができます。

したがって、ブラウザ側の問題だと思うのですが、この問題を回避するためには、どしたら
良いのでしょうか。

アドバイスいただけますと幸いです。
0205nobodyさん2008/10/22(水) 23:48:07ID:???
ブラウザ側の問題をなぜPHPスレで聞く
0206nobodyさん2008/10/22(水) 23:49:25ID:FZ7gKE7K
>>204 です。ID だし忘れてたし、環境も書いていませんでした。orz
【OS名】FreeBSD 6.2
【PHPのバージョン】5.2.4
【連携ソフトウェア】なし
となります。スクリプトの内容はファイルを受け取って、
サーバーに保存するというものです。
0207nobodyさん2008/10/22(水) 23:51:43ID:FZ7gKE7K
>>205
ブラウザ側の問題だとは思うのですが、PHP 作成者で、同じような状況に
陥った方がいないかと思ったのと、本当にブラウザの問題なのか、
不明であったために質問しました。
0208nobodyさん2008/10/23(木) 00:09:13ID:???
コードを全部見せてください
0209nobodyさん2008/10/23(木) 00:23:11ID:cEwU+RA6
全て見せるのは難しいですが、$_FILES を最初に参照している部分はこんな感じです。

if ($_FILES[$key]['size'] > 0) {
  $upfile_path = $_FILES[$key]['tmp_name'];
  $upfile_error = $_FILES[$key]['error'];
  ...
特にもってまわったことはしていないと思います。
if 文以前に print_r($_FILES) を記述しても、なにもセットされていません。
フォームタグが挿入されたHTMLはスクリプト内にインライン記述しています。
0210nobodyさん2008/10/23(木) 01:07:02ID:???
再現できるコード(もちろんHTMLも含めて)を出してという意味
0211nobodyさん2008/10/23(木) 01:07:35ID:???
最小限でおk
0212nobodyさん2008/10/23(木) 01:08:36ID:cEwU+RA6
>>208
自前のスクリプトではありませんが、試してみたところ、
ttp://masago.kir.jp/php20030814.php
この頁に掲載されているサンプルスクリプトで試してみても、同じ症状が発生するようです。
$_FILES に情報がセットされない。
ただし、ブラウザから、ファイルのデータが送信されていないわけではないようです。
ためしに、3mb あるような大きなファイルを選択して submit すると、データを送信しきるまで、
しばらくタイムラグが発生しますし、その他の post データ($_POST)はきちんと送信されています。
0213nobodyさん2008/10/23(木) 01:09:51ID:cEwU+RA6
>>212 の補足ですが、スクリプト本体は以下に掲載されています。
ttp://masago.kir.jp/phpsc.php?s=php20030814s.php
0214nobodyさん2008/10/23(木) 01:19:11ID:???
iniでfile_uploadsがoffだったら怒るぞ
0215nobodyさん2008/10/23(木) 01:22:09ID:???
>>213
いいから自分のやってる方法を出してよ
自分は正しいと思っててもうっかりミスがあるってことはよくあるんだから

フォーム書いてvar_dump($_FILES)するだけの4,5行のスクリプトならすぐ書けるでしょ?
それで実行結果がどうなるのか教えて

firefoxではアップロードできるんでしょ?
ならiniは問題ないと思うが俺予想だと多分HTMLの書き方に問題があるんじゃないかなー
0216nobodyさん2008/10/23(木) 01:38:22ID:cEwU+RA6
こういう PHP をつくってサーバーにアップロードし、submit ボタンを押してみました。(改行除去しています。以下同)
<html><head><meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /></head><body>
<pre><?php var_dump($_FILES); var_dump($_POST); ?></pre>
<form action="test.php" enctype="multipart/form-data" method="POST" />
<input type="file" name="sample" />
<input type="text" name="textdesuyo" value="test desu yo" />
<input type="submit" />
</form>
</body></html>
で、以下のような出力を得ました。
array(0) {
}
array(2) {
["sample"]=> string(12) "test desu yo"
["submitbutton"]=> string(6) "Submit"
}
問題の発生しないブラウザ(Firefox)で試すと、以下のような出力を得ることができます。
array(1) {
["sample"]=> array(5) {
["name"]=> string(27) "test.jpg"
["type"]=> string(10) "image/jpeg"
["tmp_name"]=> string(18) "/var/tmp/php0XGaGr"
["error"]=> int(0)
["size"]=> int(281933)
}
}
array(2) {
["textdesuyo"]=> string(12) "test desu yo"
["submitbutton"]=> string(4) "実行"
}
0217nobodyさん2008/10/23(木) 02:00:35ID:cEwU+RA6
どうも手際が悪くて申し訳ないです。
先ほどのサンプルで、<input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> の記述が抜けていましたので、
これを追記して試したところ、問題の発生するブラウザで試した場合、
var_dump($_FILES); の結果は何じだったのですが、var_dump($_POST); の結果がえらいことになってしまいました。
array(4) {
["MAX_FILE_SIZE"]=>
string(7) "1000000"
["uploadesample"]=> string(291776) ...ここに意味不明の文字列(恐らくアップロードした画像ファイルの生テキスト)がはいる....
["textdesuyo"]=> string(12) "test desu yo"
["submitbutton"]=> string(6) "Submit"
}

これを見る限り、type="file" とHTML に明示しているにも関わらず、データが $_POST にいってしまっているようです。
なぜなんだろう??
0218nobodyさん2008/10/23(木) 02:11:24ID:???
uploadesample要素とかどこから来たの?
0219nobodyさん2008/10/23(木) 02:15:25ID:cEwU+RA6
すみません。
見通しよくするために、HTML 部分を次のようにしていました。
<form id="submitdata" class="form" action="test.php" enctype="multipart/form-data" method="POST" />
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
<input type="file" name="uploadesample" /><br />
<input type="text" name="textdesuyo" value="test desu yo" /><br />
<input type="submit" name="submitbutton" />
</form>
0220nobodyさん2008/10/23(木) 02:20:16ID:???
そのコードでやってみたら問題なくアップロードできたよ。
$_POSTと$_FILESのvar_dumpは以下。
array(3) {
["MAX_FILE_SIZE"]=>
string(7) "1000000"
["textdesuyo"]=>
string(12) "test desu yo"
["submitbutton"]=>
string(10) "クエリ送信"
}
array(1) {
["uploadesample"]=>
array(5) {
["name"]=>
string(12) "are11693.jpg"
["type"]=>
string(11) "image/pjpeg"
["tmp_name"]=>
string(26) "C:\WINDOWS\Temp\phpA8D.tmp"
["error"]=>
int(0)
["size"]=>
int(135498)
}
}
ちなみにXP+IE7
0221nobodyさん2008/10/23(木) 02:22:28ID:cEwU+RA6
>>220
ありがとうございます。それは SSL 環境でオーケーだったということでしょうか?
0222nobodyさん2008/10/23(木) 02:29:54ID:???
SSL環境でもやってみたけど出来たよ 自己証明だけど
0223nobodyさん2008/10/23(木) 02:38:11ID:cEwU+RA6
Mac 版の Firefox 、Safari だと問題ないのですが、最新版の Webkit だと問題が発生します。
Windows XP + IE7 だと問題は発生しないのですね。テストしていただいてありがとうございました。
こちらは OpenSSL 0.9.7e-p1 25 Oct 2004 を使用しています。
問題が発生するブラウザでは、送信するファイルを文字列として送信しているのかな??
うーん。ますます分からん。。。
0224nobodyさん2008/10/23(木) 04:32:40ID:cEwU+RA6
その後、自宅サーバーでも同じことをやってみましたが、SSL なしの環境でも
同じ現象が発生することが分かりました。となると、ブラウザに問題があるとしか
言いようがありませんね。
もしやと思って、そこらへんのアップローダーでも試してみましたが、やはり
アップロードできませんでした。対処法は分からずじまいのままですが、
あきらめムードにはいっております。

アドバイスをいただいた方々にお礼申し上げます。
0225nobodyさん2008/10/23(木) 08:45:30ID:???
>>224
つ「インターネットオプション」「セキュリティー」
0226nobodyさん2008/10/23(木) 08:50:17ID:cEwU+RA6
>>225
今手元にウインドウズマシンがないので、確認できないのですが、
どのオプションを変更すればよいのか教えてもらえないでしょうか?
0227nobodyさん2008/10/23(木) 09:26:29ID:???
セキュリティソフトは?
対象のブラウザを監視してるとか
0228nobodyさん2008/10/23(木) 10:08:44ID:cEwU+RA6
>>227
手元にある Mac では、セキュリティソフトを利用していないので
その可能性は低いと思います。
0229nobodyさん2008/10/23(木) 10:29:11ID:???
・ログを確認する。
・送信するファイルを変えてみる。
・設定・仕様を見直す。
・複数のクライアント(マシン/ブラウザの種類・バージョン等)で確認する。
・複数のウェブサーバー(マシン/サーバーソフトの種類・バージョン等)で確認する。

0230nobodyさん2008/10/23(木) 11:02:02ID:cEwU+RA6
>>229
その後、テキストファイルを送ってみたところ、
$_POST にテキストファイルの内容そのものがセットされていました。。
いずれにせよ、判断材料が少ないので本腰入れて調査してみます。
0231nobodyさん2008/10/23(木) 11:06:16ID:???
そのブラウザ、multipart/form-dataを正しく解釈してないよな
POSTにテキストとかってモロにQUERYだし
0232nobodyさん2008/10/23(木) 11:20:06ID:???
>>230
ところでそのブラウザってなに?
Google Chrome?
0233nobodyさん2008/10/23(木) 11:30:34ID:cEwU+RA6
>>232
↓コレです。OS は MacOSX 10.5.5
http://webkit.org/
ウインドウズでは、Win XP、Vista の IE で不具合が生じるとの連絡だけを
受け取っている状況で、詳しいバージョン SP の有無まで確認できていません。

>> 231
おっしゃる通り、multipart/form-data を正しく解釈していないのだと思います。
不思議なのは、さんざんググってみても、このことについて言及したページを
探し当てることができないということです。こんなあからさまな不具合だったら、
すでに誰かが指摘していて当然だと思うのですが。
0234nobodyさん2008/10/23(木) 11:42:33ID:???
ttps://bugs.webkit.org/show_bug.cgi?id=5760#c17
これは?
Apache側でKeepAliveが有効だとアップロード出来ないみたいにあるけど
0235nobodyさん2008/10/23(木) 11:45:07ID:???
って全然PHP関係ねぇ
0236nobodyさん2008/10/23(木) 12:15:51ID:cEwU+RA6
>>234
情報ありがとうございます! 
本番サーバーは、レンタルサーバーであり、apache で稼働していますが、conf ファイルの
内容は問い合わせてみなければ分かりません(多分 KeepAlive on になっていると思いますが)。
これはもう PHP で対処できる範囲を越えていますね。というか、考えられる問題の範囲が
広すぎます。また出直します。失礼いたしました。>>235
0237nobodyさん2008/10/23(木) 12:41:51ID:???
Webkitをまんま使う奴なんて居るの?
0238nobodyさん2008/10/23(木) 12:49:20ID:???
こういう簡単な処理を用意しておけば、ブラウザがどうやって
データを送信しているか確認するときに参考になるかもね。
http://tokyo.cool.ne.jp/shigetomo/perltips.html#8
0239nobodyさん2008/10/23(木) 13:23:47ID:R/SfnL8z
GoogleAdSenseにログインして表示データを収得しようと思っています。
ttp://www.webmasterworld.com/google_adsense/3730583.htm
上記URLを参考にしましたが、ログイン出来ませんでした。
jsで飛ばされているようです。
postで送信するだけで良さそうに思いましたが、ソースファイルを除いても
formデータが見当たりませんでした。
収得できる良いアドバイスはありませんでしょうか?

0240nobodyさん2008/10/23(木) 13:37:14ID:fEAN24MM
PHP初心者で始めて正規表現ってのを使おうと思いましたが
マニュアルみても理解できなかったのでご教授お願いします

文字列の中からa,c,d,eのどれかが1文字だけあるかを調べたいんですが
preg_match("/[acde]{1}/s", $str])
ではなんかうまく行きませんお願いします
0241nobodyさん2008/10/23(木) 13:50:11ID:R/SfnL8z
>>240
どの様なエラーが出ましたか?
当方ではParse error: syntax error, unexpected ']' と出ています。
カッコが不必要です。

0242nobodyさん2008/10/23(木) 14:03:20ID:???
釣りに見えてしかたない
02432402008/10/23(木) 14:04:02ID:fEAN24MM
すいません 後ろの]は余分でした
それを消してやるとエラーは消えましたが
どれか1文字だけってのができません
$str = "apple";
if (preg_match("/[acde]{1}/s", $str)){
echo '正常';
} else {
echo '異常';
exit();
結果→ 正常
どれか一文字だけなので異常ってだるようにしたいんです。
0244nobodyさん2008/10/23(木) 14:08:29ID:???
1文字「だけ」の場合trueなら
/^[absd]$/
02452402008/10/23(木) 14:19:53ID:fEAN24MM
>>244
1文字だけの場合は $ で指定だったんですね
/^[absd]$/ にしてみたらちゃんとできました
どうもありがとうございます。
0246nobodyさん2008/10/23(木) 19:07:00ID:vYlG5hmE
【OS名】 不明
System Linux 2.4.21-37.ELsmp #1 SMP Wed Sep 7 13:28:55 EDT 2005 i686
【PHPのバージョン】PHP Version 4.3.10
【連携ソフトウェア】
【質問内容】

外部のレンタルサーバでphpのコードを動かしています。
ここでjson関連の作業、jsonのデコードとエンコードを行いたいのですが、
php4でも動くライブラリはどこかで配布されていませんか?
自作だとあまりにも心もとなくて・・・。
0247nobodyさん2008/10/23(木) 19:13:08ID:???
>>246
書いた後にphp4ってキーワードでググればいけるんじゃね、って思ったらありました。
お汚しすみません。
http://upgradephp.berlios.de/
0248nobodyさん2008/10/23(木) 22:19:39ID:GN2wkDk9
フレームワークは何がおすすめですか?
日本語環境が整ったフレームワークをおしえてください。
0249nobodyさん2008/10/23(木) 22:50:52ID:???
ZF
0250nobodyさん2008/10/23(木) 22:56:56ID:???
Zendって日本語か?
0251nobodyさん2008/10/23(木) 22:57:54ID:???
うん
0252nobodyさん2008/10/24(金) 00:18:45ID:wH/GxTYw
ko
0253nobodyさん2008/10/24(金) 00:51:51ID:???
みなさんフレームワークってどうやって使う?
インストールして使う?
それともclassだけ使う?
0254nobodyさん2008/10/24(金) 01:00:17ID:MLCsRPQN
tikiwiki なんだが、記事を書いて、
「投稿」ボタンを押すと、画面が
真っ白になってしまうんだ。

でも、投稿はされてるみたいで、
いったんバックボタンでもどってみると、
記事へのリンクがちゃんと作成されてて、
そこをクリックすると、記事のページも表示されて、
読むこともできる。

しかし、なんで投稿ボタンを押したときに、
画面が真っ白になってしまうんだろう?

何が考えられる?

インストールのときにPHPのメモリの割り当てを
16MB以上にしろ、って書いてあって、
自動detectで32Mってなってたから、これはいいはずなんだけど。
0255nobodyさん2008/10/24(金) 01:01:29ID:MLCsRPQN
ああまちがえた。
画面が真っ白になるときと、
object not foundになるときと、
2種類あるんだ。

object not foundになるときは
記事が保存される。

まっしろになるときは、保存されてないかんじ。
0256nobodyさん2008/10/24(金) 02:07:37ID:???
>>254
HTML 内で指定された文字コードと実際の文字コードがあっていないと IE では真っ白になることがある。
ソース見てみても真っ白だったら、この可能性は消える。
0257nobodyさん2008/10/24(金) 03:20:06ID:MLCsRPQN
>>256
ソース見ても真っ白です。
どのような可能性が考えられるでしょうか?

それと、真っ白になるときと、
object not foundになるときと、
2種類あるんです。

押すボタンによって違うようです。
0258nobodyさん2008/10/24(金) 03:33:57ID:???
>>254
ここはPHPプログラムを書く人が質問するスレ
激しく場所を間違っているよ
0259nobodyさん2008/10/24(金) 03:42:18ID:MLCsRPQN
設定をよくみたら、「PHPエラーを全部出力する」
というオプションがあるのを見つけました。

そこが空白になっていたので、チェックを入れました。
それでもう一度記事を投稿して、保存ボタンを押しました。

そしたら今度は真っ白でなくて、エラーメッセージが出ました。

Fatal error: Call to undefined method domdocument::loadHTML() in
C:\xampp\htdocs\tikiwiki\lib\HTMLPurifier\Lexer\DOMLex.php on line 62

こういうエラーです。

どういうことが考えられますでしょうか?
0260nobodyさん2008/10/24(金) 03:43:46ID:???
>>259
だから板違いだって、そのwikiのスレかサポートでも行きなさい
0261nobodyさん2008/10/24(金) 03:45:04ID:???
読んだ通り、定義されていないメソッドが呼ばれた。
→メソッドが読み込まれていない。
→パッケージ(?)が読み込まれていない。
という可能性を探ってみては。
02622612008/10/24(金) 03:50:09ID:???
>>258,260
って、そうなの?
0263nobodyさん2008/10/24(金) 03:51:21ID:MLCsRPQN
line 62みたらこうでした

$doc->loadHTML($html);
0264nobodyさん2008/10/24(金) 03:53:22ID:MLCsRPQN
>>261
もしかして、必要なパッケージがあって、
それをインストールしてないとか?
0265nobodyさん2008/10/24(金) 04:25:06ID:???
xampp w
0266nobodyさん2008/10/24(金) 05:50:53ID:MLCsRPQN
別フォルダ作って、新規インストールやりなおしてみた。
解決した。

さっきと違う点は、
見た目をデフォルトにした(さっきはスラド風の見た目を選択した)
言語をデフォルトの英語のままにした(さっきは日本語にした)
余計なモジュールを入れていない

この状態なら問題なく使える。
0267nobodyさん2008/10/24(金) 08:01:36ID:+cPeoTU7
POSTデータとか数字を入力しても文字列としてPHPに渡るけど、
PDOのbindParamで明示的に型を指定しない場合、
数値カラムのwhere句に数値を渡したつもりでもクオーテーション付いてクエリ発効されちゃう?
0268nobodyさん2008/10/24(金) 09:24:45ID:???
>>267
カラムの型に合わせるから問題なし
02692672008/10/24(金) 10:23:15ID:???
>>268
それはPDO側が?MySQL側が?
0270nobodyさん2008/10/24(金) 10:38:27ID:???
PDOが

それにMySQL側としてもクオートの有無は影響受けん
スペースや記号、マルチバイトなどのスケープが必要な場合にクオートでSQLと値を区別してるだけだからな
0271nobodyさん2008/10/24(金) 14:23:08ID:???
てか、入力値を素でSQLに与えてるのか?
0272nobodyさん2008/10/24(金) 17:10:10ID:???
>>271
それは勘違いだな
PDOで「シングルクオーテーションが補完される」状況ってのはプリペアドステートメントだ
素のデータを「値」としてスケープして安全にSQLに放り込むってこった
頼りすぎるとLIKE文が大変なことに・・・
0273nobodyさん2008/10/24(金) 17:40:33ID:56/ITrxj
SQLつながり質問させてください。

・WinXP
・Apache 2.2
・PHP5.2.6
・MySQL 5.1.28-rc-community
・phpMyAdmin 2.11.9.2

環境下でphpMyAdminを導入したんだけど、ログインするとこんなメッセージが出てきます。
------
お使いの PHP MySQL ライブラリのバージョン 5.0.51a が MySQL サーバのバージョン 5.1.28 と異なります。
これは予期しない不具合を起こす可能性があります。
------
PHP5.2.6でMySQL5.1系は動かせないんでしょうか。

## phpMyAdminの問題?
02742732008/10/24(金) 17:53:25ID:56/ITrxj
phpinfo(); で確認したら、mysql、mysqli、pdo_mysql のバージョンが全部 5.0.51a になってるから、これが原因かな。
でもこれ、PHP5.2.6のzipに一緒に入ってたやつなんだけど。
最新版のPHPに古いバージョンのAPIが入ってるってこと?
■ このスレッドは過去ログ倉庫に格納されています