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

【PHP】ID出さんでも質問OKなスレ【初心者歓迎】2

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2009/09/10(木) 22:52:33ID:???
まず読む→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

姉妹スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 80
http://pc11.2ch.net/test/read.cgi/php/1233479457/
0809nobodyさん2009/11/07(土) 19:51:19ID:???
>>800
CGIに用いる言語はPerlに限らないって意味でしょ
0810nobodyさん2009/11/07(土) 19:58:19ID:???
ホームページ論争って何だ?
0811nobodyさん2009/11/07(土) 20:02:14ID:???
>>809 無知乙
0812nobodyさん2009/11/07(土) 20:04:49ID:???
>>810
「ホームページ」は自分がブラウザ開いた時に表示されるページだ。なんでもホームページ言うな!
今更そんな古い話持ち出すな、ホムペで通じるだろ老害!

みたいな話。
0813nobodyさん2009/11/07(土) 20:05:02ID:???
どのへんが無知?
0814nobodyさん2009/11/07(土) 20:06:05ID:???
名前からも分かるとおり、CGIはあくまでもインターフェイスであり、特定のプラットフォームに依存せずに、
ウェブサーバなどから外部プログラムを呼び出す仕組みのことを指す。

そのため、この仕組みを用いて起動されるプログラム本体のことをCGIと呼称するのは誤りである。また、
1990年代後半のCGIを使ったプログラムはPerlが大部分であったため、「CGIとはPerlまたはそれに類する
特定の言語のことである」という認識も広く存在するが、こちらも誤りである。
0815nobodyさん2009/11/07(土) 20:08:25ID:???
「CGIはPerlに限らない」や
「CGIに用いる言語はPerlに限らない」じゃ意味わからん。

「CGIを使ったプログラムはPerlに限らない」と書け。





というくだらん揚げ足取り?
0816nobodyさん2009/11/07(土) 20:10:22ID:???
間違った認識を正すのは揚げ足取りとは言わない。
0817nobodyさん2009/11/07(土) 20:11:39ID:???
筋肉痛が痛いっつったら
ハァっていちいち言うタイプだろ
0818nobodyさん2009/11/07(土) 20:12:20ID:???
多少省略しても成り立つのが日本語のいいところょ。
0819nobodyさん2009/11/07(土) 20:13:24ID:???
ホームページ論争みたいな事になってるしw
0820nobodyさん2009/11/07(土) 20:14:09ID:???
>>798-800

CGIはインターフェイスだから「CGIはPerlに限らない」はおかしい。

ではなく

CGIはインターフェイスだから「もはやCGIはPerlと同義語か?」はおかしい。

でしょ。
0821nobodyさん2009/11/07(土) 20:14:50ID:???
「きょうび、CGIと言われたらまずPerlの事だな。」もおかしいにょ。
0822nobodyさん2009/11/07(土) 20:16:51ID:???
ホームページって各ウェブサイトのトップページのことだよ
0823nobodyさん2009/11/07(土) 20:19:14ID:???
>>820>>821
そういう意味で使う人が多い、ってのは間違って無いだろ。
0824nobodyさん2009/11/07(土) 20:20:00ID:???
もうどこまでが本気でどこからがネタなのかwww
0825nobodyさん2009/11/07(土) 20:22:10ID:???
>>822
君の使ってるブラウザにもあるだろ、ホームページの設定。
0826nobodyさん2009/11/07(土) 20:23:25ID:???
>>825
ごめん、英語での意味の話。
僕ちんイギリスに住んでたのよ。
0827nobodyさん2009/11/07(土) 20:24:32ID:???
>>826
そうだったのか、ごめん。
0828nobodyさん2009/11/07(土) 20:26:07ID:???
ttp://www.cgi.com/
0829nobodyさん2009/11/07(土) 21:35:06ID:???
「CGIを設置する」って言い方が定着してるから、しょうがないんだろうな。
CGIはPerlだけじゃないよ、って解説してるページも多いし。
CGIのちゃんとした意味なんか知らなくても、応募フォームとか、会員管理するサイトとか作るのに支障はない。

