トップページ⇒php
986コメント299KB

【PHP】初心者コーナー 

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。02/01/21 03:21ID:???
長島も阪神のコーチになった。
仕方ない、人気のないPHPを応援してやる。 

データベース禁止 MySQL PostgreSQL はどっかいけ。
純粋にPHPプログラミングだけ。
初歩的な事ならWebProg板の誰かが素早く教える。
もちろんPerlプログラマーも手伝ってくれ。
ほんじゃ質問してみ。

 >>2-9 誰か情報かいてくれ。
051450603/02/12 18:46ID:???
>>507
なんか再度立ち上げたら更新マネージャーっていうのが出てきたから
チェックつけてまた再起動したらwebstudio入ったよ!ありが�d。
手持ちのスクリプトを読み込んでみたけど、表示がカラフルで、これだけでもメロメロだわ。
051551203/02/12 18:58ID:???
>>513
thanks
0516nobodyさん03/02/12 20:07ID:???
>>514
それどこで手に入るのですか?無料?アングラ?商用?
0517nobodyさん03/02/12 21:08ID:???
>>516
>>487
0518nobodyさん03/02/12 21:59ID:???
>>517
スマソ. . . . .
0519nobodyさん03/02/12 22:20ID:???
突然、お邪魔します。
phpをはじめたばかりの初心者ですが、
フォームリクエストの受取りができなくて困っています。
参考書に付いているサンプルプログラムも動きません。
なにか受取れない原因になるようなことがあれば御教えください。
0520nobodyさん03/02/12 22:22ID:???
>>519
まずはソースだす!
(ブルドッグ不可)
052151903/02/12 22:28ID:???
<html>
<head>
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Type" content="text/html; charset=x-euc-jp">
<title>一行テキストボックス</title>
</head>
<body>
<form method="GET" action="15-2-1.php">
<p><input type="text" name="text1" size="40"> <input type="submit"
value="送信します" name="b"></p>
<p><input type="text" name="text2" size="40" value="<? echo $text1 ?>"></p>
</form>
</body>
</html>

ソースです。
0522nobodyさん03/02/12 22:36ID:???
× $text1 , $text2
○ $_GET['text1'] , $_GET['text2']

は僕がかつて嵌ったところ。
0523nobodyさん03/02/12 22:37ID:???
まぁ予想通りのソースですね
052451903/02/12 22:43ID:???
>>522
ありがとうございます!
フォームリクエストを取得できました。

>PHP でのフォームリクエスト取得は実に簡単である。
>name に指定した名前に $ を付けた変数として渡ってくる。

と説明しているサイトもあるのですが、
なぜ$text1では駄目だったのか、よろしければ御教えください。
0525nobodyさん03/02/12 22:49ID:???
>>524
GET出来たhogeとPOSTで来たhogeとcookie出来たhoge

全部$hogeになるんですわ。困るでしょ?それに気付いて仕様変更。
052651903/02/12 23:31ID:???
>>525
納得しました。ありがとうございました。
0527nobodyさん03/02/13 00:05ID:???
>>524
ていうかそれ、securityhallになるから・・・
0528nobodyさん03/02/13 00:16ID:???
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
hallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhallhall
0529nobodyさん03/02/13 00:27ID:???
あーすまんすまん悪かったよ
Holeな。

間違ってることが判るなら正解を仕込む位の芸を見せろよ。
0530nobodyさん03/02/13 00:35ID:???
>>524
元のソースで動かしたかったら、php.ini の設定で
register_globals を On に設定すると動きます。
>>525さんの言うとおりセキュリティホール:-)になるので Off にしとくのがいいです。
0531nobodyさん03/02/13 01:38ID:???
動かないサンプルって、逆引き大全かな。
無理やり

