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

【PHP】質問スレッドpart33【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/02/16(木) 03:19:52ID:xwXojaq/
PHP全般の質問スレです。
【基本ルール】
・新規質問の方は上げてください。age進行でお願いします。
・質問者は2回目以降、最初のレス番号を名前欄に入れてください。
・回答者は質問者に対して>>(アンカー)をつけてください。
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry
・解決しなくてもこたえてもらったら礼を。
【質問テンプレ】
・マニュアルを調べたか、google検索したか(調べたキーワード)
・タイトル(禁:教えてください!etc) 例:requireとinclude
・内容 例:requireとincludeはどう違うのですか?
・質問する際には環境も明記。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
【PHP マニュアル】
http://www.php.net/manual/ja/
※マニュアル上部の「search for」から検索を活用すべし(便利)。

過去スレ、関連リンク、FAQ等>>2-10辺り
0153nobodyさん2006/02/22(水) 12:44:11ID:???
>>152
そこへ一言「マニュアル嫁」
で、終了
0154nobodyさん2006/02/22(水) 12:46:26ID:???
ま、マニュアルにそのものずばりの情報があるわけだが(使えるかどうかは知らん)
つ[http_filesize]
0155nobodyさん2006/02/22(水) 13:16:54ID:???
>>154
HEADでContent-Length拾ってるだけのようだ
0156nobodyさん2006/02/22(水) 13:54:37ID:???
あるdirectoryに存在するファイルをリンクつきで一覧表示させたいのですが、
とりあえずopendir関数使ってここまではできました。
ttp://oresama.hopto.org/~sheel/phptest/directory.php

ソースは↓です。
<?php
//open directory
$dir=@opendir("phpdirectory") or die("failed to open the directory");
while($file = readdir($dir)) {
if (!is_dir($file)){
echo $file ."<BR>";
}
}
closedir($dir);
?>

あとはこれにリンクをつけたいのですが、
<LI><A HREF="file1">file1</A>
のようにタグをつけるにはどうしたらいいのでしょうか?
0157nobodyさん2006/02/22(水) 14:01:11ID:???
え?釣り?
0158nobodyさん2006/02/22(水) 14:14:37ID:???
釣りだな
01591562006/02/22(水) 14:43:38ID:???
え? 釣りじゃありませんよ・・・orz

当方、phpを始めたのは今日が初めてで、
自宅サーバでやっとこさphpが使えるようになったのが今日なのです。
全くのphp初心者なので、超基本的なことだったらすみませんが、
教えていただくと助かります・・・orz
01601562006/02/22(水) 14:45:22ID:???
ちなみに>>156のソースはここです。
http://masago.kir.jp/php20041028.php
これをほとんどそのまま映しただけで、
こんなのを一から作り上げるスキルなどまだまだありません・・。
0161nobodyさん2006/02/22(水) 14:47:48ID:???
>>156
echo $file ."<BR>";
を
echo '<LI><A HREF="' . $file . '">' . $file . "</A>\n";
0162nobodyさん2006/02/22(水) 14:49:45ID:???
>>159
PHPを始めたのが今日なのか、
プログラミングの世界に触れたのが今日なのか?

どっちでもいいけど、
まずは、>>1にあるマニュアルで、一つずつ命令文を調べてご覧。
せっかく始めたんなら、聞く前にまずは自分で考えてみなよ。
0163nobodyさん2006/02/22(水) 14:49:57ID:???
> phpを始めたのは今日が初めて
初めての日に(しかも数時間で)こんな所に来たらイカンよ。
まずは本を買うかやさしい猿でもわかる参考サイトを探して
自分でやりなさいな。
0164nobodyさん2006/02/22(水) 14:51:05ID:???
>>161
信でイイよ
01651612006/02/22(水) 14:51:35ID:???
まちがえた
echo '<LI><A HREF="./phpdirectory/' . $file . '">' . $file . "</A>\n";
01661562006/02/22(水) 14:59:15ID:???
>>161
あ、ありがとうございます!!
さっそくやってみます。

>>162
初めてやったのがプログラミングというかスクリプティングで
shellscript(bash)です。bashに関してはまぁ初心者は脱したくらいの
レベルになりました。(bash歴一年くらい)
したがってphpもifとかforとか結構似たようなのが出てくるので
そこまで苦痛ではありませんが、ちょっとbashと較べると
わかりづらい感じはしています。
最初はSSIで無理やりディレクトリを表示させることをやってみました。
こんな感じでできるようになったのですが、↓
ttp://oresama.hopto.org/~sheel/directory/
「phpの方が簡単」
というアドバイスをいただきましたのでphpに挑戦しているところです。