けど、せっかく"prog"って付く板にいるんだから、RFC3875に目を通してみてはどうだろう?
The Common Gateway Interface (CGI) Version 1.1(日本語訳)
http://www.studyinghttp.net/rfc_ja/rfc3875
0830nobodyさん2009/11/08(日) 11:11:34ID:???
PHPを書くのにどういうテキストエディタがいいでしょうか?
0831nobodyさん2009/11/08(日) 11:12:38ID:???
komodo
0832nobodyさん2009/11/08(日) 11:17:10ID:???
こもどwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0833nobodyさん2009/11/09(月) 13:44:13ID:???
今までSQLite3使っていたのですが、MySQLに変えようと思っております
で、php.iniにてDSN宣言をしようと思うのですが、今までは
pdo.dsn.test="sqlite:c:\〜\Apache2_2\htdocs\samples\hoge.db"としていました
MySQLの場合は、
pdo.dsn.test="mysql:host=localhost;dbname=friend;charset=sjis"の他にどのように書けばいいのでしょうか?
SQLiteでいう、c:\〜\Apache2_2\htdocs\samples\hoge.dbの部分が分かりません
0834nobodyさん2009/11/09(月) 13:45:35ID:???
ファイルの指定なんていらんよ
0835nobodyさん2009/11/09(月) 14:13:07ID:???
>>834
では、例えば>>833の例で言うと、以上のpdo.dsn.testの設定で終わりで、
$user = 'aaa';
$pass = '111';
とすると、 $dbh = new PDO('test', $user, $pass); でいいのでしょうか?

$dsn = 'mysql:host=localhost;dbname=friend'; として、
$dbh = new PDO($dsn, $user, $pass); とする方法は分かっているのですが、少しでも記入を減らす為にphp.iniでDSN宣言をしたいと思いまして
SQLite使ってて、その宣言方が身についているもので
0836nobodyさん2009/11/09(月) 14:22:43ID:???
それでいいんじゃない?
0837nobodyさん2009/11/09(月) 14:26:44ID:???
>>836
申し訳ございません
それとは改行よりも上の部分の方でしょうか、それとも改行よりも下の部分の方でしょうか?
何度もごめんなさい
0838nobodyさん2009/11/09(月) 14:27:23ID:???
上のほうです
0839nobodyさん2009/11/09(月) 14:34:40ID:???
>>838
ありがとうございました
0840nobodyさん2009/11/09(月) 15:09:08ID:???
move_upload_fileのエラー処理でファイルがアップロードされているかどうかの判断を['size']でやってる人が
周りに何人かいるんだけど今はそれで大丈夫なの?
俺は今まで['erroe']の番号で0ならOKで3なら不完全で4ならアップされてないよ〜みたいな判断してて
かつerrorが0の場合にファイルサイズが0以上ならって感じで見てるんだけど、もしかして順番間違ってる?
0841nobodyさん2009/11/09(月) 15:15:38ID:???
errorで見たほうがいいんでないの
実質的には変わらんかもしれないけど
0842nobodyさん2009/11/09(月) 22:11:13ID:???
学習中のものです。
PEAR::DBじゃなくてPDOを使うのが主流なんですか?
PDO2もあるとどこかで読みましたし…。
0843nobodyさん2009/11/09(月) 22:19:39ID:???
学習中なら違いを学習してください
0844nobodyさん2009/11/09(月) 22:35:52ID:???
アンケート取ったわけじゃないからわからんが
今時はpear/peclに依存しないのが主流じゃね?
0845nobodyさん2009/11/09(月) 22:47:10ID:???
学習中なら主流なんて気にするな。
作ろうとするものに、どんな道具を使えばいいのかを考えとけ。
08468422009/11/09(月) 23:03:10ID:???
>>843
参考書に違いが載っています。
a)MySQL関数を使う方法、b)PEAR::DBモジュールを使う方法、c)PDOを使う方法
の3つの説明があり、それぞれの欠点は下のとおりでした。

a)MySQLでしか使えない
b)抽象化してセキュリティも配慮しているのでお勧めだが動作が遅め
c)ネイティブ実装で速度は申し分ないがサポートするRDBMSが少ない

PDOが使いやすそうですが、ウェブサーバを変えたときに対応してなかったら
コードの書き直しが必要になるので、迷っているところです。

>>844
PECLというのは初めて目にしましたが、Cで書かれていてPEARより高速なんですね。
でもPEARもPECLも避けたほうがいいということなら、選択肢から外そうと思います。

>>845
そうですね。
主流の方法を勉強しておいたほうが後々有利だと考えてしまいました。
0847nobodyさん2009/11/09(月) 23:07:31ID:???
>でもPEARもPECLも避けたほうがいいということなら、選択肢から外そうと思います。
いやPEARとPECLは使った方がいいよ
08488442009/11/09(月) 23:10:17ID:???
>>846
PDOはpeclだよ

