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

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

■ このスレッドは過去ログ倉庫に格納されています
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/
0002nobodyさん2009/09/10(木) 22:53:48ID:???
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/

(以下英語)
■Smarty       http://smarty.php.net/
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0003nobodyさん2009/09/10(木) 22:55:01ID:???
立てるなら過去スレ張れよ出来損ない
0004nobodyさん2009/09/10(木) 22:55:06ID:???
前スレ → 【PHP】ID出さなくても質問OKなスレ【初心者歓迎】
http://pc11.2ch.net/test/read.cgi/php/1233590976/l50
0005nobodyさん2009/09/10(木) 22:56:39ID:???
姉妹スレDAT落ちしてるぞ
0006nobodyさん2009/09/10(木) 22:59:15ID:???
ほんと使えねえクズな>>1だな
立てられないなら無理して立ててんじゃねえぞボケ!
0007nobodyさん2009/09/10(木) 23:00:23ID:???
やっぱマイケル・ジャクソンの曲はいいなぁ♪
0008nobodyさん2009/09/10(木) 23:02:21ID:???
そもそももう統合していいんじゃね
ID出したくない理由ってなんだろうな
単にめんどいというならそういうやつには向いてないし門前払い審査には最適なんだがな
どうせテンプレもよんじゃいねえよ
0009nobodyさん2009/09/10(木) 23:07:20ID:???
削除依頼よろ
0010前スレ 9702009/09/10(木) 23:12:36ID:???
駄目だぁ、出来ない・・・パトラッシュもう疲れたよ・・・・・・
0011nobodyさん2009/09/10(木) 23:13:32ID:???
できないっつーかやることやってないからだろ
0012前スレ 9702009/09/10(木) 23:14:54ID:???
>>11
じゃぁ何をすれば出来ますか?
0013nobodyさん2009/09/10(木) 23:16:05ID:???
じゃ逆に聞くけど前スレ999は何故シカトなの?
0014nobodyさん2009/09/10(木) 23:20:13ID:???
phpinfo()の出力結果のLoaded Configuration Fileにパス書かれてあるとオモ
0015前スレ 9702009/09/10(木) 23:23:45ID:???
>>13
すみません、別のことしているうちに次のスレが立っていたもので・・・

>>14
Loaded Configuration Fileの欄には(none)と書かれています
コレがまずいのでしょうか?
0016nobodyさん2009/09/10(木) 23:34:00ID:???
Configuration Fileがロードされてないってことだと思いますが。
apacheのhttpd.confのPHPInDirで指定したパスに置かれたphp.iniが読み込まれます。
もう一度確認したほうが良いと思います。

以下回答者の愚痴です。
スレが立っていたから回答を無視するって何様?
999以前にも2回ほどphp.iniがロードされてないって言われてなかった?何を確認したの?
やることやってないってのは、「正しい修正をやってない」ということではなく「回答されたことをやってない」という意味だよ?
いい加減にしてほしい。
0017nobodyさん2009/09/10(木) 23:36:03ID:???
根に持ち杉きめえ
0018前スレ 9702009/09/10(木) 23:41:46ID:???
>>16
すみませんでした
わざわざ答えてもらってるのに
もう一度自分で色々試してみます
0019前スレ 9702009/09/10(木) 23:47:34ID:???
>>16さん

ありがとうございました
無事に解決しました!!
3時半から8時間かかりましたが、理由は>>16さんの教えてくれた、
>apacheのhttpd.confのPHPInDirで指定したパスに置かれたphp.iniが読み込まれます
この部分でした

『PHPを伝授する』スレの設定をそのまましていたもので、PHPIniDir "c:/php"が自分の設定では、PHPIniDir "c:/WINDOWS"でした
いやぁ、ほんと良かったです

>>16さんを含め、その他教えてくれた方々皆さんに本当に感謝します
ありがとうございました
今日中にはどうしても終わらせたくて、もし今日出来なかったら暫くふてくされてPHPから離れようと思っていたところでした
本当に皆さんありがとうございました
0020nobodyさん2009/09/10(木) 23:50:31ID:???
良かったね。
次からは改善してくれよ。

設定コピペとかは最高に馬鹿な行為だからね。身をもって実感できたかと。
0021前スレ 9702009/09/10(木) 23:54:43ID:???
>>20

いやぁ、マジでありがとうございました
自分の使ってる参考書にはPHPIniDirの記述が無くて、コレが何なのか分からないまま『PHPを伝授する』スレの通り設定していました
ほんと助かりました
非常に疲れましたが、良かったです
0022nobodyさん2009/09/11(金) 09:00:57ID:???
PHPとSQLiteで会社の簡単な車両予約を作っております。
同じ日付の予約が出来ないように、予約フォームからPOSTされたときに
同じ日に予約が既にある場合は、新たな予約を受け付けないように処理していますが、
予約後にブラウザの戻るボタンでフォームに戻り、同じ日付で再度予約を入れると受け付けてしまいます。