>>163
そうですね。いろいろと猿でもわかるサイトを物色している最中です。
金はないので本は買えません・・・orz
01671562006/02/22(水) 15:00:16ID:???
>>165
ありがとうございます。やってみます。
01681562006/02/22(水) 15:14:57ID:???
>>165
ありがとうございますた!できますた!
本来、directory.phpと同じディレクトリに存在する
ファイルかフォルダを一覧表示させたかったのですが、
「自分と同じディレクトリ」を差すメタキャラがphpでは
わからなかったので、しょうがなくそれは後回しにして
わざわざ下位のディレクトリ「phpdirectory」をつくって
試していたのでした。
試しにbashでいうところの「.」を試してみると、なんと
phpでも「.」は「現在のディレクトリ」を差すようですね。
ついでに本当はファイルだけでなく、ディレクトリも表示されるように
if文を削除してみたら案の定正解でした。
ttp://oresama.hopto.org/~sheel/phptest/directory.php

しかし今度は新たな問題が出てきました。
bashを使った方法ではlsコマンドで「.htaccess」ファイルを
非表示にする方法があったのですが、phpではありますか?
01691562006/02/22(水) 15:18:03ID:???
今回学んだ最大の点といえば、
phpは<とか>とかをバックスラッシュで
エスケープする必要がないみたいなので
こういう点がweb programmingに向いてるんでしょうね。
もっと勉強してみなさんに教えられるくらいにはやくなりたいと思います。
0170nobodyさん2006/02/22(水) 15:29:47ID:???
>>168.169
ん〜〜〜〜なにか微妙に的外れな事で妙に感動しているようだが・・・
まぁ、頑張ってくさい。
0171nobodyさん2006/02/22(水) 15:35:59ID:???
覚えは悪くないみたいなのでPHPの基礎をきちんとやったほうが自分のため。
自分で本を探して数千円を投資するかしないかでかなり習得のスピードが違うと思う。

まあサイトでもいいだろうけど
0172nobodyさん2006/02/22(水) 15:37:47ID:???
>>168
http://jp.php.net/manual/ja/

それとphp.iniぐらい置いとけ
/etcにphp.iniが無いとphpinfo()が言っておるぞ
0173nobodyさん2006/02/22(水) 15:40:11ID:???
>>168
>bashを使った方法ではlsコマンドで「.htaccess」ファイルを
>非表示にする方法があったのですが、phpではありますか?
って、"."で始まるファイル名は表示しないって事じゃなくて?

ならファイル名の一文字目に"."のあるファイルは表示しないって処理を加えればいい

どっちにしろ一から勉強しないと自作は出来なさそう
phpの文法が分からないのに人のソース見ても上達するのかな・・
01741562006/02/22(水) 15:50:00ID:???
>>172
ああ、さっき一度php.iniは置いたのですが、
それはsafe_modeをOFFにしたかったからなんですけど、
どうもこのサーバは元もとOFFだったようで
だったら必要ないのかな、と思って削除しちゃいましたよ。
また置いときましょうかね。
デフォルトのままでいいのでしょうかね。
ま、またあとで編集すればいいのですし、とりあえず置くだけ置いときますよ。
それにしてもphpっていちいちディレクトリごとにphp.iniを置く必要があるんでしょうかね。
いやそんな記述がphp.iniにさっきみたとき書いてあったんで。

>>171
実を言うと本は読めないのですよ・・・orz
数学とか英語は偏差値90越えは普通でしたが、
国語だけは偏差値30くらいでした。池沼クラスです・・。

>>173
そうそう、「.」で始まるファイルを非表示にしたいのですが、
これは確かにbashで培ったスキルをもってすれば意外と簡単カモデスネ。
^.とかかな、とにかくphpの正規表現調べてやってみますね。

>>170
ありがとう。がんがります!
0175nobodyさん2006/02/22(水) 16:17:54ID:???
>>174
んまぁ、bashとか全然毛色の違う物の経験則に引きずられるのなら、
いっそ、passthru()とかでls叩いて、戻り値を整形したら?

