【PHP】下らねぇ質問はここに書き込みやがれ 62
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/01/10(木) 18:09:19ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0331質問
2008/01/18(金) 16:53:39ID:e2DNo7Zr送信時にmail()関数を使って送信する
という使い方をしています。
しかしメール送信時にmail()関数を使うと
送信アドレスの間違いなどで不達の時のエラーメッセージが
鯖管のアノニマス@hoge.comに逝ってしまい確認が取れません。
これを回避するため素直にsmtpなどで送信したいのですが
どうしたらいいのでしょうか?
0332nobodyさん
2008/01/18(金) 16:54:52ID:JPL9CEzO・URLで接続失敗
・外部リソース"URL"の読み込み失敗
エラーが分かっても原因がわからないと意味ないです
0333nobodyさん
2008/01/18(金) 17:13:03ID:???$q5 = ereg_replace(",", "、", $q5);
$q5 = ereg_replace("\r|\n", "<br>", $q5);
これで問題ないでしょ?あとは、以下の機能をつけるくらいの話でしょ。
・リファラを見てはじく。
・フォームをhtmlからphpに変えて、hiddenにランダムな数値を入れておいて確認する。
・IPアドレスも登録して、一生涯に一度しか投稿できなくする。
他にあったらお願いします。
0337331
2008/01/18(金) 18:04:41ID:e2DNo7Zr即レスありがとうございます。
それも考えたのですが
この際送信メールそのものも
メールサーバに保存しておければいいかな
と考えまして質問してみました。
0338nobodyさん
2008/01/18(金) 18:56:28ID:???ヽ'::':/
}:::{
|:::l
r:ャ l:::|
l:(.ノ:::l
,.r:::''::::::::::::::)
.〈;;;:::::::::::::::゛:i,,__,〃
/~:::y'''::::-:::〈ー‐’
かぶと虫さんがこのスレに遊びに来ました。
0339nobodyさん
2008/01/18(金) 19:10:24ID:???スクリプト内から呼び出すもんだと思ってたわ
もう、フレームワーク自体に組み立ててしまうのか・・・。
0340nobodyさん
2008/01/18(金) 19:16:30ID:???0342nobodyさん
2008/01/18(金) 19:24:05ID:UtEgGG7xやりたい事としては、whoisの実行結果を取得したいのですが、
execを使う以外に実現できる方法はありますか?
よろしくおねがいします。
0343nobodyさん
2008/01/18(金) 19:30:02ID:???0344nobodyさん
2008/01/18(金) 20:06:58ID:QH3r72PN書き込みを出来るようになっています。
それで、たとえばスケジューラのDBテーブルへの書き込みを会員領域以外からは
いっさい受け付けなくすることはできるでしょうか? ディレクトリ指定というか、、
もし出来たらアドバイスお願いします よろしくお願いします
あと、SQLインジェクション対策についてですが、
たとえばプルダウンで時間選択するとき、0〜23までの値が入るのは確定してると
思いますが、このパラメータにも半角チェックや最大値チェックすべきなのか…?
主義とやる気の問題だとは思いますが、皆さんそこまでやってますか?
0345nobodyさん
2008/01/18(金) 20:51:03ID:???0348nobodyさん
2008/01/18(金) 20:58:14ID:???0350nobodyさん
2008/01/18(金) 21:40:53ID:emyOBJ8O1つ目のサーバから、2つ目のサーバへテキストファイルの書き込みをするPHPスクリプトを作りたくて
ぐぐったり書籍を見て調べました。
ですが、どう書けばよいのかがわかりません。
プロの方には初心的な質問で恐縮ですが
参考になるスクリプトか、ページを教えていただけませんか?よろしくお願いします。
0351nobodyさん
2008/01/18(金) 21:45:33ID:???web制作版で依頼してきなさい
0352nobodyさん
2008/01/18(金) 21:48:43ID:???リモートファイルの更新は技術的には可能。
0354350
2008/01/18(金) 21:57:51ID:???0355nobodyさん
2008/01/18(金) 22:07:12ID:???0356nobodyさん
2008/01/18(金) 22:10:34ID:emyOBJ8O>351
PHPについての質問だったのでこちらに書き込みしました。
プロの方にはくだらない質問になるのかなと思いまして、ついこちらに...
>352
はい、用途としては2つ目のサーバは友人にもFTPのユーザとパスワードを与えて
使ってもいいよと言って友人専用のディレクトリを使わせています。(サーバ屋の規約範囲内でです)
私が元々使っていたサーバはPHP4に対応していまして、2つ目のサーバはPHP5に対応しています。
ですので、丸ごと引越ししたかったのですが、なぜだか2つ目のサーバでPHPのスクリプトが動かなかったので
丸ごとの引越しを断念して、1つ目のサーバで使っているものはそのままのサーバで使っています。(お気に入りにいれているので使い勝手としてはあまり気になりません)
そこで、私が使っているプログラムの機能で(ただの掲示板なのですが)
私の方で書き換えたデータを、友人のページ(これも掲示板みたいなやつで2つ目のサーバにあります)にも
表示させてよと言われたので、>352さんの仰るリモートファイルの更新というものをしたいと考えています。
1つ目のサーバ →→ 2つ目のサーバ
という形でテキストファイルを更新させることで内容を同期させたと思っています。
2つ目のサーバ →→ 1つ目のサーバ
という形での内容の同期(読み込み?)でもいいのですが、正直どちらの形が良いのか、
初心者なために判断がつかないのが現状です。
すみません、長文になってしまいました。
なんか分からないところがあったら指摘してください。追加で説明をしたいと思います。
よろしくおねがいします。
0357nobodyさん
2008/01/18(金) 22:11:50ID:???> プロの方にはくだらない質問になるのかなと思いまして、ついこちらに...
> プロの方にはくだらない質問になるのかなと思いまして、ついこちらに...
( ゚д゚ )
0358nobodyさん
2008/01/18(金) 22:20:06ID:emyOBJ8O>353
ほとんど個人の用途なのですが、基本的に掲示板とかなのでテキストファイルもありますが
少しですが画像もあります。
2つ目のサーバを貸している友人も含め(数人ですが皆仲間ウチです)、元々はこの掲示板を使って備忘録がわりにしたりしていました。
1つ目のサーバの要領が50M程度だったので、流石に数人分の記録でも溢れてしまいました。
>354
さすがにポエムは恥ずかしいのでアップロードできません。
(隠れて書いたりもしていません)
>355
>PHPからftpで接続できるから、それでファイル開いて更新できるよ。
!?????????
すみません、ftpとはFFFTPのことですか?
FFFTPは使っているのですが、PHPとの連携ができるのですか!?
なんか解釈が間違っていたらすみません...
0359nobodyさん
2008/01/18(金) 22:20:52ID:???0360nobodyさん
2008/01/18(金) 22:21:26ID:???0361nobodyさん
2008/01/18(金) 22:23:51ID:emyOBJ8Oすみません、なにか変なことを書いたでしょうか(>_<)???
【PHP】下らねぇ質問はここに書き込みやがれ 62
とタイトルに書いてあったので...
私にとって難しい悩みでも、プロの方にはくだらないのかなぁと...
0362nobodyさん
2008/01/18(金) 22:34:46ID:???0363nobodyさん
2008/01/18(金) 22:37:12ID:???とりあえず、テンプレ&マニュアル読んだ?
つ http://jp2.php.net/manual/ja/features.remote-files.php
ここあたり読めば幸せになれるんじゃない?
0364nobodyさん
2008/01/18(金) 22:37:43ID:???0365nobodyさん
2008/01/18(金) 22:42:49ID:???練り餌はもっと錬らなきゃ。
0366nobodyさん
2008/01/18(金) 22:56:37ID:emyOBJ8O罠とはなんでしょうか?
>360
荒れるのであまりそのようなことは...
>362
ぐぐってみます。ありがとうございます。
>363
マニュアルは見てみましたが、見当違いのところを見ていたのかもしれません。
参考になりそうな感じがしますので、見てみたいと思います。
ありがとうございました。
>364
...
>365
釣りじゃないです↓
0367nobodyさん
2008/01/18(金) 22:57:44ID:???0368nobodyさん
2008/01/18(金) 23:04:14ID:???0369nobodyさん
2008/01/18(金) 23:10:29ID:???構うだけ博之の思う壺だよ
0370nobodyさん
2008/01/18(金) 23:14:50ID:???0371nobodyさん
2008/01/18(金) 23:27:28ID:???0372nobodyさん
2008/01/18(金) 23:56:31ID:pg2V70jWある掲示板はPHPファイルが一つのみ
ある掲示板はaction,view,resなどに色んなphpファイルがあり
その下にもサブディレクトリがありかなり複雑になってる。
ただし、一つ一つのスクリプトは小さい。
これってどうしてこういう違いになってるんだろう?
何か、開発してる人毎に開発方法が違うんだろうか?
phpspot.net/php/pgPHP%81%95CSS%8Cf%8E%A6%94%C2.html
↑この掲示板はファイルが多く理解できない。
何か開発するに至って参考となるものありますか?
本はマンモス本、サンプル集等いくつか買い集めたが
今ひとつ掴みきれない。
ネックの一つは開発したときのデバック方法。
サイトはPHP4のソースが圧倒的に多いのだが
漏れのPHP5の環境で動かない、場合によっては更にエラー番号も返さない。
みんなどうやって開発してるのだろう?
0373nobodyさん
2008/01/19(土) 00:14:15ID:???0374nobodyさん
2008/01/19(土) 00:16:31ID:???逆に全角じゃないと見にくいからダメだというヤシもいるんだぞ。
問題ないなら、変なこだわり持つな。
心の病気になるぞ。
0375nobodyさん
2008/01/19(土) 00:17:37ID:???0376nobodyさん
2008/01/19(土) 00:18:52ID:???0377nobodyさん
2008/01/19(土) 00:21:32ID:???PHPはご存知のように一つのファイルに詰め込むことも
いくつかのファイルに分割することもできる。
ただ一つのファイルにすべてを詰め込むと、どの箇所でどの処理をしているかがわかりにくくなることが多い。
ということで通常は機能ごとにファイルを分けたり、クラスごとに分けたりする。
PHP5で動くようにしたらええやん。
デバッグ中はエラーも表示するようにする。
詳細は>>1
0379372
2008/01/19(土) 00:32:21ID:uG/K5st/わかりました。
特に開発環境とかが各自で違うとかではないという事ですかね。
(理解できないのは己の頭が悪い、知識がないとかのの問題なのだろうか)
デバックの仕方とかもよくわからんけど
もうちょっと勉強して出直します。
0380nobodyさん
2008/01/19(土) 00:40:40ID:???0381nobodyさん
2008/01/19(土) 00:53:48ID:???0382381
2008/01/19(土) 00:54:18ID:FuloTUhnよろしくお願いします
0383nobodyさん
2008/01/19(土) 01:01:29ID:???http://jp.php.net/manual/ja/function.gettype.php
http://jp.php.net/manual/ja/function.get-class.php
ほい。
0384nobodyさん
2008/01/19(土) 01:25:50ID:???0385381
2008/01/19(土) 01:37:05ID:FuloTUhnありがとう 助かりました
0386nobodyさん
2008/01/19(土) 02:27:23ID:???全米が泣いた。
0387nobodyさん
2008/01/19(土) 05:24:17ID:nyppE0sx2回質問したが全くレスがない。
ちょっと難しい論点を出すと、全く歯が立たないんだなぁ。
このスレの住民の能力が手に取るように分かった。
0388nobodyさん
2008/01/19(土) 05:25:34ID:???0389nobodyさん
2008/01/19(土) 05:46:08ID:???> 2回質問したが全くレスがない。
> ちょっと難しい論点を出すと、全く歯が立たないんだなぁ。
お前の質問の仕方が悪いんだろ。人のせいにするな。
0390nobodyさん
2008/01/19(土) 07:36:55ID:???debug:【和称】デバッグ
デバックではないアホ
0391nobodyさん
2008/01/19(土) 07:58:06ID:???「鯖」とか普通に使ってたりするんだよな。
っていうか、何でFFFTPが急に出てくるのか分からない。
0393nobodyさん
2008/01/19(土) 08:39:29ID:uG/K5st/古フランス語puc由来なので
デバックで濁らないのが本来の発音、アホ。
0394nobodyさん
2008/01/19(土) 08:54:19ID:uG/K5st/英貴族は当初は濁らなかったんだよ。
デパック。
0396339
2008/01/19(土) 09:18:23ID:???Cakeのアプリ作成の動画があったから見たら、そんな使い方してたのよ
http://p4life.jp/cake/
FWがどんな感じで動くのかわからないときにこういう動画見たから、
てっきりFW自体がそういうものだと思い込んでた
ちとZend調べてきまー
0397nobodyさん
2008/01/19(土) 09:43:37ID:ctJIPU4vclass A {
public function Test(){
echo "TEST";
return 0;
}
}
class B extends A {
function Test2(){
echo "Hello ";
parent::Test();
}
}
$extends = new B();
$extends->Test2;
この場合、「Hello TEST」と表示されますが、
extendsなしで、
parent::Test();を
A::Test();とすればいいのに
extendsをするメリットはあるのでしょうか?
0398397
2008/01/19(土) 09:46:29ID:ctJIPU4vメソッドの継承は、別クラスからClass::hogehoge()で呼べばいいだけで・・・あれ?
0399nobodyさん
2008/01/19(土) 09:55:10ID:???0400397
2008/01/19(土) 09:57:16ID:ctJIPU4v普通に便利ですねこれ
ただ、使い方間違えるとゴチャゴチャになりそうで怖いです・・・
0401nobodyさん
2008/01/19(土) 10:12:49ID:???0402397
2008/01/19(土) 10:16:08ID:ctJIPU4v自分の解釈では
「メソッド・メンバ変数の継承」
class Aで使っていたメソッドやクラスをclass Bに継承させると考えていいのですよね?
0403nobodyさん
2008/01/19(土) 11:39:42ID:FuloTUhngettypeで判別したらstringになってたんですが、コレは仕様ですよね?
数字のままdbに保存→引き出し をする方法はないですか?
0404nobodyさん
2008/01/19(土) 11:44:11ID:???>>397のソースは不可解。
includeみたいなものだと勘違いしてない?
>class Aで使っていたメソッドやクラスをclass Bに継承させると考えていいのですよね?
A(スーパークラス)で定義したメソッドやフィールド(メンバ変数)をB(Aのサブクラス)で継承する。
またはAで別クラスを継承してた場合、そのクラスのものも継承する。
継承についてはオーバライドやポリモーフィズム(多態性)を理解しないと使うのは難しいと思う。
0406nobodyさん
2008/01/19(土) 11:56:23ID:QtJ57h/6参考にしながら書いてみたのですが、重い処理をしているのではないかとか、
間違ったコーディングをしているのではないか、と不安になってここで質問してみました。
どうぞよろしくお願い致します。
test.php ファイルの内容
<?php
// 日付、IPアドレスを取得
$date = getdate();
$day = $date["year"] . sprintf("%02d",$date["mon"]) . sprintf("%02d",$date["mday"]);
$ip = getenv("REMOTE_ADDR");
// 重複入力チェック。同じ日に同じIPアドレスからであると、はじく。
$fp = fopen("test.dat", "r");
if($fp == false){ printf("<html><body>エラー:ログファイルが開けません。</body></html>");return;}
while( !feof($fp) ){
$read_line = fgets($fp, 1024);
$file_day_ip = split(",", $read_line);
if( ( $file_day_ip[0] == $day )and( $file_day_ip[1] == $ip ) ){
consecutive_error_html();
return;
}
}
fclose($fp);
// POSTを受け取る。
$q1 = $HTTP_POST_VARS["Q1"];
$q2 = $HTTP_POST_VARS["Q2"];
$q3 = $HTTP_POST_VARS["Q3"];
$q4 = $HTTP_POST_VARS["Q4"];
$q5 = $HTTP_POST_VARS["Q5"];
0407nobodyさん
2008/01/19(土) 11:58:19ID:QtJ57h/6// 未入力チェック。いきなりtest.phpにアクセスしてきた時にもはじく処理。
if( ($q1=="")or($q2=="")or($q3=="")or($q4=="") ){
input_error_html();
return;
}
// 任意入力欄にて、CSVで使用している文字を変更する。
$q5 = ereg_replace(",", "、", $q5);
// 任意入力欄にて、改行を <br> に変更する。
$q5 = ereg_replace("\r|\n", "<br>", $q5);
// 文字列をつなげてファイルへ書込み
$write_line = $day . "," . $ip . "," . $q1 . "," . $q2 . "," . $q3 . "," . $q4 . "," . $q5 . "\n";
$fp = fopen("test.dat", "a");
if($fp == false){ echo "<html><body>エラー:ログファイルが開けません。</body></html>"; return;}
if(flock($fp, LOCK_EX)){
fwrite($fp, $write_line);
}else{
echo "<html><body>エラー:ログファイルのロックが出来ません。</body></html>";
return;
}
fclose($fp);
finish_html();
return;
0408nobodyさん
2008/01/19(土) 12:00:13ID:QtJ57h/6// 連投拒否
function consecutive_error_html(){
echo "<html><title>エラー</title><body>";
echo '<div align="center"><b>エラー:連投ですか?</b><br>';
echo "$ip<br>";
echo '<a href="test.html">戻 る</a></div>';
echo "</body></html>";
}
// 入力不備
function input_error_html(){
echo "<html><title>エラー</title><body>";
echo '<div align="center"><b>エラー:Q1〜Q4すべてを選択して下さい。</b><br>';
echo '<a href="test.html">戻 る</a></div>';
echo "</body></html>";
}
// データ登録完了
function finish_html(){
echo "<html><body>";
echo '<div align="center"><b>ご回答ありがとうございました。</b><br>';
echo '<a href="test.html">戻る</a></div>';
echo "</body></html>";
}
?>
終わり
0409nobodyさん
2008/01/19(土) 12:22:27ID:t8kHENxA$q1 = $HTTP_POST_VARS["Q1"];
$q2 = $HTTP_POST_VARS["Q2"];
$q3 = $HTTP_POST_VARS["Q3"];
$q4 = $HTTP_POST_VARS["Q4"];
$q5 = $HTTP_POST_VARS["Q5"];
この部分
$HTTP_POST_VARSは古い$_POSTに変更
値は配列にしたほうが後々楽
$Q[1] = isset($_POST['Q1']) ? $_POST['Q1'] : null;
$Q[2] = isset($_POST['Q2']) ? $_POST['Q2'] : null;
0410nobodyさん
2008/01/19(土) 12:44:54ID:???if( ( $file_day_ip[0] == $day )and( $file_day_ip[1] == $ip ) ){
これは
if($file_day_ip[0] == $day && $file_day_ip[1] == $ip){
でいい下の$q1〜等もそう
$HTTP_POST_VARSは$_POSTでいいし
$ip = getenv("REMOTE_ADDR");
の部分は$ip = $_SERVER['REMOTE_ADDR'];に置き換えられる
あと重複チェックなら1行ずつ取得して
文字列一致を探した方が早いんじゃ?
それとCSVで使用している文字を変更するとあるが
勝手に入力値を変更するはどうかと
やるならダブルクォーテーションで囲って
ダブルクォーテーションを&quot;に置き換えた方が良い
あと自作関数だがエラーと完了のみにして
function error($errMsg,$title='',$param=null){
エラー処理(かくのめんどくせ)
}
因みに連投拒否のところに書いてある$ipは表示されないからねっ
0411nobodyさん
2008/01/19(土) 12:48:04ID:???俺も単なる関数の集合としか使えてなかったけど
Zend Framework使ったらオブジェクト指向の利点が体感できたよ。
0412nobodyさん
2008/01/19(土) 12:56:38ID:???なんでq5だけに改行や','が入ってくるって決め付けてるのさ
0413403
2008/01/19(土) 13:15:48ID:???>保存する直前でintに変えてから保存すれ
フォームでsubmitした時点で文字列になっちゃうわけですかね?
気づかなかった、確認してみるよ ありがとう
0415nobodyさん
2008/01/19(土) 13:20:28ID:CC01YTh8アマゾンAWSECSというwebサービスからXMLを取得
→XMLファイルに保存
→XSLTファイルを作成(画像URLとタイトル抜き出し)
→PHPのxslt_process関数を用いてXSLTを適用しHTMLを出力
ってな事をしたました。
リロード7回に1回の割合で上手く表示されるのですが、
ほとんどの場合空白ページが表示されてしまいます。
これを回避する方法はありませんでしょうか?
原因すらよくつかめてませんで_(_ _;)_
なにか考えられることありませんでしょうか?
ブラウザはIEとFireFoxで試したのですがIEのほうが少し空白になる割合が低そうです。
コード・サンプルなどは要望がありましたらUPしますけど。
0416nobodyさん
2008/01/19(土) 13:29:11ID:???ちゃうだろ、例えpostで取得した時点で文字列だとしてもクエリ発行の際に
クオーテーションで囲むか否かで数値として入れるか文字列として入れるかが変わる
0419nobodyさん
2008/01/19(土) 13:32:21ID:???0420nobodyさん
2008/01/19(土) 13:41:16ID:???データベースに書き込んだ時点で、PHPでどういう型で
扱っていたかなんか忘れ去られる。
SQLで数値をクォーテーションでくくったからと言って
数値で記録されるというわけでもない。そもそも数値だろうが文字だろうが
全部クォーテーションでくくって何の問題もない。
データベースにはPHPの型情報なんて記録されていないんだから、
データベースから取得した時点で型がどうなるかは、データベースと
そのスキーマ定義と読み込むときに使用するPHPライブラリに依存する。
まあ、普通はデータベースのフィールドの型になるだろうが例外もあるだろう。
つまりだ、なんのデータベースを使って、テーブルのフィールドの型が
どうなっていて、どのライブラリを使ったか書けという話。
0421406
2008/01/19(土) 13:42:58ID:QtJ57h/6古い表記を知らなかったなど、変なコーディングをしていたことに気づき、
勉強になりました。
>>409
古い表記とかあるのですね。調べてみます。
確かに、受け取るデータは配列に入れて管理すると楽になりますね。
ループで一気に処理など出来ますし。
>>410
私はつい、(...)and(...)を使ってしまうへんな癖があるようです。直します
IPアドレス取得のコードは表記が古かったのですね。
> あと重複チェックなら1行ずつ取得して
> 文字列一致を探した方が早いんじゃ?
これは、具体的にはsplit(",",$read_line)を使用せずに、
例えば以下のようにするという意味でよろしいのでしょうか。
$day_ip = $day . "," . $ip;
if(preg_match($day_ip, $read_line))
> それとCSVで使用している文字を変更するとあるが
> 勝手に入力値を変更するはどうかと
確かに言われてみるとそうですね。"にしてみます。
> あと自作関数だがエラーと完了のみにして
> function error($errMsg,$title='',$param=null){
言われてみて、そういうまとめ方がいいなと気づきました。
構造的に似たような関数になってますしね。
> 因みに連投拒否のところに書いてある$ipは表示されないからねっ
自分の環境で動かしていて気づいていなかったのですが、
確かにおっしゃる通りですね。スコープを考えていませんでした。
0422403
2008/01/19(土) 13:48:09ID:???ほんとだ、、SQL送信直前にintvar()したけど、取得したら文字列でした
最終的に、取得値をNullと0で区別したいんですが…
取得値に対して再度intvar()しなきゃいけないのかな やっても
登録するカラムのデフォルト値がNULLなんで、
if(intvar(取得値)===0){〜〜;} ってした場合、NULLを拾ってきた場合も
処理してしまいますよね? めんどくさいなー
0423406
2008/01/19(土) 13:48:56ID:QtJ57h/6> なんでq5だけに改行や','が入ってくるって決め付けてるのさ
これは、誰かがformを自作して変なデータを入力しようとするのを
防ぐという意味合いですよね?
Q1〜Q4においても、入力されるデータにチェックをかける必要が
ありますね。
0424415
2008/01/19(土) 13:51:52ID:???//header("Content-Type:text/html;charset=EUC-JP");
$strDir=dirname(__FILE__);
$strXml=$strDir."/[****].xml";
$strXsl=$strDir."/[****].xsl";
$objPrc=xslt_create();
$result=xslt_process($objPrc,$strXml,$strXsl);
//print(mb_convert_encoding($result,"EUC-JP","UTF-8"));
if ($result){
print $result;
}else{
print"errno=".xslt_errno($objPrc);
print"err =".xslt_err($objPrc);
}
xslt_free($objPrc);
?>
あいよー汚いソースですんません。PHP側のソースはこんだけ
XSLTは静的に(XML文書内にXSLTを指定)はなんら問題なく表示されてます。
0425nobodyさん
2008/01/19(土) 13:57:12ID:???0426415
2008/01/19(土) 14:00:16ID:CC01YTh8どうも借りてるレンタルサーバ(ロリポ)でおかしく、サクラだと何の異常もなくうごいたので、
どうもレンタルサーバの負荷もしくは環境かなと。
迷惑かけてすいませんでしたー。
>>425ごもっともw
0428nobodyさん
2008/01/19(土) 14:56:18ID:???420よめよ。。
だいたいオマエのDBは文字列型も数値型も両方同じフィールドに入るのかと。
アドホッククエリ書いてる気がするんだけど、そうなら連結してる変数を
intに変えようが全く意味がないし。
nullと0の区別はPHPのように型が緩い言語ではやりにくい。
ライブラリとか使ってるなら勝手に変換されちゃうこともあるんでさらに。
なので数値型のフィールドではnot null制約しといて規定値0にしてる。
0429403
2008/01/19(土) 15:27:14ID:???すみません、422書いてる間に420のレスもらってたみたいで読めてませんでした
カラムはint型でデフォルトがNULLです
0だと後々の処理の中で意味を持ってしまうので(>>422)そうしたつもりだったんですが
いっそのことNULL指定もしない空欄にすべきでした
PHPが型指定あいまいってのを今回ようやく痛感した感じです
>>420
>データベースにはPHPの型情報なんて記録されていないんだから、
確かに…って感じです ありがとうございました
0430nobodyさん
2008/01/19(土) 15:30:26ID:???■ このスレッドは過去ログ倉庫に格納されています