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

【PHP】下らねぇ質問はここに書き込みやがれ 61

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/12/19(水) 03:33:51ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
01331332007/12/22(土) 03:51:34ID:PQDDH9MU
レン鯖やヤフーメイルで仮登録
→メールが送られてきて、リンクをクリックすると本登録
→サーバスペースやメールboxが作られる

この一連の動作を自分のサイトで実現しようと思ったら何を勉強すればいいだろうか。
phpとDB系を組み合わせればできる?
0134nobodyさん2007/12/22(土) 04:03:34ID:???
>>129
DB関連でエラー出たらそれ出してるんだと思ってた。。
セッションやApacheへの接続数より、DBがボトルネックになることが
多い気がするし、「現在アクセスが集中しています。」の表示が出るまで
ちょっと時間かかるサイトが多いし。

ただしDB接続エラーでこれ出すだけでもDBに負荷かかるんで、132の言う
通りApacheでやるのが一番いいかなあ。
Apacheの設定、PHPでセッション数、DBの接続エラー全部でそういう処理
入れといて、DBの接続エラー出る前にApacheの接続数の上限に達する
ようにうまく調整するのが一番よさそう。
0135nobodyさん2007/12/22(土) 04:21:23ID:???
>>133
メールサーバとサーバOSもかな。Webサーバもね。

・仮登録メールを受信してPHPを実行する仕組みが必要。これはメールサーバ。
 本登録用のメールはPHPがメーラーの役割を果たして、メールサーバ利用して
 返信する。
・サーバスペースは物理的にHDDにフォルダ作ることになるから、PHPからシェル
 コマンド叩くとかの処理がいる。手動であらかじめ作っといて、空きがないなら
 登録拒否とかでもいいかもだけど。。
・メールボックス作成はやったことないんでよくわからん。
 コマンドラインでそういう処理ができるメールサーバはありそうだから、やっぱり
 PHPから実行することになるかな。これも手動であらかじめ、ってできるかもだけど。
・Webサーバの知識はWebアプリ作る以上当たり前。


その機能を実装するだけなら通り一遍の知識でも動くと思うけど、
サーバスペース貸与サービスってレンタルサーバでできるのかな?
できないなら自分でサーバたてて運用することになるんで結構大変。
特にメールサーバは下手に立てるとWebサーバ以上に迷惑をかけることになるので。

知り合いがそういうサービス個人でやってたけど、自宅にサーバ
置いてたしなあ。
01361272007/12/22(土) 05:00:56ID:???
自己解決しました
一旦外で実行してから読み込めばいいんですね どうもお騒がせしました
0137nobodyさん2007/12/22(土) 05:57:17ID:???
>>133
分かりにくい質問だけどメールサーバ関係ないんだろ?
セッションやmd5でユニークな値を持つチケットを発行すれば済む話
01381332007/12/22(土) 06:35:51ID:???
>>135 レスありがとうございます。
実は趣味で自宅鯖立てて、最近スペース貸出を考えているのですよ。
それでそんなプログラムできればいいかな、と。

PHPって結構いろんなことできるんですね。PHPを習得するとともに、まずメル鯖立てるために固定IPゲットせねばw
135さんのレスをもとに勉強の方針立てて頑張りたいと思います。

ところでこんな時間にレス、て何者?w
0139nobodyさん2007/12/22(土) 09:36:10ID:???
今日は休日だからな。
自鯖立てるのは結構だが、質問内容からするとかなり不安なので、
最初は審査はさんで手動登録にするとして、鯖管としての勉強をするのが第一。
踏み台になって周りに迷惑かけないようにね。
01401332007/12/22(土) 11:10:17ID:???
>>139
余計なお世話です。
0141nobodyさん2007/12/22(土) 11:21:56ID:JyLvDbSd
classが存在するか調べる方法はありませんか?

PEARでDB.phpが読み込まれているかチェックするために
クラスチェック("DB")のようにしたいのです
0142nobodyさん2007/12/22(土) 11:24:26ID:JyLvDbSd
class_existsで解決しました
0143nobodyさん2007/12/22(土) 13:21:02ID:iV97cpSO
$str = "1+2+3"; というようになっているstring があったとして、
これを数式だと解釈して 1+2+3 (= 6) を返すような関数て
ありましたかね?
0144nobodyさん2007/12/22(土) 13:21:36ID:???
>>143
eval
0145nobodyさん2007/12/22(土) 13:36:39ID:iV97cpSO
>>144 ありがとう。