本が読めない人間に、言語の習得は非常に困難だと思ふ
ってか、文学本か何かと間違っていないか?
01761562006/02/22(水) 16:24:13ID:???
正規表現はここを参考にして
ttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k09.htm
↓こんな感じにしてみましたが、ifのところがやっぱりおかしいんですかね・・。
うまくいきません。
ちなみにphpってエラーが起こると「何行目がおかしい」ってちゃんと表示するので便利ですね!

$dir=@opendir(".") or die("failed to open the directory");
while($file = readdir($dir)) {
if (($file)!="^¥..*"){
echo '<LI><A HREF="' . $file . '">' . $file . "</A>¥n";
}
}
closedir($dir);

>>175
lsを使ってdirectory表示させる方法はSSIですでに実現できています。
phpを学ぶひとつの例としてdirectory表示に挑戦しているのです。
ちなみに、言語を学ぶのには、英語と同じで、まずは実際の例文にいっぱい触れるのが
一番だと思いますよ。
文法から入っちゃうとかえって学ぶ速度が遅くなります。経験的に。
例文を読んでみて、「これってどういう意味なのかな?」って逆引的に
正書などで学ぶのが王道です。
0177nobodyさん2006/02/22(水) 16:24:56ID:???
>>174
2ch暦何年?
いい加減ウザいよ。

空気読めてない事ぐらいは察しろよ。
それができないなら質問スレでなりふり構わずレスするな。
01781562006/02/22(水) 16:25:04ID:???
今から夜勤なのでそろそろ行きますね。
みなさんのおかげでphpのなんたるかの触りくらいはわかるようになってきました。
またご指導よろしくお願いします。
01791562006/02/22(水) 16:26:52ID:???
>>177
2ch歴は3年くらいでしょうか。
空気を読むのはおまえよりは100倍くらい上だと思いますよ。
空気を読めてないのは自分だけってのがわからないみたいだね。
2chはまだまだ177のような初心者をいちころでだませるので楽しいですね。