避けた方が良いとかはないよ
ただ今はフレームワークが流行で、フレームワークはpear/peclに依存してないのが多い。

学習中なら全部やっとけ、覚えるのに時間かからんから。
0849nobodyさん2009/11/09(月) 23:21:29ID:???
>>847
そうなんですか…。
確かにPEARとかはインターネットで調べても情報がいろいろ出てくるので
よく使われてるんだなぁという印象を受けてます。

>>848
PDOってPHP5.1.0以降は標準で入ってるんですね。
サポートするRDMBSが少ないということですが、今のところMySQLとSQLiteしか
使ってないので、問題ないかなと思い始めました。

やっぱり全部やっておくのが一番ですよね。
まずどれか一つを使ってみてから、他の方法もそれぞれ使えるようにしていこうと思います。
ありがとうございました!
0850nobodyさん2009/11/10(火) 00:20:10ID:???
swfのFileReferenceでアップロード中にキャンセルすると、
$_FILES[xxx]['error']が0で$_FILES[xxx]['size']はアップロード済みのサイズになる。
これ、豆知識な。
0851nobodyさん2009/11/10(火) 01:11:54ID:???
突然なに?
0852nobodyさん2009/11/10(火) 01:51:13ID:???
いつものキチガイだろ
0853nobodyさん2009/11/10(火) 03:07:10ID:???
10レスくらいは、遡ってみろよと思う。
0854nobodyさん2009/11/10(火) 07:56:46ID:???
>>853
別の話題が間に入っているのにアンカーを付けなかったら
>>851-852のように思われても仕方ない。
0855nobodyさん2009/11/10(火) 09:43:53ID:???
10レスくらいでキチガイとか言っちゃったあげく、真っ赤になって言い訳か。
0856nobodyさん2009/11/10(火) 10:28:41ID:???
きっと>>840と>>850に関連があるって解らなかったんだよ。
0857nobodyさん2009/11/10(火) 11:01:27ID:???
どうやら本当にキチガイのようだ
0858nobodyさん2009/11/10(火) 11:11:02ID:???
自分以外がみんな「キチガイ」に見える人だったか、ご愁傷様。
0859nobodyさん2009/11/10(火) 11:17:36ID:???
>>850
まじかよ
俺も>>840みたいにerrorで判別してたからかな。
ちょうどswf扱ってたから、これ知らなかったら試験ではまったかもしれん。
0860nobodyさん2009/11/10(火) 12:42:58ID:???
まじかよw
0861nobodyさん2009/11/10(火) 13:23:00ID:???
本気と書いてマジと読むw
0862nobodyさん2009/11/12(木) 02:11:31ID:???
>>848
フレームワークはどれが主流?
0863nobodyさん2009/11/12(木) 02:16:21ID:???
ちいたん
0864nobodyさん2009/11/12(木) 09:22:24ID:???
>>862
pearと言われたらそれを素直に信じるのかい?
0865nobodyさん2009/11/12(木) 09:56:44ID:???
>>862
CakePHP・smarty・zend framework の3強
次点で、codeigniter

今後どうなるかはわからないが、勉強会などの人数で判断するとCakePHPが一番盛り上がってる
0866nobodyさん2009/11/12(木) 10:31:56ID:???
>>865
smartysmartysmartysmartysmartysmartysmartysmartysmartysmartysmartysmartysmartysmarty

え?
0867nobodyさん2009/11/12(木) 10:32:42ID:???
>>865-866
smartyじゃなくてsymfonyだったw