$str = "1+2";
echo $str. "\n";
eval("\$str2 = $str ;");
echo $str2. "\n";

解決した。
01461382007/12/22(土) 13:46:19ID:???
>>133
まあ鯖管やるといろいろと勉強になるし、がんばってくれ。
ただ139と同意見でもあるので、いっぺんにいろいろやろうとせずに
PHPならPHPだけって感じでやっていったほうがいいと思う。
メールサーバは半日放置すればすぐ踏み台にされるし、他のメール
サーバの管理者から文句が来たり、ISPその他から警告来ることがあるよ。
0147nobodyさん2007/12/22(土) 15:17:14ID:JyLvDbSd
PEARのmimeDecodeで
$structure = Mail_mimeDecode::decode($params);
をしたときに、メールの件名・本文の文字コードを取得したいのですが、
本文はcontent-typeにありますけど、件名がありません。
どこで取得すればよいのでしょうか?
0148nobodyさん2007/12/22(土) 15:29:17ID:XDbomIjm
本でもWebでもいいんですが、PHPの長い良質なソースコードないですか?

勉強したいので。。独学ですが、普通の本のソースじゃものたりなくなりました。。

よろしくお願いします。
0149nobodyさん2007/12/22(土) 15:35:26ID:???
>>148
pear
zend framework
あたりかな
01501482007/12/22(土) 15:40:37ID:XDbomIjm
>>149
どうもありがとうございます。その2つをとりあえず見てみます。あと、思いついたんですが
洋書でいいのないですかね?あっちの方が本格的な気がして。。洋書でいいのを知っている方
教えてください。よろしくお願いします。
0151nobodyさん2007/12/22(土) 15:49:04ID:???
シェル形式(perl形式)のコメント#って廃止予定とかあったりする?
あまり使われてないようだけど、#がスクリプトに混ざってたりしたら気持ちわるかったりするのかな

#昔書いたスクリプトで、いたるところにコメントで/* */を使ってあるのをメンテしてて、
#/* */使って問題箇所を切り分けようとしたら酷い目にあった
0152nobodyさん2007/12/22(土) 15:50:38ID:???
>>150
「気がする」程度なら必要ない
それよりまず日本語ドキュメントを完全マスターすべし
0153nobodyさん2007/12/22(土) 15:54:32ID:???
>>148
PHP5でクラス使ってるのが所望なら、mediaWIKIおすすめ
俺はめまいがして静かにエディタを閉じたけどw
0154nobodyさん2007/12/22(土) 15:54:49ID:???
ユーザーが入力した式を
evalで実行してます。
(計算機のようなものです)

でもこうすると、ユーザーがたとえばファイル読み書きなんかの
命令を入れたら実行されてしまいます。

なんかいい方法はありますか?
ちなみに単純な計算機ではなく、関数など複雑な
式を入力することが出来きることが条件です。
0155nobodyさん2007/12/22(土) 15:55:21ID:???
pearなんてあんま良質とは思えないのも多々ある訳だが
動物本でも読んだら?
0156nobodyさん2007/12/22(土) 16:00:36ID:???
pearといえばNET_IP_V4←うろおぼえ
で、どんなIPアドレスでもネットワーク内ある(trueになる)という、
物凄いバグありバージョンがあったな
設置だけして使ってはいなかったけど
0157nobodyさん2007/12/22(土) 16:13:35ID:???
>>154
なんのためにそんなの作ってんの?
0158nobodyさん2007/12/22(土) 16:23:32ID:???
>>154
自分も式を扱うプログラム書いてるけど、色々処理が必要なので真面目にパースしてる。

簡単に済ませるなら、正規表現で計算式以外の要素が無い事を確認するのが良いんじゃないかと思う。
正規表現では対応しにくいようなら、Tokenizer使って分解してチェックじゃないかな。
http://jp2.php.net/tokenizer
0159nobodyさん2007/12/22(土) 17:20:10ID:???
>>157
複雑な検索条件入力 ですが?
0160nobodyさん2007/12/22(土) 18:52:20ID:???
>>154
>>1
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
01611482007/12/22(土) 19:01:21ID:???
>>152 日本語ドキュメントもしっかり読んでみます。ありがとうございました。
しかし、ソースを打ちたい。。