じゃ、こんどこそ夜勤に言ってきます。
177はくやしかったら捨てぜりふのひとことでも吐いててねw(ぷげら
0180nobodyさん2006/02/22(水) 16:33:53ID:???
「>>179」の意地の悪さが垣間見れるレスですね
0181nobodyさん2006/02/22(水) 16:37:02ID:???
>>176
君はPHPよりPerlの方が向いてるかもしれない。
あれはsh他のコマンドラインスクリプトの発展したものだから文化が近いと思うよ。
PHPは見た目が少しPerlに似てる程度で考え方の基本はC言語に近い。
0182nobodyさん2006/02/22(水) 16:40:43ID:stieJNuS
最近PHP使わされてるんですが、PHPって、
たとえば関数がオブジェクトをかえすときに、

function foo() {
return new Bar();
}

foo()->baz();
みたいな関数呼び出しはできないんでしょうか?
なんか文法エラーって怒られるんですが…
PHP4です
0183nobodyさん2006/02/22(水) 16:41:47ID:???
>>179
一気に萎える('A`)

> 数学とか英語は偏差値90越えは普通でした
そいつは尋常じゃない数値だね。
英文で書かれた参考書の方が君にはあってるっぽいよ。

それと
if (($file)!="^?..*"){
の"^?..*"はマッチパターンであってereg関数なり使わないと。

ピリオドが2つ続いているのは良く分からないけどね。
0184nobodyさん2006/02/22(水) 16:43:18ID:???
偏差値90ってそうとう母集団が偏ってた予感。
全国テストとかなら満点とっても取れないよなぁ。
0185nobodyさん2006/02/22(水) 16:44:48ID:???
>>183
Perlなら if($file =~ /^\..*/) でいけるな。
あと、^\..* の正規表現の意味が分からないって、お前の方がやばくないか?
まぁ、後半の .* は別に要らないと思うけどさ。
0186nobodyさん2006/02/22(水) 16:52:38ID:???
もうなにやら、突っ込みどころ満載な人間が降臨して
嵐のように書き込んで、風のように去っていったって感じですね…

>>176
>言語を学ぶのには、英語と同じで、まずは実際の例文にいっぱい触れるのが一番

間違ってはいないと思うけど、君、例文とか無視だろ。
例文どおりにやって、どうやったらそんな正規表現マッチが書けるんだか???

ネット上の例文の多くは文責の無い物が混じった玉石混交
その中から正確な情報を適切に拾い出すにも基礎知識が必要になるでしょ。
その基礎知識を身につけるのに書籍とかマニュアルがイイよ、と言われても、
本が読めないとか、言って聴く耳持たず。
終いには、悪態ついて去っていくマナーの悪さ。
>>177もバカだけど、3年も2ch見ていて、煽りにいちいち反応するなよ。
0187nobodyさん2006/02/22(水) 16:55:06ID:???
>>182
ムリ
01881822006/02/22(水) 16:56:43ID:???
>>187
…なぜ?
意味解らん。

普通にプログラミング言語を設計(というかBNF)すれば、
半自動的に出来るようになりそうなもんですが…
0189nobodyさん2006/02/22(水) 16:58:33ID:???
>>188
PHP4のオブジェクト指向は後付の設計でオブジェクト指向向きの構造になってないから
0190nobodyさん2006/02/22(水) 16:58:52ID:???
>>185
いやいや、正規表現の意味が分からないんじゃなくて
このケースでは不要じゃないかな?と思って書いただけだよ。
0191nobodyさん2006/02/22(水) 17:01:08ID:???
>>190
実際には意味がなくても冗長な正規表現を書いちゃうことくらいよくあることだ
01921822006/02/22(水) 17:02:47ID:???
orz
ボスにかけあってPHPから脱出します

ちなみに5では可能でしょうか?
0193nobodyさん2006/02/22(水) 17:03:41ID:???
とりあえず、丸っきりの素人で書籍も読む気がない、というのであれば
くだらない質問スレ行き確定ってことでいーんじゃないか。
0194nobodyさん2006/02/22(水) 17:14:48ID:???
>>176の後半を読んで、ゆとり教育の弊害を痛感した。
0195nobodyさん2006/02/22(水) 17:17:27ID:???
>>191
そうだな。余計だったよ。

>>194
なるほど
0196nobodyさん2006/02/22(水) 17:18:44ID:???
例文から入ってわからんところは全部人に聞く。
確かにはためーわくだが効率はいいかもしれんなwwww
0197nobodyさん2006/02/22(水) 17:32:59ID:???
>>176
・・・・王道

裸の王様にならないようにね。
0198nobodyさん2006/02/22(水) 17:38:12ID:???
/~sheel/モノは放置の方向でお願いします。
0199nobodyさん2006/02/22(水) 17:45:28ID:???
サブドメが俺様
0200nobodyさん2006/02/22(水) 17:53:06ID:???
>>156は夜勤明けには
http://pc8.2ch.net/test/read.cgi/php/1139746974/
へ行ってくれ。
0201nobodyさん2006/02/22(水) 18:36:19ID:???
>>197
裸の王道か
上手い事言うなお前。
0202nobodyさん2006/02/22(水) 19:27:31ID:???
>>192
ここが参考になると思います。
ttp://www.doyouphp.jp/php5/php5_object.shtml
0203nobodyさん2006/02/22(水) 19:30:48ID:???
>>179
周囲の人間をもう一度よく見渡してみましょう。
空気読むのってなかなか難しいことですよ
ただし、>>177も空気読んでないように思えますが。
0204nobodyさん2006/02/22(水) 20:21:51ID:???
空気読んで俺も>>177が空気読めてないと思う。
0205nobodyさん2006/02/22(水) 20:24:32ID:???
空気読むのは日本人の悪い特徴ニダ
0206nobodyさん2006/02/22(水) 20:34:50ID:???
空気嫁=ダッチワイフ
0207nobodyさん2006/02/22(水) 23:05:14ID:???
空気婿は無いのかな?
0208nobodyさん2006/02/22(水) 23:19:25ID:???
挿れるとバリの部分が相当痛いぞ。
中を傷つける恐れあり。
02091562006/02/22(水) 23:38:40ID:???
いま、>>196が(・∀・)イイ!!こと言った!
0210nobodyさん2006/02/23(木) 00:00:56ID:???
韓国人みたいな人が帰ってきたな。
0211nobodyさん2006/02/23(木) 00:11:24ID:???
もう春厨がわいたのか?
0212nobodyさん2006/02/23(木) 00:13:18ID:???
>>209
空気嫁
0213nobodyさん2006/02/23(木) 01:11:56ID:???
ADOdbを利用しています。

$DB->getRow($sql); の結果のインデックスが数値のものと文字列のものが二重で
出てくるのですが、文字列インデックスのものだけにする方法はありますか?
0214nobodyさん2006/02/23(木) 01:55:13ID:???
>>213
文字列にキャストする。
$result = (string)$src;
もしくは関数を利用する。
strval ($src);

これ使えるか知らんけど、
settype ($src, typename);
typenameは文字列で"string"にすると文字列を返す。

一応マニュアル見てくれ。
0215nobodyさん2006/02/23(木) 02:55:24ID:???
>>213
事前に
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
でモードを設定

>>214
何の話だそりゃ
0216nobodyさん2006/02/23(木) 03:37:31ID:???
>>215
サンスコ!でけた!

直前だとこれでもいける
$DB->SetFetchMode(ADODB_FETCH_ASSOC);
02171562006/02/23(木) 04:47:14ID:???
>>183
ereg!!!
こんな表現をいちいち使わないといけないのですね。
ちょっと戸惑いを感じましたが俺様のスキルの高さのためか、
おまいらのせいかよくわからんけどなんとかやりたいことが
できるようになりましたよ!!!

<現在のディレクトリ内のファイルとディレクトリを
 まるでApacheのFancyIndexのように一覧表示する。
 ただし「.」(ピリオド)で始まるファイルorディレクトリは表示しない>

<?php
//open directory
$dir=@opendir(".") or die("failed to open the directory");
while($file = readdir($dir)) {
if ( !ereg ( "^¥.", $file)) {
echo '<LI><A HREF="' . $file . '">' . $file . "</A>¥n";
}
}
closedir($dir);
?>
02181562006/02/23(木) 04:51:31ID:???
>>217
の実際のphpサンプル出力がこちら。
ttp://oresama.hopto.org/~sheel/phptest/directory.php

あとはそれぞれのファイルの最終変更日と何キロバイトか、
って情報もいっしょに表示させたいね。
SSIではlsを使って↓のようなところまではできたんだけどね。
ttp://oresama.hopto.org/~sheel/index.shtml

phpではやはりファイル容量とか最終変更日とかまで表示させるのは
無理難題なのでしょうか?

とにかくおまいら役立たずにわざわざ聞く前に
とりあえず自分で調べてみますね。
0219nobodyさん2006/02/23(木) 04:56:21ID:???
>>218
filemtime
filesize
0220nobodyさん2006/02/23(木) 05:20:28ID:???
>>219
ありがとうございまし!
なんとかできますたね!
おれさまのスキルだよ!
ttp://oresama.hopto.org/~sheel/phptest/directory.php

PHPってのはbashと違って
・echoのあとにただ以下のように羅列していくだけでいい(下記参照)
・>とか、<とかをエスケープする必要がない
・エラーが起こるとブラウザ上で何行目がエラーか表示してくれる
っていう利点がてんこ盛りですね。
ますますphpにのめり込んでしまいそうです。

echo '<LI><A HREF="' . $file . '">' . $file . "</A> " . sprintf("%u", filesize($file)) . " " . date ("F d Y H:i:s",filemtime($file));
0221nobodyさん2006/02/23(木) 05:21:25ID:???
ちなみに掲示板つくったよ。
ttp://oresama.hopto.org/~sheel/phptest/bbs/gazou.php

どんどん書き込んでね。
0222nobodyさん2006/02/23(木) 07:00:21ID:???
なんだこいつ
きもいな
0223nobodyさん2006/02/23(木) 07:31:51ID:???
>>221
それはお前が作ったんじゃないだろ
ただ設置しただけ
0224nobodyさん2006/02/23(木) 07:41:22ID:???
単なる能無し
0225nobodyさん2006/02/23(木) 08:06:23ID:???
156は放置の方向でってなってるじゃん。こいつ出てくると
荒れるんだって。
0226nobodyさん2006/02/23(木) 10:35:24ID:???
>>156-160 辺りでは
謙虚な初心者だと思って幾つか回答もしたんだが、
はっきり言って、今は後悔しているorz
0227nobodyさん2006/02/23(木) 10:39:12ID:???
久しぶりに香ばしい奴が湧いてるなw
0228nobodyさん2006/02/23(木) 10:48:49ID:???
>>223
古式タソ思い出したよw
0229nobodyさん2006/02/23(木) 11:31:15ID:???
俺は昔から177はやってくれる子だと思ってたよ。
0230nobodyさん2006/02/23(木) 11:32:08ID:cRiHYjaV
指定されたファイル名が無い場合に
それを作って保存してくれる関数って無いでしょうか
0231nobodyさん2006/02/23(木) 11:34:22ID:NhHoHXRn
PHPを使ってMySQLを操作しています

SQLのinsert文やupdate文を用いてテーブルを更新
insert into テーブル名 (名前) values ('値') //自分の例
このような場合、「値」の部分に「'」が入っていると(例:TE'ST)実行に失敗するのですが
よい回避方法はありますでしょうか?
htmlentities($name, ENT_QUOTES);で文字を変換してやってみましたが出来ませんでした
0232nobodyさん2006/02/23(木) 11:46:03ID:???
>>230
fopen
0233nobodyさん2006/02/23(木) 11:47:54ID:???
PHPでXML関係の処理についての質問なのですが、こちらで良いですか?
もし板違いスレ違いだったら誘導していただけると助かります。

PHP5でSimpleXMLを使ってXHTMLファイル処理したいのですが、
どうも <html> 要素に xmls="http://www..." を指定すると、xpath()でノードを取得できなくなってしまいます。
xmlns 属性をまるごと消すと、目的のノードを取得できるようになります。
なぜ xmlns を指定すると取得できなくなるのか、原因と対策をご存知でしたら回答お願いします。
-----------------------------------------------------
【src.html】(このXHTMLの <html> 要素から xmlns を削除するとちゃんと取得できます)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="ja" xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>テスト</title>
</head>
<body>
<div id="nullpo">
ぬるぽ
</div>
<div id="ga">
ガッ
</div>
</body>
</html>

【test.php】
$sxml = simplexml_load_file('./src.html');
$xpath = "//div";
$res = $sxml->xpath($xpath);
var_dump($res[0]);
0234nobodyさん2006/02/23(木) 12:53:46ID:???
>>220
どこを立て読みしたら(r
0235nobodyさん2006/02/23(木) 13:42:17ID:???
>>157-158
0236nobodyさん2006/02/23(木) 13:50:14ID:cRiHYjaV
>>232
ありがとうございます
02372212006/02/23(木) 14:05:43ID:???
>>223
あ、すみません。全くその通りですた・・・ooorz

ttp://oresama.hopto.org/~sheel/phptest/bbs/gazou.php

このBBSはまんま「レッツPHP」さんの秀逸なBBSを
そっくりそのままの形で設置してみましたのです。
これをわたしがつくったかのように書いてしまったのはすみませんでした。
わたしはただ、PHP例文に多く触れることにとにかく主眼を置いていますので
とりあえず設置してみただけです。
設置、とひとことで言っても、これを行うにはMacOSXの
Terminalを使用してchmodコマンドを駆使したり、
mkdirコマンドを駆使したり、割と様々なテクニックが必要であり
1年前のわたしではまったくできなかったことでした。
とにかく「今そこにあるPHPプログラム」を少なくとも
「設置」くらいはできるようになった、と感動すら覚え、
まるでこどもが親に「ほら、ボク、こんなことができたYO!」
と言っているかのような錯覚に陥っていたのも事実でした。
0238nobodyさん2006/02/23(木) 14:08:14ID:???
ところで、PHPを使うと、
データベースの作成?流用?も楽々っぽい印象を思っています。
PHPのデータベースとの親和性を前面に打ち出して、
「署名をつのるためのPHPブログラム」
をつくってみたいと思います。
今、具体的に頭に描いているのは、

名前
所属
メールアドレス
コメント

というのをそれぞれ入力してもらい、
[投稿する]ボタンをクリックすると投稿される、というものです。
これはまんまBBSの形に似ているので、BBSを動かすPHPプログラムを
ちょちょっとせせるだけでなんとかならないかなぁと思っています。
もしなにかアドバイスがありましたらひとことだけでもよろしくお願いします。
0239nobodyさん2006/02/23(木) 14:50:33ID:???
>>231
mysql_real_escape_stringかmysql_escape_string
どちらがいいかはマニュアル調べれ
0240nobodyさん2006/02/23(木) 15:14:06ID:???
>>237
これからも、ここに書き込むのなら、
名前を固定にしてトリップをつけると幸せになれると思いますよ。
3年も2chに馴染まれているので、今更でしょうけど、
念のため、名前欄で「俺様#hogehoge」とかであなただけのトリップが持てますからね。
是非。
0241皮先くん ◆N3i.Qu1SoY 2006/02/23(木) 15:42:12ID:???
>>240
これでいいですか?

ではさっそく。
>>238
を実現するためには、php超ド初心者の俺としては
まず、軽いステップを踏む必要があると思い、
ここを参考にして<form>からPOSTで受け取るスキルを更新しようと
しています。
ttp://php.dori-mu.net/news.html

全くこの通りにやっているのですが、
どうにもうまくうごきません。
まず、
ttp://oresama.hopto.org/~sheel/phptest/news/newspost.php
これをやると、「hogehogeのように書き込まれました」
と表示されるはずなのですが、そうはなりません。
news.batへの書き込みがうまくいってないような感じです。
パーミッションの問題かな、と思ってnews.batは
「だれでも書き込み可」にしてみましたがダメですた・・・orz

どうしたらいいのでしょうか?
0242皮先くん ◆N3i.Qu1SoY 2006/02/23(木) 15:48:29ID:???
ちなみに、
このように
ttp://oresama.hopto.org/~sheel/phptest/news/
news.datとnewspost.phpとprintnews.phpは同じディレクトリ内に
存在しています。

あと、エディタを使ってnews.datに1234と一行書き込むと、
printnews.phpは正常に動作するようです。
ttp://oresama.hopto.org/~sheel/phptest/news/printnews.php

なぜ>>241のnewspost.phpがうまく動作しないのか、
ヒントだけでも教えていただけると助かります。
0243nobodyさん2006/02/23(木) 16:19:18ID:???
やっとあぼーんできる
0244皮先くん=241=242 ◆N3i.Qu1SoY 2006/02/23(木) 16:53:38ID:???
やっぱりダメですね。
スキルアッププロジェクトは遅々として止まったままです。
news.batへの書き込み自体はどうもうまく行っているようです。
なぜかというと、if分岐を削除すると
ちゃんと[]のnullが書き込まれているからです。
問題の根源は、formからsubmitとcontentsを
postしてないか、postされているのに受け取れない、
のどちらかかと思われます。
apacheの設定でformからのpostを有効にする、って設定が
あったりするんですかね・・・。で、それが無効になっている、と。

ちょっとその辺をひとりで調べてみますね。
0245nobodyさん2006/02/23(木) 16:54:04ID:???
皮先かよ!!本人か!?MacOSXだしな…
0246nobodyさん2006/02/23(木) 17:10:24ID:???
てかID出さないやつの質問に答えるのってどうなの。
>>245とか明らかに本人だろ。
0247皮先くん=241=242 ◆N3i.Qu1SoY 2006/02/23(木) 17:17:49ID:cy2LQUXf
失礼しました。
IDを出さない行為がよくない行為だというのは初めて知りました。
これからはIDもトリップも露出して正々堂々と闘うことを誓います。

>>244
の続きの話ですが、
どうもapacheは最初からpostとかgetとかサポートしているみたいですね。
というか世の中ほとんどGETなどの世界でWWWが存在しているっていうかw
う〜む、原因がわからない。
誰も教えてくれないようなのでひとりで悩むより
次の課題に取り掛かりたいと思います。

課題を思いついたらまた書き込みますね。
誰かが課題を出してくれても大歓迎です。
PHPのスキルの更新が目的ですので。
0248nobodyさん2006/02/23(木) 17:22:49ID:???
皮先練習スレとか立てた方がいいんじゃないのかww
0249nobodyさん2006/02/23(木) 17:36:43ID:???
>>240 GJ!
センブラ者あぼ〜ん設定汁
0250nobodyさん2006/02/23(木) 17:47:28ID:???
>>239さん
ありがとうございます
一応自力でどうにかする方法も見つけたのですが、こっちの方がスマートそうです
4.3以降はmysql_real_escape_string
それ以前はmysql_escape_string
を使うようです
0251nobodyさん2006/02/23(木) 17:47:51ID:???
お前ら(>>243>>249)馬鹿じゃないの?
そんなこと言っちゃったら名無しに戻っちゃうだろ
0252nobodyさん2006/02/23(木) 17:48:47ID:???
え・意図してIDって出せるの?
■ このスレッドは過去ログ倉庫に格納されています