ごめんね、最近smartyの仕事ばっかでむかついてたからだと思う
0868nobodyさん2009/11/12(木) 10:55:56ID:???
ちいたんとか名前的に提案できないよ(´・ω・`)
0869nobodyさん2009/11/12(木) 11:12:56ID:???
ちいたんはドキュメントがないから素人におすすめできない
08707082009/11/12(木) 17:55:39ID:???
PEAR::DBもPDOも使わずに、adodb使ってるオレは少数派かw
0871nobodyさん2009/11/12(木) 22:36:54ID:???
>>864
意味不明
0872nobodyさん2009/11/12(木) 23:58:52ID:???
>>870
adodbってwindows限定?
0873nobodyさん2009/11/13(金) 01:26:27ID:???
PHPでブログ作成に挑戦してます。
サイドバーを表示する位置(右か左か)は、その位置によってHTMLを変えるんですよね?
それともCSSを工夫するだけでどっちにも表示できるんですか?
0874nobodyさん2009/11/13(金) 02:16:57ID:???
float使えばCSSでも可能じゃないかな
0875nobodyさん2009/11/13(金) 02:22:31ID:???
>>874
floatを持ってる本で調べたら
「ブログのマルチカラムデザインを作成する歳によく利用される手段です」と書かれていて
使い方の説明ページを見つけることができました!
ありがとうございました。
0876nobodyさん2009/11/13(金) 19:38:00ID:???
>>873
maloでも使っとけ
0877nobodyさん2009/11/13(金) 22:51:40ID:???
          「;:丶、:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:|
            ト、;:;:;:丶、:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:|
          {::ト、:;:;:;:;:;:` '' ー―――;:;: '|
           l::l . 丶、:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:|
           ',:i r- 、、` ' ―――一'' " .|
            || ヾ三)       ,ィ三ミヲ  |        Malo とは
            lj         ゙' ― '′ .|
           | , --:.:、:..   .:.:.:.:..:.:...  |     何じゃ
           | fr‐t-、ヽ.  .:.:. '",二ニ、、|
           l 丶‐三' ノ   :ヾイ、弋::ノ| 
           ', ゙'ー-‐' イ:   :..丶三-‐'"|
            ',    /.:   .      |
            ',  ,ィ/ :   .:'^ヽ、..  |
             ',.:/.:.,{、:   .: ,ノ 丶::. |
            ヽ .i:, ヽ、__, イ    _`゙.|
              ,.ゝ、ト=、ェェェェ=テアヽ|
           _r/ /:.`i ヽヾェェシ/   |
     _,,. -‐ '' " ´l. { {:.:.:.:', `.':==:'."    |