>>153 MediaWikiをググって見てみました。今のところどういうものかわかりませんが
時間ができたらよく調べてみようとおもいます。どうも有用な情報ありがとうございました。

お二方、お礼が遅くなりすみませんでした。ありがとうございました。
0162nobodyさん2007/12/22(土) 20:40:17ID:???
>>150
Advanced PHP Programming
がいいよ(洋書)。
0163nobodyさん2007/12/22(土) 23:19:52ID:???
>>162
すごい、きになる。
やっぱ洋書がいいのかなあ
0164nobodyさん2007/12/23(日) 01:20:47ID:???
別に変わらんと思うが
0165nobodyさん2007/12/23(日) 01:28:41ID:???
そりゃまぁ、書いてある事は同じだろ。
というか違う事が書いてあったら困る。
0166nobodyさん2007/12/23(日) 02:11:39ID:???
>>163
もう少しで新しいバージョンのが出るらしい。
今気付いたけど、Amazon見ても目次もないから買おうか迷ってる人が判断できないな。
もったいない。

この本には、中括弧の置き方くらいの事に関しても、BSD style, GNU style,
K&R style のそれぞれの説明とかがある。

あと、Extensionの説明だけでなく、「Writing SAPIs and Extending the Zend Engine」
なんて章があって、SAPIで使ってる構造体から説明してる。

データベースマッピングの複数のデザインパターンの説明もあって、
The Active Record Pattern とかいろいろ書いてある。

もちろんその他には、エラーハンドリング、テンプレートシステム、テスト、
キャッシング、セッション、認証、RPC、プロファイリングとかの説明もある。

なんて言うか、本格的。
なんで日本語訳されてないんだろう。
0167nobodyさん2007/12/23(日) 03:32:32ID:KIQSv7/M
[a.php]
<?
$hoge = 'a';
〜インクルードここまで
$hoge = 'b';
?>

[include.php]
<?
include 'a.php';
echo $hoge;
?>

$hoge = a にしたい場合、ifで制御する方法はありませんか?
include_break();みたいな
01681672007/12/23(日) 03:33:34ID:KIQSv7/M
ifで制御 → if以外で制御
0169nobodyさん2007/12/23(日) 04:06:10ID:???
ファイル分ければ?
0170nobodyさん2007/12/23(日) 04:16:30ID:???
>>167
わざわざ難しく考えないで、今できる知識で組めよ。
コードを今の10倍の量を書いたとき、新しい技法を覚えるってことよ
0171nobodyさん2007/12/23(日) 04:57:03ID:???
phpに関する初歩的な質問です。書いたコードは下に示します。
htmlquickformでメールフォームを作りたいのですが、その過程でprocess関数を使うところでつまづいてしまいました。
process('test',false)としてfunction test($values)と受け取るのですが、
具体的にvaluesが何の値を受け取っているのかがよく分からないのです。