こういう場合はどのように対処すればいいんでしょうか?
0023nobodyさん2009/09/11(金) 09:03:29ID:???
日付の判定処理がちゃんとできてないように見えますが
0024nobodyさん2009/09/11(金) 10:02:25ID:???
>同じ日に予約が既にある場合は、新たな予約を受け付けないように処理していますが、

これがうまくいってない。
実行されるSQL文をvar_dumpなりで表示させて確認したほうがいい
0025222009/09/11(金) 10:06:20ID:???
>>23-24
ご指摘のとおりでした。SQLの判定文が間違っておりました。
スレ汚しをお許しください。
0026nobodyさん2009/09/11(金) 10:37:14ID:???
許してやる
0027nobodyさん2009/09/11(金) 10:40:09ID:???
お前アスペルガーだろww
0028nobodyさん2009/09/11(金) 17:34:22ID:???
PHP 5.2.9 を Windows で動かしています。
処理の長い処理に、順次 printing... を出したくて
http://jp2.php.net/manual/ja/function.ob-flush.php#90529 などを参考に

function flush_buffers(){
ob_end_flush();
ob_flush();
flush();
ob_start();
}

for($i=0;$i<10;$i++){
flush_buffers();
echo 'printing...<br />';
usleep(300000);
}

としてみましたが、結局、全部まとめて出てしまいます。
何かアドバイスをいただけませんか。
0029nobodyさん2009/09/11(金) 17:37:08ID:???
>>28
HTMLで出力してるんじゃないの?
0030282009/09/11(金) 17:44:19ID:???
>>29
早速ありがとうございます。
HTML で出したいのですが、
HTML で出力とはどういうことでしょうか…。
0031nobodyさん2009/09/11(金) 19:11:47ID:???
>>28
php5.2.10にバージョンアップしないの?
0032nobodyさん2009/09/11(金) 19:34:57ID:???
古いIEの256バイトの呪いとか、apachでのキャッシュとか、0.2秒で目視できないとか
0033nobodyさん2009/09/12(土) 22:40:15ID:???
<?php

 class aaa{

  public $b;

      }

 $c = new aaa;

 $c->b=1;

 print $c->b;

?>

----------------------------

オレ様が華麗にOOPに挑戦
0034nobodyさん2009/09/12(土) 22:51:03ID:???
$c = new aaa();
()つけような
0035nobodyさん2009/09/12(土) 22:56:05ID:???
>>33
直接フィールド($b)を操作するのはよくないからアクセサを用意してください。
継承しないフィールドは基本的に全てprivateでOK。

<?php
class aaa {
 private $b;
 public function setB($value) {
  $this->b = $value;
 }
 public function getB() {
  return $this->b;
 }
}

$c = new aaa();
$c->setB(1);
echo $c->getB();
?>
0036nobodyさん2009/09/13(日) 17:37:11ID:???
php.iniに、
pdo.dsn.samples="sqlite:C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\samples\samples.sqlite"
と書き加えろと参考書に書かれているのですが、別にどこに書き加えてもいいのでしょうか?
特にpdo.dsn=と言う様な行も見当たらないのですが
0037nobodyさん2009/09/13(日) 18:35:56ID:???
>>36ですが、事故解決しました
0038nobodyさん2009/09/13(日) 18:59:27ID:???
きめえところにインストールしてんな
俺ならD:\Apache2.2\htdocsだぞ
0039nobodyさん2009/09/13(日) 19:07:43ID:???
>>38
マジですか?
やっぱCよりもDの方がいいんですかね?
0040nobodyさん2009/09/13(日) 19:09:45ID:???
いやドライブはどこでもいいけど階層深いとめんどくさい場面があるから
0041nobodyさん2009/09/13(日) 22:36:14ID:???
xamppを使う場合、

\x

ってのを入れると、\xがなんか、
特別な意味に解釈されてしまって
うまく動かない、ってのを本で読んだんだが、
そうなの?

\xampp\sample\...

とかってパス名を使う場合。
0042nobodyさん2009/09/13(日) 23:27:01ID:???
だから初心者はxamppは使うな
0043nobodyさん2009/09/14(月) 00:19:06ID:???
>>41
\\って書けばいいだけ

>>42
お前は何をいってるんだ
0044nobodyさん2009/09/14(月) 14:33:45ID:???
ファイル書込を行いたいのですが
同じ処理をメール受信トリガーで起動させるとfopenでエラーが出ます
具体的には

function csv_write($email){
$result = "rslt";
$date = date('Y/m/d');
$word = $email.",".$date."\n";

$pointer=fopen("./csv/test.csv", "a");
if($pointer == FALSE){
$result = "fopen失敗";
mail("$email", "check01", "$result");
return;
}

flock($pointer, LOCK_EX);
fputs($pointer, $word);
flock($pointer, LOCK_UN);
fclose($pointer);
mail("$email", "check02", "$result");
}