一 '' "´        ',ヽ丶:.:.:ヽ、 ⌒      ,|
             ヽ丶丶、:.:.ゝ、 ___,. イ |
              `丶、 ``"二ユ、_,.____|
0878nobodyさん2009/11/13(金) 23:24:30ID:???
ggrks
0879nobodyさん2009/11/13(金) 23:50:36ID:???
-rw-r--r-- 1 root root 0 10月 10 00:00 test
のファイルの文字を追加したく下記を作成しました。
<?php
exec("echo 'test' >> /tmp/test");
?>
これでは権限が足りずに追記できないためsudoで
apache ALL=(ALL) NOPASSWD: ALL
を設定しましたがダメでした。
このファイルにPHPから追記する方法というのは無いのでしょうか?
初歩的だと思うのですが解決策あればヒントもらえないでしょうか。
0880nobodyさん2009/11/13(金) 23:53:11ID:???
俺が歯磨き終わるまで待っててくれるのなら
08818792009/11/14(土) 00:00:27ID:???
>>880
歯磨きが数時間かからないのであれば待ちます
0882nobodyさん2009/11/14(土) 01:13:38ID:???
歯を磨きながら寝てしまったか
やっぱオナヌーしよ、と気分が変わったか
どっちかだな
0883nobodyさん2009/11/14(土) 02:10:55ID:???
PEAR::AuthでcryptTypeにMD5を指定すると
データベースに入っているMD5のパスワードと照合できるとのことですが、
認証のためにフォームに入力して送信するパスワードは
平文で流れるんですか?

自分でJavaScriptでMD5化してから送信したほうがいいということでしょうか?

ご教示いただければ幸いです。
よろしくお願いします。
0884nobodyさん2009/11/14(土) 02:49:47ID:IZ6ITEcO
SSLじゃないなら平文
0885nobodyさん2009/11/14(土) 02:51:38ID:???
phpがするってことは権限はapacheになるんだよね?
-rw-r--r--にapacheが追記って可能なのか?
0886nobodyさん2009/11/14(土) 17:53:48ID:???
>>884
ありがとうございます。
ハッシュ化せずに送信するのは一般的なのでしょうか?

SSLが安全だと思って導入方法を調べてもよくわからなかったので
SSLを使わない方法を検討しているところです。
0887nobodyさん2009/11/14(土) 19:53:13ID:???
>>886
生パスワードでもハッシュでも、送信した情報を途中で
キャプチャされる事を考えたら、安全性はどっちも同じ。

ハッシュ値で比較するのは、主にデータベースの中身
が漏れた時の対策。
生パスワードで管理すると、情報が漏れたらログイン
し放題だけど、ハッシュで比較するなら危険性は低い。
その意味で言うと、ハッシュ値を送信して比較するのは、
生パスワード同士で比較してるのと一緒。
0888nobodyさん2009/11/14(土) 20:05:59ID:???
>>887
どうもありがとうございます。

むしろ生パスワードを送信したほうがいい
っていうことになるんでしょうか?
0889nobodyさん2009/11/14(土) 21:27:01ID:???
せめべBasic認証ぐらいやれ
0890nobodyさん2009/11/14(土) 22:43:04ID:???
>>889
アドバイスありがとうございます。

調べてみましたが、Basic認証でもパスワードは平文で送られるんじゃないでしょうか。
Digest認証というのも調べましたが、どちらもダイアログボックスが出てきてしまうようですね。
Facebookやmixiのログインページのように、ダイアログボックスが出ない方法がいいなと思ってます。

現在、MD5化したパスワードをデータベースに保存し、ブラウザから送信するときも
MD5にして送るようにしていますが、送信データもDBもMD5だと良くないということが
>>887さんのご説明でわかりました。
結局どうしたら良いのでしょうか。
0891nobodyさん2009/11/14(土) 23:03:42ID:???
グローバル変数なんですか、どっから呼び出してるのかわかりません
1つ1つ探して行くしかないのでしょうか・・・?
大変じゃないですか? 
0892nobodyさん2009/11/14(土) 23:42:17ID:???
>>891
・大変じゃないようなソースを書くようにする
・IDEを使う
・grepする
0893nobodyさん2009/11/14(土) 23:52:58ID:???
>>879
それができたら権限の意味がない
ようにも見えるが>>880なら回避方法あるっぽい
0894nobodyさん2009/11/15(日) 09:16:48ID:???
方法は知らんがmessagesに書いてくれるものがなかったっけ?
それ使えば出来るんじゃないかと適当にレスをつけてみる
0895nobodyさん2009/11/15(日) 09:54:26ID:???
>>894 知ったかぶりでスレ浪費すんなkasu
0896nobodyさん2009/11/15(日) 13:15:49ID:???
>>895
知らないくせに煽ってんじゃねえぞksg
0897nobodyさん2009/11/15(日) 15:03:59ID:???
>>896
知らないくせに煽ってんじゃねえぞksg
0898nobodyさん2009/11/15(日) 15:17:35ID:???
>>897
同じ言葉を真似てる人ってリアルで気が弱いから言い返す力がない人によく見られる光景
0899nobodyさん2009/11/15(日) 16:58:09ID:???
>>898
主語が「同じ言葉を真似てる人」だから文末の「光景」は不自然

日本語もまともに使えない人ってリアルで学歴が低いから言い返す力がない人によく見られる光景?w
0900nobodyさん2009/11/15(日) 17:08:44ID:???
>>898
お前には他人の行動を咎めるだけの文章力がないんだよksg
0901nobodyさん2009/11/15(日) 21:15:02ID:???
error_logでいいじゃん
0902nobodyさん2009/11/15(日) 22:31:53ID:???
Defaults requiretty とか?
0903nobodyさん2009/11/15(日) 23:25:27ID:???
apacheにroot権限あげるかsudoするしかないんじゃないかな
もしくは-rw-r--r--を-rw-rw-rw-とかにして書き込めるようにするとか。
一番いいのはrootで動く別のものに渡してやるとかじゃないかね。
こっちはもともとroot権限ないと作れないけどどれもあんまりお勧めできんな。
0904nobodyさん2009/11/15(日) 23:40:52ID:???
PHP5.3.0にはlibmysql.dllはついてないの?ないんだけど
0905nobodyさん2009/11/16(月) 00:02:55ID:???
そのくらい自分で入れろよ
0906nobodyさん2009/11/16(月) 00:13:12ID:???
>>905
ん?どこで手に入れんの?
0907nobodyさん2009/11/16(月) 00:58:35ID:???
ありました
どうも失礼
0908nobodyさん2009/11/16(月) 10:53:06ID:???
PHPには、例えばココ(http://jigsaw.w3.org/css-validator/#validate_by_input)のように、
html、CSS、JavaScriptにあるような、構文のエラーをチェックしてくれるサイトはないのでしょうか?

後は、FireBugのようにバグを教えてくれる機能のあるソフトとか。

もしあるのであれば教えていただけませんか?


0909nobodyさん2009/11/16(月) 12:14:20ID:???
動かして問題があればエラー出るじゃん
レス数が900を超えています。1000を超えると表示できなくなるよ。