下のコードでいうと
function mail($values)
{
mb_send_mail(??????????????);
}
のところで、「valuesって一体何?」と思うわけです。
直感的にmb_send_mail(:::@:::,$subject,$body);としてもダメなようですし、、、混乱してます。(C→phpとやってきたからかな、、、
0172nobodyさん2007/12/23(日) 04:57:57ID:???
ryaku
$form->addElement('header',NULL,'お問い合わせ');
$form->addElement('text','name','名前');
$form->addElement('text','mail','メールアドレス');
$form->addElement('text','subject','件名');
$form->addElement('text','body','本文');
$form->addElement('submit','sbm','送信');

$form->addRule('name','名前を入力してください。','required','client');
$form->addRule('mail','メールアドレスを入力してください。','required','client');
$form->addRule('mail','メールアドレスを正しく入力してください。','email','client');
$form->addRule('body','本文を入力してください。','required','client');

$form->setRequiredNote('<font color="Red">*</font> 必須項目です。');
$form->setJsWarnings('入力ミスによりエラーが発生しました。','エラーをご確認の上、再度[送信]ボタンをクリックしてください。');

if($form->validate())
{
$form->process('mail',FALSE);
}
else
{
$form->display();
}

function mail($values)
{
mb_send_mail(??????????????);
}

?>
0173nobodyさん2007/12/23(日) 05:00:50ID:???
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
0174nobodyさん2007/12/23(日) 06:07:25ID:???
SimpleXMLElementで、

<data>
aaa
<p>bbb</p>
ddd
</data>

てなXMLの"aaa"とか"ddd"のようなTextノードにはどうやって
アクセスしたらいいでしょう??
asXML()すると復元できるんだよなぁ
0175nobodyさん2007/12/23(日) 06:23:36ID:/N04QiDA
sageてしまった……すいませんorz

SimpleXMLElementで、

<data>
aaa
<p>bbb</p>
ddd
</data>

てなXMLの"aaa"とか"ddd"のようなTextノードにはどうやって
アクセスしたらいいでしょう??
asXML()すると復元できるんだよなぁ


1つ思いついたのは、
$dom = dom_import_simplexml($xml);
$dom->firstChild->nodeValue = 'zzz';
$sXml = simplexml_import_dom($dom);
とやる。
ってこれじゃーSimpleXMLの意味がない
0176nobodyさん2007/12/23(日) 07:02:39ID:???
XMLはあまり得意じゃないんで補足を待ちたいが、"aaa"とか"ddd"ってそれぞれ
単独のテキストノードなの?
aaa〜dddまでひとつのノードじゃないかって気がするんだけど。
<data></data>しかないじゃん。

さらにそのサンプルは<data>zzz</data>にしてる気がするんだけど、
"aaa"や"ddd"へのアクセスってのとの関連がよくわからん。
0177nobodyさん2007/12/23(日) 07:13:23ID:???
んでいちお意図を汲み取ると
<?xml version='1.0' standalone='yes'?>
<data>
<content>aaa</content>
<content><p>bbb</p></content>
<content>ddd</content>
</data>
ってことになるのかな。
$dom->content[0]で"aaa"、$dom->content[2]で"ddd"が取得できる。

後半意味が分からんのは変わらんので、
http://jp2.php.net/manual/ja/ref.simplexml.php
ここの例の部分よく読んで意図がちゃんと分かるように書き込みやがれこのキャベツ野郎。

あ、書いたXMLが正しいかどうかはとりあえずメモ帳当たりにコピペしてXMLで
保存してIEあたりで開けば分かるよ。
0178nobodyさん2007/12/23(日) 07:19:03ID:???
>$dom->content[0]で"aaa"、$dom->content[2]で"ddd"が取得できる。

ここ紛らわしいかな。
$xml = new SimpleXMLElement($xmlstr); //$xmlstrには177のXML文字列が入る
$content0 = $xml->content[0]; // aaa
$content2 = $xml->content[2]; // ddd
ってことね。
01791752007/12/23(日) 07:45:21ID:/N04QiDA
<data>
aaa
<p>bbb</p>
ddd
</data>

この状態でXMLとして正しくてDOMで厳密にいうと、
Elementノードdataの最初の子はTextノードで、"\naaa\n"となる。
2番目の子は、Elementノードpで最後の子がTextノードの"\nddd\n"。

んで、SimpleXMLElementから、"\naaa"などのTextノードにアクセスしたい。

$sXML = new SimpleXMLElement($xml);
$dom = dom_import_simplexml($sXml);
$dom->firstChild->nodeValue = 'zzz';
$sXml = simplexml_import_dom($dom);
ってやると、結果は
<data>zzz<p>bbb</p>
ddd
</data>
となる。

'zzz'の部分を"\nzzz\n"とすれば、
<data>
zzz
<p>bbb</p>
ddd
</data>
こうなる。


01801752007/12/23(日) 07:49:19ID:/N04QiDA
あっしまった。s/sXML/sXml/です。

ちゃんと書くとこう。
<?
$xml = <<<XML
<data>
aaa
<p>bbb</p>
ddd
</data>
XML;

$sXml = new SimpleXMLElement($xml);

$dom = dom_import_simplexml($sXml);
$dom->firstChild->nodeValue = 'zzz';
$sXml = simplexml_import_dom($dom);

echo $sXml->asXML();
?>
0181nobodyさん2007/12/23(日) 10:36:41ID:???
すみません質問です。 ヒアドキュメントの中で、プルダウンを動的に生成できません
というか、ヒアドキュメント外で実行した関数の値(プルダウン表示)を中に
持ち込めない状況です
$address1_PD = $callData->makeKenPd("address1",$address1,1);
(↑の関数は、<option val=n>nName</option>を40回ほどループしてprintします)
echo <<<DOC
<select name="address1">
$address1_PD;
</select>
DOC;
とやってもうまくいきません $address1_PD = print($callData〜 なども
試したんですがダメでした
お手数をおかけしますが、回答お願いします php5 apache2 winxpです
0182nobodyさん2007/12/23(日) 10:37:51ID:6DPIzhWO
すみません 上の181書き込みe-mail欄を消去しそこねました
アドバイスよろしくお願いします
0183nobodyさん2007/12/23(日) 11:22:06ID:???
おっぱいカッコ
0184nobodyさん2007/12/23(日) 11:42:34ID:MvcJEZMN
fgetcsvについて質問です。
A,B,C,D,E
F,G,H,I,J
K,L,M,N,O
という内容のテキストファイルcount.txtから

$handle = fopen("count.txt", "r");
$data = fgetcsv($handle);
for ($c=0; $c < 5; $c++) {
echo $data[$c];
}
fclose($handle);

というコードを用いてファイル内容を表示させようとしてるのですが
一行目までのABCDEまでしか値を取得出来ません。
二行目を抜き出すにはどんな条件を設定すればいいのでしょうか。
PHPManualを見ても、どの条件が該当するのか分からなかったので
よろしくお願いします。
0185nobodyさん2007/12/23(日) 11:53:45ID:???
>>184
http://jp2.php.net/manual/ja/function.fgetcsv.php
例をよく見ろ
0186nobodyさん2007/12/23(日) 12:12:21ID:MvcJEZMN
>>185
すみません、質問が悪かったですね。

Manualでは表示のためにwhileでfor文を繰り返してることは分かるのですが
!== FALSEがファイルの終端での全処理終了条件であることを除けば
単純にfor文を繰り返してるだけに見えるんです。
ABCDEABCDE...とループを繰り返さないための条件が何処に該当するのか、
ご教授お願いします。
0187nobodyさん2007/12/23(日) 12:41:31ID:???
>>186
fgetcsv()すればファイルポインタが1行進む。
しまくればいずれEOFに到達して終わる。
0188nobodyさん2007/12/23(日) 13:01:34ID:MvcJEZMN
>>187
whileの継続条件で用いられているfgetcsvが、
同時にポインタを進める役割も果たしてたということですか。
ポインタについてあまり学んでいないので気づきませんでした。
回答ありがとうございました。
0189nobodyさん2007/12/23(日) 13:06:40ID:Dd+txFZ/
質問です。
変換するコマンド、をexecさせたいのですが、
どうしても引数を受け取る関数が必要なのでしょうか?
例えば、
exec("convert $hoge $huga);
$hogeが引数のファイル
$hugaがconvertした後のファイル
としたいのですが、失敗してしまいます。
0190nobodyさん2007/12/23(日) 13:25:53ID:???
上の文を訳しなさい。【30点】
0191nobodyさん2007/12/23(日) 13:37:38ID:???
質問です。
FATをNTFSに変換するコマンドconvertをPHPのexec関数で実行させたいのですが
どうしても出力を受け取る第二引数が必要なのでしょうか?
例えば、
exec("convert $hoge $huga);
$hogeが変換するファイル名
$hugaが変換後のファイル名
としたいのですが、失敗してしまいます。
0192nobodyさん2007/12/23(日) 13:39:07ID:j7tEfXX4
質問があります。
PHP+PostgresqlまたはPHP+mysqlでシステム
を作ろうと思うのですが、PHP5が認識をしてくれません。
PHP info();でその部分がでてきません。
なんのパッケージをインストールしたらいいのでしょうか?
OSはFedora core4です。
板違いかもしれませんが、よろしくお願いします。
0193nobodyさん2007/12/23(日) 13:42:43ID:???
>>192
何をしたけど認識をしてくれないの?
0194nobodyさん2007/12/23(日) 13:48:06ID:???
SQLを、じゃない?
01951942007/12/23(日) 13:48:45ID:???
誤爆
0196nobodyさん2007/12/23(日) 14:46:06ID:???
>>192
板違いです
「fedora core4 php mysql インストール」とかでググレカス
0197nobodyさん2007/12/23(日) 14:55:33ID:???
板違いだが教えよう。
普通はyumでいれればパッケージ全部はいるはずだが、あとはphp-mysqlを入れればよいはず。php関連に限っていえばね
01981762007/12/23(日) 15:49:32ID:???
>>175
そのXMLであってるのか。。
DOM的には確かにノードの扱いはそうなると思うけど、XML的には
\naaa\n<p>bbb</p>\nddd\n がひとつのノードになるのは確かだと思う。
なので、
・DOM使ってXML的にもノードがばらけるように変換する。
・XML文字列を適当に文字列変換する。

くらいしかやっぱりないような気がするけどなあ。
0199nobodyさん2007/12/23(日) 16:13:53ID:???
>>175、>>176
\naaa\nはTextNode
<data></data>、<p></p>はElementNode
firstChildNode、SiblingNodeとNodeTypeとかでとれる気もするけどXMLってそういう使い方はしない気がする。
そしてSimpleXMLElementにそれがあるかどうかは知らない。
0200nobodyさん2007/12/23(日) 17:04:49ID:4Xlz9Mde
複数の変数をいっきにチェックしたいのですが効率的な書き方ありませんか?

if (empty($var1) && empty($var2) && empty($var3))

今こんな風になってます。
0201nobodyさん2007/12/23(日) 17:13:25ID:???
自分で関数を作る
0202nobodyさん2007/12/23(日) 17:52:07ID:???
emptyて !$hoge と同義じゃなかたけ?
0203nobodyさん2007/12/23(日) 17:56:22ID:???
>>200
別にその書き方でいいと思うんだけど。
02041752007/12/23(日) 18:08:04ID:/N04QiDA
>>175
XPathでもXQueryでもSAXとかも全部別々にあつかうし
XMLでも、それぞれ別にあつかうよ

>>198
それについては、>>179-180に

結論としては、やっぱ無理っぽい
SimpleXMLElementって名前な時点で、Elementノードしか
無理じゃないかな〜て気はしてたんだ

それでもやるなら、SimpleXMLElement派生させるなりHelper関数用意するしかないっぽい
02051752007/12/23(日) 18:11:12ID:/N04QiDA
どんべえ食いながらレスしてたら、レス番号ずれまくり……orz
>>204において

>>175 → >>198
>>198 → >>199

です。
0206nobodyさん2007/12/23(日) 18:11:19ID:???
>>202
変数限定(返り値や即値は使えない)ってことと
UndefinedVariableエラーにならないってとこらが違うかな。
0207nobodyさん2007/12/23(日) 19:35:35ID:???
>>200
in_array
0208nobodyさん2007/12/23(日) 19:56:37ID:Lt3D3rib
PHP4 から PHP5に移行して
サンプル集を買ってきたんですが

$select = "select * from hoge where name = $hage";
$query = mysql_query($select);
$result = mysql_result($query,0,0);

などと書いてた事が

$db = new mysqli(-------);
$aa = $db->prepare("select * from hoge where name = ?");
$aa->bind_param("s",$jakld);

みたいな文に変わってるのですが、結局どっちでもいいのでしょうか?
かなり戸惑ってまして一から勉強しないと全く分からない状態で・・。
0209nobodyさん2007/12/23(日) 19:57:23ID:???
>>200
1つのメソッドにする。
by 「リファクタリング」
0210nobodyさん2007/12/23(日) 20:04:09ID:???
>>208
mysql関数を使うスタイルとmysqliを使うのは
好き好きでいい(でもPHP5以降ならmysqli使った方がスタイルが入り混じらないので良い)
けど、後者のサンプルにあるプリペアードクエリの発行の仕方は反映した方が良いよ。
0211nobodyさん2007/12/23(日) 20:23:13ID:???
>>208
練習したり、ちょっとした使い捨てでないなら、どっちもよくない
PDOでもadodbなりPEARのライブラリなり、何でもよいが、
なんらかのインターフェイスでラップするべき
お薦めは、PDOだ。
0212nobodyさん2007/12/23(日) 20:24:33ID:2UmaE0fQ
pdoってなんですか?
02132082007/12/23(日) 20:38:27ID:Lt3D3rib
>>210
ありがとうございます。
prepareはたしか、パフォーマンスの向上と自動的にエスケープ
されるんでしたよね。

>>211
参考になります。ありがとうございました。

>>212
PHP Data Objects (PDO)
俺が説明するより検索したほうが確かな情報が得られると思うので。
02142082007/12/23(日) 20:51:51ID:Lt3D3rib
あ。。。
mysql4.1移行はmysqliを使わないとだめなんですね。。
サーバーが4.1以降だからmysqli使わないと・・・。

勉強しなおしか・・・。
0215nobodyさん2007/12/23(日) 21:04:06ID:???
別にmysqlでも書けるけど
02162082007/12/23(日) 21:34:13ID:Lt3D3rib
>>215
え?
試してみましたがエラーになってしまいます・・。
0217nobodyさん2007/12/23(日) 21:38:57ID:???
エラーになったと言われても
エラーを晒さないと解らないな

・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
02182082007/12/23(日) 21:44:48ID:Lt3D3rib
>>217
大変失礼しました。。。
平凡なエラーなんですが
Call to undefined function mysql_connect
です。

なんか凡ミスしてるっぽいなぁ・・・。
0219nobodyさん2007/12/23(日) 21:56:53ID:???
ぉぃぉぃ…
0220nobodyさん2007/12/23(日) 22:15:35ID:???
>>218
エスパーなので、Windowsだということも判るし
php_mysqli.dllが読み込まれてるのに
php_mysql.dllは読みこまれてないということも判る。
02212082007/12/23(日) 22:18:13ID:Lt3D3rib
!!
あなたの言うとおり!

ありがと。
0222nobodyさん2007/12/23(日) 22:20:25ID:???
すげえw
0223nobodyさん2007/12/23(日) 23:00:41ID:???
以上、自演でお送りしました
0224nobodyさん2007/12/24(月) 00:05:58ID:???
ID:Lt3D3ribが楽しそうでなによりだ。
0225nobodyさん2007/12/24(月) 00:48:15ID:sRF6QhUm
192です。
fedora core4 php mysql インストールで
ググッてみたんですが、でてきません。
また、今後はどこの板で聞けばいいでしょうか?
後postgresqlも認識してくれないのですが。
php-mysqlと同じでいいのでしょうか。
すいませんが、よろしくお願いします。
このことに関するサイトがあれば教えてください。

02262212007/12/24(月) 00:59:41ID:PecBMOMk
>>225
ここじゃだめかしら?

http://www.fedoraz.com/
0227nobodyさん2007/12/24(月) 01:37:31ID:???
>>225
それで検索すると>>226が出てくるわけで、それで分かんなきゃあきらめたほうがいい
0228nobodyさん2007/12/24(月) 02:52:04ID:???
あるサイトに昨日アクセスした際にスクリプトエラーが出て、
その内容が画面に出た際、xxx.incの何行目のエラーとか出た。
試しに、xxx.incのURLで指定したら、そのソースが丸見えwwで、
その中にDBの接続のためのパラメータ(ID、PWDまで)まで書かれている。

こんな馬鹿な作りをしているサイトに天誅を下そうと思うのだが、
面白い天誅の食らわし方ない?

知っている人も結構多い、大きめのサイトなんだが。
0229nobodyさん2007/12/24(月) 03:11:37ID:???
>>228
は?直ちに管理者にその旨を連絡するべきなのに、悪用しようなんてお前が逆にリアル天誅を食らうだけだから

一応言っておくと、明示的に公開されていないものに対してのアクセスで逮捕された前例もある
0230192です。2007/12/24(月) 03:19:58ID:sRF6QhUm
226さん、227さんありがとうございます。
postgresqlも使いたいのですが、yumでphp側のインストール
はなにをすればよいでしょうか?
サイトがあれば、サイトはありがたくブックマークしました。
02312082007/12/24(月) 05:28:08ID:PecBMOMk
>>229
「リアル天誅」ウケたwwwww

>>230
ごめんよ。fedora core4 とか初耳だし
OS違うとそんなにインストの方法が変わるなんて
知らないし、教えてあげられんよ。。。
0232nobodyさん2007/12/24(月) 05:48:42ID:???
>>230
検索ぐらいしようぜ
yum postgre phpとかで検索すれば直ぐ出てくるだろ
■ このスレッドは過去ログ倉庫に格納されています