これをそのまま呼び出したPHPにブラウザからアクセスすると書込成功するのですが
メール受信で起動させるとcheck01のエラーメールが届きます
この原因は何が考えられるのでしょうか?
0045nobodyさん2009/09/14(月) 14:48:08ID:???
カレントディレクトリが違うんじゃないのかな。
0046442009/09/14(月) 15:49:02ID:???
>>45
dirname(__FILE__)かましたら無事にできました!
ありがとうございました。

どーもこのカレントがちょろちょろ変わるのが慣れないですね
脳内エラーパターンリストに早く刷り込まないと
0047nobodyさん2009/09/14(月) 17:21:41ID:???
コマンドプロンプトで、C:\Documents and Settings\メイン>って言うのから、cd.. と打たなくてもいきなりC:\>となるような方法ってありますか?
0048nobodyさん2009/09/14(月) 17:24:41ID:???
スレ違い
0049nobodyさん2009/09/14(月) 17:56:27ID:???
そこをなんとか
0050nobodyさん2009/09/14(月) 18:01:44ID:???
c: だよ!もうPC一般行けよ!

http://pc11.2ch.net/pc/
0051nobodyさん2009/09/14(月) 19:04:31ID:???
phpで、すでに定義された関数を削除することはできるでしょうか。
やりたいことは、ライブラリやフレームワークが提供する関数を上書きしたいということです。
素直に再定義するとエラーになるので、関数をいったん削除できないかと思い、質問しました。
よろしくお願いします。
0052nobodyさん2009/09/14(月) 19:29:28ID:???
そういう場合は普通継承させるんじゃないの?
0053nobodyさん2009/09/14(月) 19:32:51ID:???
http://www.php.net/manual/ja/function.override-function.php
0054nobodyさん2009/09/14(月) 19:57:56ID:???
まあ、役には立たないのだけどね。
0055nobodyさん2009/09/15(火) 00:09:33ID:???
素直にクラス作って継承させちゃえよ
0056nobodyさん2009/09/15(火) 10:19:15ID:???
データベースというのはPHPの参考書には必ず書かれていますが、厳密にはPHPの分野なのでしょうか?
それともSQLやデータベースの分野になるのでしょうか?
0057nobodyさん2009/09/15(火) 10:20:51ID:???
釣りですね
0058nobodyさん2009/09/15(火) 11:11:20ID:???
いや、初心者なんでマジで聞いたんですけど・・・
0059nobodyさん2009/09/15(火) 11:13:16ID:???
データベースはデータベース
SQL,MYSQL,SQLLite,・・・
データベースと一口にいってもいろいろある
プログラミング言語と一口に言ってもいろいろあるのと同じ
分野と言うなら全部別
0060nobodyさん2009/09/15(火) 11:14:18ID:???
ツナマヨというのはコンビにには必ず置かれていますが、厳密にはコンビニの分野なのでしょうか?
それともおにぎりやツナマヨの分野になるのでしょうか?

変だろ?
0061nobodyさん2009/09/15(火) 11:49:37ID:???
関係データベースシステムを操作する言語がSQL(Simple Query Language)
一種のプログラミング言語と考えていい
0062nobodyさん2009/09/15(火) 15:37:41ID:???
Simple?
0063nobodyさん2009/09/15(火) 15:51:29ID:???
略語ですらないらしいな。
0064nobodyさん2009/09/15(火) 16:31:07ID:???
しーくうぇる
0065nobodyさん2009/09/15(火) 16:38:30ID:???
Structured English Query Languageが元だね
ただSImple Query Languageもあっている
0066nobodyさん2009/09/15(火) 19:54:37ID:???
すみません、queryメソッドと、prepare/excuteメソッドの使い分け&違いを教えていただけませんか?
どっちも同じような所で使われていて、本3冊を読んでみたりしたのですが分かりません
0067nobodyさん2009/09/15(火) 20:09:58ID:???
>>66
query →基本 初心者はこれを使え

prepare/excute → 上級者用
SQLインジェクション対策でこれを使う
はじめのウチは無視してOK
0068nobodyさん2009/09/15(火) 20:37:26ID:???
つうかなんで同じスレで聞かないの?
マルチと言うかは微妙だけどさ
0069nobodyさん2009/09/16(水) 10:48:49ID:???
>>67
そうやって脆弱性のあるプログラムが量産されるわけだな
0070nobodyさん2009/09/16(水) 11:04:34ID:???
と言うか、SELECT以外は全部prepare/execute使えばいいんじゃないの?
俺は良く分かっていないからそうしてるんだけどw
0071nobodyさん2009/09/16(水) 11:29:53ID:???
selectには何で使わないの?
sqlインジェクションの危険は同様にあるぞ
0072nobodyさん2009/09/16(水) 12:18:18ID:???
変なデータ入れられることはないが見られちゃまずいものを見られる危険性があるからな
0073nobodyさん2009/09/16(水) 12:20:02ID:???
>>71
じゃぁもう全部にprepare/execute89を使えばいいの?
0074nobodyさん2009/09/16(水) 12:37:36ID:???
>>72
> 変なデータ入れられることはない
いや、あるだろ。
■ このスレッドは過去ログ倉庫に格納されています