extract($_GET);
extract($_POST);
extract($_COOKIE);
extract($_SESSION);
extract($_FILES);
extract($_SERVER);
0532nobodyさん03/02/13 08:05ID:???
>>531
へぇ、ハッシュを展開する関数なんてあるんだね。
0533nobodyさん03/02/14 12:24ID:pEDzFCHD
PHPは配列のスライスは出来ないのでしょうか?
0534nobodyさん03/02/14 12:27ID:???
>>533
できますよ。
053553303/02/14 12:34ID:pEDzFCHD
お、はやっ。バカ丸出しな質問でした。
とりあえず、
foreach ($abc[5,6,7] as $tmp){
ではエラーでした。

で、PHP 配列 スライスでぐぐって見てもそれらしいサイトは見つかりませんでした。
何か見本を見せてください。
0536nobodyさん03/02/14 13:39ID:L0Vo5dGR
array_slice($abc, 6, 3)
0537nobodyさん03/02/14 13:48ID:???
Perl:あらゆる機能を構文化->楽だが非常に品雑
PHP:なるべく関数化->きれいだがちょっぴり面倒
053853303/02/14 14:01ID:???
>>536
ありがとうございます。

何かちがうなぁと思いながら、
foreach (array($abc[5],$abc[6],$abc[7]) as $tmp){
のようなことやってました。

array_sliceで検索してたら
php.s3.to/man/
のようなサイトを発見できたので、ちょっと感動

>>537
こんなに関数があるのにびっくり。
PHPにはまってきた・・・
0539nobodyさん03/02/14 18:08ID:???
セッション変数について教えてください。

www.xxx.co.jp/~hoge1/
www.xxx.co.jp/~hoge2/

この二箇所に全く同じPHPプログラムを置いてるんですが、
hoge1では変数をちゃんと取得出来て問題ないんですが、
hoge2では、セットしたはずの変数がなくなてるんです。
こんな現象って起こるもんなんですか?????
0540nobodyさん03/02/14 18:34ID:???
session.cookie_path をちゃんと/~hoge2/ にしてあげる、とか?
関係ないかなあ??
0541nobodyさん03/02/14 20:14ID:???
hoge1とhoge2両方でphpinfo()して
sessionの項目を見比べる。
0542nobodyさん03/02/14 23:39ID:EY8KLa0R
今PHPで簡単な掲示板を作っているのですが、書き込みの内容から
htmlタグを取り除く定石のような物はあるのでしょうか?
0543nobodyさん03/02/14 23:43ID:???
>>542
$apreg_replace("/<[^>].>/"."".$a);
0544nobodyさん03/02/14 23:43ID:???
$a = preg_replace("/<[^>+]>/"."".$a);

失敗。
0545nobodyさん03/02/14 23:49ID:???
普通にstrip_tagは駄目?不完全なタグだとエラーだすから危険かも?
0546nobodyさん03/02/15 00:12ID:???
htmlspecialcharsで(´・ω・`)ショボーンさせるに一票。
054754203/02/15 10:48ID:???
>>543-546
ご返答ありがとうございました。
とりあえず、htmlspecialcharsを使ってみようと思います。
0548nobodyさん03/02/15 14:28ID:ZanyH2qR
PHPの本を買って勉強しているのですが、ひとつ疑問があります。
最新版のPHP4.3を入れたのですが
これって動作不安定なのでしょうか?
と言うのも正常に動かないプログラムがありまして。
本のサンプルをコピーしてみましたが、それでも動きません。

なので、PHP対応しているサーバにアップして動作チェックしてみたら
ちゃんと動きました。バージョンは4.2.2でした。

どうなのでしょうか?
0549nobodyさん03/02/15 14:30ID:???
>>548
mbstring辺りでバグがあるとか小耳に挟んだことあるけど。
0550nobodyさん03/02/15 15:29ID:???
エラーの内容とかを書いて欲しいよね。
0551nobodyさん03/02/15 15:46ID:ZanyH2qR
>>549
549マジですか?やっぱ戻した方が良いんですかね。。
>>550
エラーと言うか例えばユーザー認識プログラムがあったとして
最初にアクセスしたらユーザー認証フォーム?みたいなのが
出るのですが、私のサーバでは出ません。
で、プロバイダのサーバでは出ます。

あと、文字が変になるときがあります。
更新ボタンを押さないと通常の日本語に戻りません。
0552nobodyさん03/02/15 15:57ID:???
>>551
自宅サーバで散々ふざけたこと抜かしてるanhttpd厨ですか?
0553nobodyさん03/02/15 16:00ID:qpbVFxqP
>>552
全く動かないといっているので、違う人でしょう。
てか、他板の話題を無闇に持ってこなくても・・・
0554nobodyさん03/02/15 17:00ID:???
>>552
Apacheを使ってますが・・・。
0555nobodyさん03/02/15 17:58ID:???
本のサンプルが動かないのは日常事
0556nobodyさん03/02/15 19:10ID:ZanyH2qR
549さんの言われたとおり
バグがあるかな?と思って4.2にしたら問題なく動きました。

やっぱり、4.3ってバグが多いんですね。。。
0557nobodyさん03/02/15 19:52ID:???
逆。
バグが大幅に削られてしまった。
0558nobodyさん03/02/15 21:36ID:???
逆かな?例えば新しいバージョンのパッチとか必ず出るだろ?
OSであれ、プログラムであれ。
だから実は新しいバージョンほどパッチが無いと危険な罠。
0559nobodyさん03/02/15 23:46ID:???
逆だな。んで、それが問題だということだろ。
548さんのケースがどちらかは知らないが。

リリースアナウンス読むのが手っ取り早いとは思うけど、
こまかな変更に対応するのは面倒だな、、、。
0560nobodyさん03/02/15 23:56ID:???
>>559
けっきょくどっちかは分からないよ。総体としてバグは減ったんだろうがあたらしい問題は起きるんだから。
そのうちの一つに遭遇したからといって「多い」と感じるのはどうかと思うけど。
他に3.0特有のエラーとか起きてる人居ないのかな。理由もレポしてくれるとありがたい
0561nobodyさん03/02/16 00:09ID:ZJtTCIZO
ワケワカラン
0562nobodyさん03/02/16 00:27ID:???
だからさあ、どこがどう動かないのか分からないと
バグなのか何なのか分からないじゃん。
エラーメッセージとか動かない部分のソースとか
何か情報を提示してよ
0563nobodyさん03/02/16 12:27ID:???
社内で閉じたWEBアプリを作りたいんですが、ユーザ認証でWindowsの
ドメインコントローラーが保持しているパスワードリストを利用することは
可能でしょうか?
0564nobodyさん03/02/16 16:45ID:???
LogonUser
0565nobodyさん03/02/16 16:52ID:???
>>562
実は「どうこがどう動かないか」というのを
ちゃんと説明できる初心者っていないこと無いか?
それがわかれば自分で解決できるよ。
ただ「掲示板が動きません」とか「echoで書いたのに表示されません」
とか簡単な事しかわからないと思うよ。

漏れ自身も詳細にエラーを説明しろと言われても
なぜそのエラーが出てるのかわからないときがあるし。
0566nobodyさん03/02/16 17:35ID:sdGJ0v3u
すまんが教えてくれmOm
コマンドライン用にインストールしたphpで日本語のメール送信したいのだが
mb_send_mail()
が普通に使えない。いろいろ調べてみたんだが関数オーバーロード?しなきゃ
ならないらしい、どういう意味だろう?
0567nobodyさん03/02/16 17:37ID:???
>>566
よく知らんが状況から考えてオーバーロードしたところで何も解決しない予感。
0568nobodyさん03/02/16 17:38ID:sdGJ0v3u
反応してくれてありがとう。
だが、オーバーロードって何?
056956603/02/16 17:39ID:sdGJ0v3u
とりあえず、エラー内容は「その関数は存在しない」というメッセージだった。
0570nobodyさん03/02/16 17:41ID:???
>>569
とりあえず、Windowsならmb系はphp.iniいじらんと使えんよ。UNIXだとコンパイルオプションだわね。
0571nobodyさん03/02/16 19:53ID:tLSm4jGJ
すみません、質問させてください。

最近PHPを触り始め、いくつかサンプルスクリプトを書いてみました。
最初はソースをShift_JISで書いていたのですが、知人にPHPのソースは
EUC-JPで書いたほうがよいと言われ、EUCで保存して実行したところ、
出力される文字コードもEUC-JPになってしまいました。
(charsetはShift_JISで設定しています)

htmlとして出力する文字やデータファイルに書き込む文字のコードは
Shift_JISにしたいのですが、このようなことは可能でしょうか?

環境は自宅サーバにWin2000+Apache1.3+PHP4.0.2です。
よろしくおねがいします。

0572nobodyさん03/02/16 20:42ID:???
>>571

mb_convert_encoding()
ちょっとは調べたら?
057357103/02/16 21:12ID:tLSm4jGJ
>>572
すみません、自分では調べたつもりでいました。
mb_convert_encoding()で変数等の文字コードを変更できるのはわかっていました。

ソースをEUCで書いて、Shift_JISでブラウザに表示したい場合は
出力文字列をすべてmb_convert_encoding()で変換しなければならないということでしょうか?

たとえば、

$dat = "あいうえお";
echo $dat;

としたい場合でも、すべて

$dat = "あいうえお";
$dat = mb_convert_encoding($dat, "SJIS", "EUC-JP");
echo $dat:

としなければならないのでしょうか?
057457103/02/16 21:21ID:???
ちなみに、

mb_http_output("Shift_JIS");

を指定しても、ブラウザにはEUCで出力されてしまいます…
0575nobodyさん03/02/16 22:19ID:???
>>573
そらそうでしょ。
0576nobodyさん03/02/16 22:30ID:???
>>574
内部EUC
出力SJIS
出力ハンドラmbなんたら
他。
ちゃんと設定すればいちいち変換しなくていいはず。
0577nobodyさん03/02/17 04:49ID:???
>>575
ここは「初心者コーナー」で
>574は自分で調べて分からないっていってるんだから
そういうただ馬鹿にしてるだけのようなレスはやめてけれ。
まあ俺には答えられないんで引っ込んでます。
0578nobodyさん03/02/17 06:05ID:???
>>576の言う通り色々な場所で文字コードを指定できる(変わったことするには気にしなきゃいけない)ので、
この機会に覚えておいて損は無いよ。マニュアル見れば大体わかると思う。
本だと「PHP×PostgreSQLで作る 最強Webシステム」ってのがうまく纏めてあったな。
他の部分はどうってことない内容だったが、その部分は立ち読みする価値あり(w
0579nobodyさん03/02/17 06:32ID:???
つーか、Shift_JISでもほとんど問題ない。
0580nobodyさん03/02/17 06:55ID:???
SJIS対応は次期バージョンなんだっけ?
058157603/02/17 06:57ID:???
元文よく見たらphp4.0.2じゃんか。mb_stringまだなかったんじゃねぇの?
でも、>>573ではmb_convert_encoding使っているから、4.2.0の間違いか?

>>579
4.3.0以降で--enable-zend-multibyteを付けているか、藤本氏の
国際化版を使っていないと、SJISでは問題が出る可能性がある。
0582nobodyさん03/02/17 18:38ID:???
本家から落としたPHPのchm化したDocumentが読めないのだが、どうすればよい?
0583nobodyさん03/02/18 00:39ID:???
>>582
眼鏡かけてみたらどうかな?
0584nobodyさん03/02/18 00:51ID:???
>>582
日本語マニュアルだろ
確かに読めないな。「ページを表示できません」になる。

0585nobodyさん03/02/18 03:47ID:???
>>583
環境によるのかもしれない。
俺はMEとNTと2Kで確認したが、どれも見れず。>OS依存の可能性は低いかな
日本のサイトで公開してるやつは見れる。
0586nobodyさん03/02/18 21:49ID:+iSTKmnJ
お邪魔します。
フォームでチェックボックスを配列で受取りたいのですが、どうしたらいいのか分かりません。
どうか、御教えください。

for ($i=0; $i<$row; $i++) {
$no = mysql_result($result, $i, 0);
$name = mysql_result($result, $i, 1);
$tel = mysql_result($result, $i, 2);
print "<tr><td><input type = \"checkbox\" name = \"del_no[]\" value = \"$no\">".$no."</td><td>".$name."</td><td>".$tel."</td></tr>" ;
}
0587nobodyさん03/02/18 21:52ID:???
>>586
無理です。
0588nobodyさん03/02/18 21:59ID:???
自分のいるディレクトリの階層を知る方法ってありますか?
今はこんなことやってるんですけど…
$slashes = count_chars($_SERVER["PHP_SELF"], 1);
for($i = i; $i < $slashes[47]; $i++) {
$dir.= "../";
}
0589nobodyさん03/02/18 22:16ID:oWDXj+bJ
   ,.´ / Vヽヽ
    ! i iノノリ)) 〉
    i l l.´ヮ`ノリ <先生!こんなのがありました!
    l く/_只ヽ    
  | ̄ ̄ ̄ ̄ ̄|
http://saitama.gasuki.com/kaorin/
0590nobodyさん03/02/18 22:21ID:???
>>586
できるよ
print_r($_REQUEST['del_no']); で出力してみそ。
出力を見たら分かると思うけど、チェックされてないものは配列に前詰めされてしまう。
>>587が無理って言ってるのはその辺の意味もあるのかもね。<form>が無いからかも知れないけど。

>>588
dirname()は使えないかな?
059158603/02/18 22:41ID:???
>>590
仰るとおりになりました。
これなら、できそうです。ありがとうございました。
059258603/02/18 23:01ID:???
>>590
うまくいきました。
本当にありがとうございました。
0593nobodyさん03/02/18 23:04ID:???
徹底的に無視されたかわいそうな>>587
059458803/02/18 23:05ID:???
>>590
これは!と思ったけれど…。
階層知るには、やはりcount_charsをするしかないのかな。
059558603/02/18 23:06ID:???
ありがとうございました
0596nobodyさん03/02/18 23:07ID:???
☆★暇な人!荒らしがやりたい人!ここへ逝こう!ってか逝って。★☆
管理人がクソ厨なブタ野郎だからいじり倒してサイトを閉鎖させちゃえ!
閉鎖できた人は「荒らし王」の称号が手に入る!さぁ!荒らせ!!!!

http://www.geocities.co.jp/Bookend/6473/
0597nobodyさん03/02/18 23:17ID:???
>>582-585
適当に検索すればヘルプの中身が表示されるよ。
そこからトップページへたどり着ける。
激しく面倒だが。
0598nobodyさん03/02/19 00:10ID:YL/PSmd0
http://www10.ocn.ne.jp/~mailbiz/
0599nobodyさん03/02/19 02:48ID:oUZRirLt
PHP4.0.6です。
PHP初心者です。
PHP←→postgreSQLについて質問です。
odbc_connect()関数の呼び出しで
Call to undefined function: odbc_connect()
と出てしまいます.モジュールか何か足りないんでしょうか?
どのようにすれば動くようになりますか?
新しいのを入れたほうがいいのでしょうか?
よろしくお願いいたします!!
0600nobodyさん03/02/19 03:40ID:???
そこ、pg_connect()ちゃうのか?
060117303/02/19 13:59ID:pmHLZySe
>> 600
ゔ,pg_connectでした・・・
こんなんで悩んでたなんてはずかしいです・・・
ツッコミありがとうございます。
0602nobodyさん03/02/19 18:54ID:Bw4fiDtc
参考書を頼りになんとか簡単な掲示板(tecupのような)を作ったのですが
削除機能の付け方がわかりません。参考書にも書いてないし。。

どうすればよいか教えてください。(どの関数を追加するとか)
060358603/02/19 19:01ID:???
>>595
ワラタ。
ってか、騙るなよ。
0604nobodyさん03/02/19 19:22ID:???
>>602
それだけじゃ判らんてw
どっかにソースをアップしてみれ。
060560203/02/19 20:00ID:OPQFETdV
>>604
もういいです。他で聞きます。
0606nobodyさん03/02/19 20:40ID:???
>>605はこれから「それだけじゃ分からん」を何回言われれば気付くのでしょー(w





大方レス削除機能なんだろうけど、その機能のコードをまるまる他人に頼るつもりなんだろうか…
0607nobodyさん03/02/19 20:56ID:???
うーん、ネタか騙りのような気がするが・・・
0608nobodyさん03/02/19 21:03ID:Bw4fiDtc
>>603
わかりました。ちょっと待ってください。
0609nobodyさん03/02/21 00:19ID:D44CnFCN
古いバージョンのものを移植していますが、変数がうまく取り込まれません。
if (empty($submit))
の部分を
if (empty($_GET['submit']))
としても、その下にある<form action="">以下にある変数が
代入されないのですが....
0610nobodyさん03/02/21 00:32ID:???
>>609
$_POST['submit'] だったり?
0611nobodyさん03/02/21 02:41ID:???
>>597
インデックスがねーっつー方向でよろしいか?
あと、文字化けやらメニュー項目もおかしいんだけどまぁいいか。

だれか編者に連絡してくだちい。
0612nobodyさん03/02/21 03:51ID:vyQB60si
>>609に便乗して質問なのですが、いつのバージョンから$submitではなく、$_POST or $_GET["submit"]取得に
なったんですか?$_POST自体はPHP4.1.0だったと思うのですが。
0613nobodyさん03/02/21 05:38ID:XED00hVU
>571
>最初はソースをShift_JISで書いていたのですが、知人にPHPのソースは
>EUC-JPで書いたほうがよいと言われ、
まずここが間違いだと思われ。
EUCでなければならない根拠はない。

>576 にも書かれてあるが内部コードは統一したほうが余計な苦労をしなくて済みます。
■ このスレッドは過去ログ倉庫に格納されています