【PHP】下らねぇ質問はここに書き込みやがれ 61 at PHP
[2ch|▼Menu]
[前50を表示]
150:148
07/12/22 15:40:37 XDbomIjm
>>149
どうもありがとうございます。その2つをとりあえず見てみます。あと、思いついたんですが
洋書でいいのないですかね?あっちの方が本格的な気がして。。洋書でいいのを知っている方
教えてください。よろしくお願いします。

151:nobodyさん
07/12/22 15:49:04
シェル形式(perl形式)のコメント#って廃止予定とかあったりする?
あまり使われてないようだけど、#がスクリプトに混ざってたりしたら気持ちわるかったりするのかな

#昔書いたスクリプトで、いたるところにコメントで/* */を使ってあるのをメンテしてて、
#/* */使って問題箇所を切り分けようとしたら酷い目にあった

152:nobodyさん
07/12/22 15:50:38
>>150
「気がする」程度なら必要ない
それよりまず日本語ドキュメントを完全マスターすべし

153:nobodyさん
07/12/22 15:54:32
>>148
PHP5でクラス使ってるのが所望なら、mediaWIKIおすすめ
俺はめまいがして静かにエディタを閉じたけどw


154:nobodyさん
07/12/22 15:54:49
ユーザーが入力した式を
evalで実行してます。
(計算機のようなものです)

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

なんかいい方法はありますか?
ちなみに単純な計算機ではなく、関数など複雑な
式を入力することが出来きることが条件です。

155:nobodyさん
07/12/22 15:55:21
pearなんてあんま良質とは思えないのも多々ある訳だが
動物本でも読んだら?

156:nobodyさん
07/12/22 16:00:36
pearといえばNET_IP_V4←うろおぼえ
で、どんなIPアドレスでもネットワーク内ある(trueになる)という、
物凄いバグありバージョンがあったな
設置だけして使ってはいなかったけど

157:nobodyさん
07/12/22 16:13:35
>>154
なんのためにそんなの作ってんの?

158:nobodyさん
07/12/22 16:23:32
>>154
自分も式を扱うプログラム書いてるけど、色々処理が必要なので真面目にパースしてる。

簡単に済ませるなら、正規表現で計算式以外の要素が無い事を確認するのが良いんじゃないかと思う。
正規表現では対応しにくいようなら、Tokenizer使って分解してチェックじゃないかな。
URLリンク(jp2.php.net)

159:nobodyさん
07/12/22 17:20:10
>>157
複雑な検索条件入力 ですが?

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

161:148
07/12/22 19:01:21
>>152 日本語ドキュメントもしっかり読んでみます。ありがとうございました。
しかし、ソースを打ちたい。。

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

お二方、お礼が遅くなりすみませんでした。ありがとうございました。

162:nobodyさん
07/12/22 20:40:17
>>150
Advanced PHP Programming
がいいよ(洋書)。

163:nobodyさん
07/12/22 23:19:52
>>162
すごい、きになる。
やっぱ洋書がいいのかなあ

164:nobodyさん
07/12/23 01:20:47
別に変わらんと思うが

165:nobodyさん
07/12/23 01:28:41
そりゃまぁ、書いてある事は同じだろ。
というか違う事が書いてあったら困る。

166:nobodyさん
07/12/23 02:11:39
>>163
もう少しで新しいバージョンのが出るらしい。
今気付いたけど、Amazon見ても目次もないから買おうか迷ってる人が判断できないな。
もったいない。

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

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

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

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

なんて言うか、本格的。
なんで日本語訳されてないんだろう。

167:nobodyさん
07/12/23 03:32:32 KIQSv7/M
[a.php]
<?
$hoge = 'a';
〜インクルードここまで
$hoge = 'b';
?>

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

$hoge = a にしたい場合、ifで制御する方法はありませんか?
include_break();みたいな

168:167
07/12/23 03:33:34 KIQSv7/M
ifで制御 → if以外で制御

169:nobodyさん
07/12/23 04:06:10
ファイル分ければ?

170:nobodyさん
07/12/23 04:16:30
>>167
わざわざ難しく考えないで、今できる知識で組めよ。
コードを今の10倍の量を書いたとき、新しい技法を覚えるってことよ

171:nobodyさん
07/12/23 04:57:03
phpに関する初歩的な質問です。書いたコードは下に示します。
htmlquickformでメールフォームを作りたいのですが、その過程でprocess関数を使うところでつまづいてしまいました。
process('test',false)としてfunction test($values)と受け取るのですが、
具体的にvaluesが何の値を受け取っているのかがよく分からないのです。

下のコードでいうと
function mail($values)
{
mb_send_mail(??????????????);
}
のところで、「valuesって一体何?」と思うわけです。
直感的にmb_send_mail(:::@:::,$subject,$body);としてもダメなようですし、、、混乱してます。(C→phpとやってきたからかな、、、

172:nobodyさん
07/12/23 04:57:57
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(??????????????);
}

?>

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


174:nobodyさん
07/12/23 06:07:25
SimpleXMLElementで、

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

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

175:nobodyさん
07/12/23 06:23:36 /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の意味がない

176:nobodyさん
07/12/23 07:02:39
XMLはあまり得意じゃないんで補足を待ちたいが、"aaa"とか"ddd"ってそれぞれ
単独のテキストノードなの?
aaa〜dddまでひとつのノードじゃないかって気がするんだけど。
<data></data>しかないじゃん。

さらにそのサンプルは<data>zzz</data>にしてる気がするんだけど、
"aaa"や"ddd"へのアクセスってのとの関連がよくわからん。

177:nobodyさん
07/12/23 07:13:23
んでいちお意図を汲み取ると
<?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"が取得できる。

後半意味が分からんのは変わらんので、
URLリンク(jp2.php.net)
ここの例の部分よく読んで意図がちゃんと分かるように書き込みやがれこのキャベツ野郎。

あ、書いたXMLが正しいかどうかはとりあえずメモ帳当たりにコピペしてXMLで
保存してIEあたりで開けば分かるよ。

178:nobodyさん
07/12/23 07:19:03
>$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
ってことね。

179:175
07/12/23 07:45:21 /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>
こうなる。




180:175
07/12/23 07:49:19 /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();
?>

181:nobodyさん
07/12/23 10:36:41
すみません質問です。 ヒアドキュメントの中で、プルダウンを動的に生成できません
というか、ヒアドキュメント外で実行した関数の値(プルダウン表示)を中に
持ち込めない状況です
$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です

182:nobodyさん
07/12/23 10:37:51 6DPIzhWO
すみません 上の181書き込みe-mail欄を消去しそこねました
アドバイスよろしくお願いします

183:nobodyさん
07/12/23 11:22:06
おっぱいカッコ

184:nobodyさん
07/12/23 11:42:34 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を見ても、どの条件が該当するのか分からなかったので
よろしくお願いします。

185:nobodyさん
07/12/23 11:53:45
>>184
URLリンク(jp2.php.net)
例をよく見ろ

186:nobodyさん
07/12/23 12:12:21 MvcJEZMN
>>185
すみません、質問が悪かったですね。

Manualでは表示のためにwhileでfor文を繰り返してることは分かるのですが
!== FALSEがファイルの終端での全処理終了条件であることを除けば
単純にfor文を繰り返してるだけに見えるんです。
ABCDEABCDE...とループを繰り返さないための条件が何処に該当するのか、
ご教授お願いします。

187:nobodyさん
07/12/23 12:41:31
>>186
fgetcsv()すればファイルポインタが1行進む。
しまくればいずれEOFに到達して終わる。

188:nobodyさん
07/12/23 13:01:34 MvcJEZMN
>>187
whileの継続条件で用いられているfgetcsvが、
同時にポインタを進める役割も果たしてたということですか。
ポインタについてあまり学んでいないので気づきませんでした。
回答ありがとうございました。

189:nobodyさん
07/12/23 13:06:40 Dd+txFZ/
質問です。
変換するコマンド、をexecさせたいのですが、
どうしても引数を受け取る関数が必要なのでしょうか?
例えば、
exec("convert $hoge $huga);
$hogeが引数のファイル
$hugaがconvertした後のファイル
としたいのですが、失敗してしまいます。

190:nobodyさん
07/12/23 13:25:53
上の文を訳しなさい。【30点】

191:nobodyさん
07/12/23 13:37:38
質問です。
FATをNTFSに変換するコマンドconvertをPHPのexec関数で実行させたいのですが
どうしても出力を受け取る第二引数が必要なのでしょうか?
例えば、
exec("convert $hoge $huga);
$hogeが変換するファイル名
$hugaが変換後のファイル名
としたいのですが、失敗してしまいます。

192:nobodyさん
07/12/23 13:39:07 j7tEfXX4
質問があります。
PHP+PostgresqlまたはPHP+mysqlでシステム
を作ろうと思うのですが、PHP5が認識をしてくれません。
PHP info();でその部分がでてきません。
なんのパッケージをインストールしたらいいのでしょうか?
OSはFedora core4です。
板違いかもしれませんが、よろしくお願いします。


193:nobodyさん
07/12/23 13:42:43
>>192
何をしたけど認識をしてくれないの?

194:nobodyさん
07/12/23 13:48:06
SQLを、じゃない?

195:194
07/12/23 13:48:45
誤爆

196:nobodyさん
07/12/23 14:46:06
>>192
板違いです
「fedora core4 php mysql インストール」とかでググレカス

197:nobodyさん
07/12/23 14:55:33
板違いだが教えよう。
普通はyumでいれればパッケージ全部はいるはずだが、あとはphp-mysqlを入れればよいはず。php関連に限っていえばね

198:176
07/12/23 15:49:32
>>175
そのXMLであってるのか。。
DOM的には確かにノードの扱いはそうなると思うけど、XML的には
\naaa\n<p>bbb</p>\nddd\n がひとつのノードになるのは確かだと思う。
なので、
・DOM使ってXML的にもノードがばらけるように変換する。
・XML文字列を適当に文字列変換する。

くらいしかやっぱりないような気がするけどなあ。

199:nobodyさん
07/12/23 16:13:53
>>175>>176
\naaa\nはTextNode
<data></data>、<p></p>はElementNode
firstChildNode、SiblingNodeとNodeTypeとかでとれる気もするけどXMLってそういう使い方はしない気がする。
そしてSimpleXMLElementにそれがあるかどうかは知らない。

200:nobodyさん
07/12/23 17:04:49 4Xlz9Mde
複数の変数をいっきにチェックしたいのですが効率的な書き方ありませんか?

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

今こんな風になってます。

201:nobodyさん
07/12/23 17:13:25
自分で関数を作る

202:nobodyさん
07/12/23 17:52:07
emptyて !$hoge と同義じゃなかたけ?


203:nobodyさん
07/12/23 17:56:22
>>200
別にその書き方でいいと思うんだけど。

204:175
07/12/23 18:08:04 /N04QiDA
>>175
XPathでもXQueryでもSAXとかも全部別々にあつかうし
XMLでも、それぞれ別にあつかうよ

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

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

それでもやるなら、SimpleXMLElement派生させるなりHelper関数用意するしかないっぽい


205:175
07/12/23 18:11:12 /N04QiDA
どんべえ食いながらレスしてたら、レス番号ずれまくり……orz
>>204において

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

です。

206:nobodyさん
07/12/23 18:11:19
>>202
変数限定(返り値や即値は使えない)ってことと
UndefinedVariableエラーにならないってとこらが違うかな。

207:nobodyさん
07/12/23 19:35:35
>>200
in_array

208:nobodyさん
07/12/23 19:56:37 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);

みたいな文に変わってるのですが、結局どっちでもいいのでしょうか?
かなり戸惑ってまして一から勉強しないと全く分からない状態で・・。


209:nobodyさん
07/12/23 19:57:23
>>200
1つのメソッドにする。
by 「リファクタリング」

210:nobodyさん
07/12/23 20:04:09
>>208
mysql関数を使うスタイルとmysqliを使うのは
好き好きでいい(でもPHP5以降ならmysqli使った方がスタイルが入り混じらないので良い)
けど、後者のサンプルにあるプリペアードクエリの発行の仕方は反映した方が良いよ。

211:nobodyさん
07/12/23 20:23:13
>>208
練習したり、ちょっとした使い捨てでないなら、どっちもよくない
PDOでもadodbなりPEARのライブラリなり、何でもよいが、
なんらかのインターフェイスでラップするべき
お薦めは、PDOだ。

212:nobodyさん
07/12/23 20:24:33 2UmaE0fQ
pdoってなんですか?

213:208
07/12/23 20:38:27 Lt3D3rib
>>210
ありがとうございます。
prepareはたしか、パフォーマンスの向上と自動的にエスケープ
されるんでしたよね。

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

>>212
PHP Data Objects (PDO)
俺が説明するより検索したほうが確かな情報が得られると思うので。

214:208
07/12/23 20:51:51 Lt3D3rib
あ。。。
mysql4.1移行はmysqliを使わないとだめなんですね。。
サーバーが4.1以降だからmysqli使わないと・・・。

勉強しなおしか・・・。

215:nobodyさん
07/12/23 21:04:06
別にmysqlでも書けるけど

216:208
07/12/23 21:34:13 Lt3D3rib
>>215
え?
試してみましたがエラーになってしまいます・・。

217:nobodyさん
07/12/23 21:38:57
エラーになったと言われても
エラーを晒さないと解らないな

・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。


218:208
07/12/23 21:44:48 Lt3D3rib
>>217
大変失礼しました。。。
平凡なエラーなんですが
Call to undefined function mysql_connect
です。

なんか凡ミスしてるっぽいなぁ・・・。

219:nobodyさん
07/12/23 21:56:53
ぉぃぉぃ…

220:nobodyさん
07/12/23 22:15:35
>>218
エスパーなので、Windowsだということも判るし
php_mysqli.dllが読み込まれてるのに
php_mysql.dllは読みこまれてないということも判る。

221:208
07/12/23 22:18:13 Lt3D3rib
!!
あなたの言うとおり!

ありがと。

222:nobodyさん
07/12/23 22:20:25
すげえw

223:nobodyさん
07/12/23 23:00:41
以上、自演でお送りしました

224:nobodyさん
07/12/24 00:05:58
ID:Lt3D3ribが楽しそうでなによりだ。

225:nobodyさん
07/12/24 00:48:15 sRF6QhUm
192です。
fedora core4 php mysql インストールで
ググッてみたんですが、でてきません。
また、今後はどこの板で聞けばいいでしょうか?
後postgresqlも認識してくれないのですが。
php-mysqlと同じでいいのでしょうか。
すいませんが、よろしくお願いします。
このことに関するサイトがあれば教えてください。



226:221
07/12/24 00:59:41 PecBMOMk
>>225
ここじゃだめかしら?

URLリンク(www.fedoraz.com)

227:nobodyさん
07/12/24 01:37:31
>>225
それで検索すると>>226が出てくるわけで、それで分かんなきゃあきらめたほうがいい

228:nobodyさん
07/12/24 02:52:04
あるサイトに昨日アクセスした際にスクリプトエラーが出て、
その内容が画面に出た際、xxx.incの何行目のエラーとか出た。
試しに、xxx.incのURLで指定したら、そのソースが丸見えwwで、
その中にDBの接続のためのパラメータ(ID、PWDまで)まで書かれている。

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

知っている人も結構多い、大きめのサイトなんだが。

229:nobodyさん
07/12/24 03:11:37
>>228
は?直ちに管理者にその旨を連絡するべきなのに、悪用しようなんてお前が逆にリアル天誅を食らうだけだから

一応言っておくと、明示的に公開されていないものに対してのアクセスで逮捕された前例もある

230:192です。
07/12/24 03:19:58 sRF6QhUm
226さん、227さんありがとうございます。
postgresqlも使いたいのですが、yumでphp側のインストール
はなにをすればよいでしょうか?
サイトがあれば、サイトはありがたくブックマークしました。


231:208
07/12/24 05:28:08 PecBMOMk
>>229
「リアル天誅」ウケたwwwww

>>230
ごめんよ。fedora core4 とか初耳だし
OS違うとそんなにインストの方法が変わるなんて
知らないし、教えてあげられんよ。。。

232:nobodyさん
07/12/24 05:48:42
>>230
検索ぐらいしようぜ
yum postgre phpとかで検索すれば直ぐ出てくるだろ


233:nobodyさん
07/12/24 08:41:55
>>229
じゃ、リアル天誅を食らわないように、日本の捜査権が及ばないクラッキング集団のサイトとかないの?
そこで、IDとPWDさらせば問題ないってことだよね?

234:nobodyさん
07/12/24 09:30:50 P1UMzL+u
phpMyAdminでCSVデータをインポートする時に、
CSVのフィールド囲み記号は「"」で指定すると、
データの数値で「"」で囲まれていない部分があると読み込んでくれません。
(「フィールド数が合わない」とエラーが出ます。)

もともとこういう仕様なのでしょうか・・・?
それだと、ダウンロードしてきたデータが読み込めなくて大変です
(基本的に「"」で囲まれているのは文字列だけなので)

235:nobodyさん
07/12/24 09:49:55
>>233
やー、考え浅いぞ
そういう奴らそもそも裏取るまで行動起こさないし、まずそういう情報投げた奴を洗うし叩くし。要はここと大差ねえな
そういう厨房っぽい所存でいくなら、ハッカーになりたがってるご同類の
サイトの掲示板にでも書き込んだ方がいいんじゃねえの。
無論揉め事になったら煽動で関わった事になるけどな

忠告はした
alt.2600あたりでぐぐってあとはお好きなように。類似のアレなのも色々芋蔓で引っかかるでしょう
一応先に自衛でtorやらのなんとかする品物でも入れとけよ

236:nobodyさん
07/12/24 10:14:28
>>235
詳しくサンクス。参考になった。

最近多いんだよな。素人のくせに自鯖立てて踏み台にされて迷惑掛けているやつとか、
簡単に会員の個人情報がわかるようなサイトとか、
こういうのは天誅を下さないとダメだろうなぁ。

こういう奴に限って、過失を認めず、過失を認めても誤って終わりとか。
警察や役所やプロバイダーやクレジット会社から個人情報が流出しても、損害賠償なんてしないし、天誅しかないな。

237:nobodyさん
07/12/24 10:17:04
ちなみに、俺はクレジット会社から個人情報が流出されて、
一時期毎日のようにサラ金業者から電話に掛かってきた。
テレビで報道されているのを知って、苦情言っても、
謝っても、それは私たちから漏れている情報ではないかの一点張り。理不尽な世の中に天誅を。

238:nobodyさん
07/12/24 10:34:27
世知辛い大義名分だなあ
もっと理性的な説諭の手段がありそうなもんだが。
ま、ただの感想だ。流してくれや

239:192
07/12/24 11:13:48 sRF6QhUm
URLリンク(shikabo.ddo.jp)
これがみつかった。
ほかにないかな?

240:192
07/12/24 11:14:47 sRF6QhUm
連続すいません。
上記のがみつかったのですが、
ほかにもっと詳しく書いてあるサイトはないかな?
知っている人よろしくです。


241:nobodyさん
07/12/24 11:23:36
もっと詳しいのが必要ってことは、そこの手順と対処方法で躓いたんだよね?
どこで躓いたのか明記しないと誰も有益な情報返せないんじゃないかな
只でさえfcな人がどんだけ見てるのか判らんのだし。

linux板とか当たってみるのもありかも

242:nobodyさん
07/12/24 12:32:11
なんとか苦労してApache2.0とPHP5をインストール完了。
ブラウザはFireFoxを使ってるんだけどアドレスバーから「URLリンク(localhost)」と打つと
問題なくページが表示されるんだけどフォルダからダブルクリックで「abc.php」を開くと
ブラクラみたいにタブが無限に開いていってしまう (; ´Д`)

どうしたらいいんですか・・・・?

243:nobodyさん
07/12/24 13:19:28
>>242
abc.phpのどっかが無限ループになってるんでしょ。
winならxamppという便利なものがあんのに。

244:nobodyさん
07/12/24 15:48:25 tHEPo1ls
<form>
<input type="text" name="text">
<input type="submit" value="test1" name="test1">
<input type="submit" value="test2" name="test2">
</form>

こんな感じでformの中にinput-submitのボタンが複数あって、
押したボタンによってPHP側で"text"の処理分けしたいんですが、
valueの値で判定するしかないんでしょうか。
valueだとボタンの名前として表示されるため他の方法を探しています。

245:nobodyさん
07/12/24 16:15:56
>>244
var_export($_GET); したものをtest1、test2のクリック時に見比べてみ

246:nobodyさん
07/12/24 16:27:38
isset()

247:244
07/12/24 17:11:12 tHEPo1ls
>>245
valueの値だけは違いがありますね。

input-submitじゃなくて
button-submitを使いボタン名をvalueとは別に設定することで解決しました。
レスありがとうございました。

248:nobodyさん
07/12/24 17:19:57
どうみても押したボタンのnameとvalueのセットだけが送信されます。
本当にありg(ry

249:244
07/12/24 17:29:41 tHEPo1ls
別の処理でうまくいった気がしたので過信してました。
本当にありがとうございました…。

250:244
07/12/24 17:54:23 tHEPo1ls
あまりに下らないので、スレ汚し続けたくはないのですが間違いがあったので訂正だけ。
<button type="submit" value="test" name="test1">内容</button>
だとvalueに設定されているtestは送信されなくて、内容が送信されるようですね。
手元のHTML本ではvalueが送信値となってますが、仕様変更でもあったのか。

>>248さんのご指摘とは違い他フォームの内容もちゃんと送信される模様です。

251:nobodyさん
07/12/24 18:18:44
>>250
嘘だろうと思って動作確認したらIE7では確かにそう動いた。
ちなみにFireFox2 Opera9 ではvalue値が送信されてる。(IE7と動作が異なる)

PHPの話題じゃないけど、RFC的にはどうなんだろ。

<html>
<head><title>test</title>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
</head>
<body>
<?php print_r($_GET); ?>
<hr/>
<form action="test.php" method="get">
<button type="submit" value="test" name="test1">内容</button>
</form></body></html>


252:245,248
07/12/24 19:02:38
RFCというよりHTML4の仕様なんだけど、IE6,7はそれに従っていない。
以下のコードで、
・name1 name2 のいずれかをクリックした時に、3,4は送信されるべきでは無い
・name3 name4 のいずれかをクリックした時に、value3またはvalue4が送信されるべき

DOMの扱い時にも同様の支障がでてくる。
なので、buttonを使うより、input type=button を使う方が良い。(buttonに比べて表示の自由度は落ちる)

検証用コード
<html><body><form>
<input type="submit" name="name1" value="value1"></input>
<input type="submit" name="name2" value="value2"></input>
<button type="submit" name="name3" value="value3">3</button>
<button type="submit" name="name4" value="value4">4</button>
</form><p>
<?php
var_export($_GET);
?>
</p></body></html>

253:nobodyさん
07/12/24 22:47:49
まじで?
IE7でも相変わらず腐ってるんだな・・

254:nobodyさん
07/12/25 08:19:17
imap_open とかでサーバ側のエラーメッセージ(たとえば、LoginError)を
取得したいのですが、基本的に不可能でしょうか?
ZendFrameworkのZend_Mail使ってみたんですが、
オブジェクト指向を完全に理解していないオイラには
かなりつらい部分があったので、imap関数に移ろうとしてるのでつが。

255:255
07/12/25 09:05:15 Coxwnlyh
linux環境でphpを勉強し始めて5日の者です。phpのサンプル集を買って勉強しているんですが、
その中のメールフォームサンプルを自分のサイトの隅っこに置いて、apacheを起動させて動作確認してみたところ、
フォームに文字入れて確認画面に進み、送信を押すと 本当は「送信成功しました。or失敗しました。」と表示されるはずが、何も
表示されず、メールも送られていません。php.iniはデフォのままなんで、そこがダメなんじゃないかと思うのですが、
どうなんでしょう。書籍には何も書いてないです。

256:nobodyさん
07/12/25 10:39:57
エラーのときどうする、って話が書いてない本はダメだね。
そういう本(書いてない本)多いけど

257:nobodyさん
07/12/25 11:11:07
zend_extensionとextensionの違いってなんでしょう?
何時もphp.iniに書く時に迷う・・・

258:nobodyさん
07/12/25 11:15:16 M0LvCdnx
>>255
送信しましたor失敗しました あたりのソースうp


質問ですが、SQLインジェクション対策ってどうしてます?
自分はMySQLを使っていたので、mysql_real_escape_strngを使っていたのですが、
他のデータベースでも書き換えなくていいように、全てのデータベースで活用できるような
インジェクション対策などありませんでしょうか?

259:nobodyさん
07/12/25 11:53:41
>>258
PDOを使うのが定石かなぁ。

260:nobodyさん
07/12/25 12:06:36
pdo丸投げで一切自前では対策してないけど、それでいいのか不安w

261:nobodyさん
07/12/25 13:18:29
test.iniってファイルを
parse_ini_file("test.ini",true);
で読み込むとshift_jisで読み込まれちゃうんですが、ファイル読み込みのエンコーディングをUTF-8にしたいんです。
iniや表示するphpファイルは全てUTF-8になっています。
php.iniでファイル読み込みのエンコードとかでしょうか?

iniの中身は
------------------
[友達]
"佐藤" = "コスプレ"
"伊藤" = "女装"
------------------

262:nobodyさん
07/12/25 13:20:42
>>261
>>1

263:nobodyさん
07/12/25 13:31:06 Kk9QHm5I
すいません、下げ忘れていました

test.iniってファイルを
parse_ini_file("test.ini",true);
で読み込むとshift_jisで読み込まれちゃうんですが、ファイル読み込みのエンコーディングをUTF-8にしたいんです。
iniや表示するphpファイルは全てUTF-8になっています。
php.iniでファイル読み込みのエンコードとかでしょうか?

iniの中身は
------------------
[友達]
"佐藤" = "コスプレ"
"伊藤" = "女装"
------------------

PHP Version 5.2.4

264:nobodyさん
07/12/25 14:32:50
>>263
とりあえずキーはダブルクォート出来ません。

265:nobodyさん
07/12/25 14:41:28 Kk9QHm5I
>>264
そうなんですか、それでも文字コードの問題は残るので解決方法があればお願いします。
ひとまずキーにダブルクォートで動いてはいます。

266:nobodyさん
07/12/25 14:45:46
キーを英語にし、ダブルクォートでも文字化けは変わりませんでした。
一応ご報告を

267:nobodyさん
07/12/25 14:47:22 V7kmAO2b
非常に下らないかもしれませんが、EOSでの質問です。

$bbb[0]['abc']="表示テスト";
$a=<<<EOS
<table>
 <tr>
  <td>$bbb[0]['abc']</td>
 </tr>
</table>
EOS;
print $a;

EOS内で連想配列の変数を簡単に吐き出す方法はありますか?
そのままだと Array['abc'] となってしまいます・・。
変数に入れ直せば良いのですが種類が多いと大変で・・

皆さんはどうやってますでしょうか。

268:nobodyさん
07/12/25 14:51:23 ek1/aJk1
PHPの質問と言っていいのか悩んだんですが、PHPファイルに限って起きるので質問させてください。

WEBサーバーでSSLを設定してそこにPHPファイルを配置したところ、httpでのアクセスだとPHPは正常
に動くんですが、httpsだと何故か404になってしまいます。
他の形式(aspx、txtや画像)はhttpでもhttpsでも問題無く動くのでアクセスしているフォルダが違うとかは
考えられず、httpだとPHPは動くのでPHP自体がおかしいってことも考えられず…。
通常のSSLの設定は終えていますが、PHPをSSLに配置する際は他に何か設定等必要なんでしょうか?

環境ですが、
Windows2000ServerSP4 + IIS5.0 + PHP5.2.5 (+ VisualStudio2003)
です。

よろしくです。

269:nobodyさん
07/12/25 14:52:26
>>267
変数を挿入するときは
{$bbb[0]['abc']}
のように括りましょう。

270:nobodyさん
07/12/25 14:57:18 V7kmAO2b
>>269
即答ありがとうございます!それだけで良かったんですね

基本的な方法が分からずにいろんな遠回り処理した上で
えーーそんな簡単にできたの・・みたいな事がよくあります

有難うございました。

271:nobodyさん
07/12/25 15:32:13
>>268
404時のエラーログに出るフルパスは同じもの?

272:268
07/12/25 15:51:19
>>271
IISのログには相対パスのみ出てまして、httpとhttpsとで別サイトとして登録してますので
パスは別物です。

273:nobodyさん
07/12/25 16:12:23
>>263
自己解決しました。
凡ミスだったので気にしないでください・・。 ;-;

274:nobodyさん
07/12/25 16:32:12
PHPのメジャーな統合開発環境って何ですか?
フリーので。

275:nobodyさん
07/12/25 16:35:17
>>273
       ヽ(・ω・)/   ズコー
      \(.\ ノ

276:nobodyさん
07/12/25 16:41:01 Kk9QHm5I
>>275
すいません ><
ID出し忘れたので偽者と思われないようにも返信しときます・・

277:nobodyさん
07/12/25 16:44:26
>>274
       ヽ(・ω・)/   ドボン
      \(.\ ノ

278:nobodyさん
07/12/25 17:37:59
>>274
EmEditor→phpエディタ→phpeclipse→zend
と使ってきたけど俺はphpeclipseが一番使いやすかった

279:nobodyさん
07/12/25 19:39:53 YdyXWQpG
Yahooのニュース記事の表示が、馬鹿丸出しなんだけどwwwwwwww

URLリンク(headlines.yahoo.co.jp)

 <futoji>元福岡地検検事正で公証人の絹川信博さんの話</futoji> 「鑑定結果が今後、民事訴訟の証拠として採用される可能性は十分ある。
民事分野でも、ポリグラフの活用範囲が広がる可能性がある」

280:nobodyさん
07/12/25 20:31:12 qdKsQYMA
質問です。

array("aaa" => "bbb", "ccc" => "ddd" "???" => "fff")

この配列から「三個目の要素」であること、又は「値がfff」であることから、
不明なキー名である???のみを抜き出したいのですがどのような方法があるでしょうか。
よろしくお願いします。

281:nobodyさん
07/12/25 20:43:37
>>280
URLリンク(www.php.net)

282:nobodyさん
07/12/25 21:14:34 qdKsQYMA
>>281
普通に定義されてるんですね。回答ありです。

283:nobodyさん
07/12/25 22:37:15
>>281
ゴクリ・・・

284:nobodyさん
07/12/26 00:37:13
>>283
やめとけ、その釣り針に味わいどころがあるようには思えない。

285:nobodyさん
07/12/26 00:57:00
 下記 ※※※ の部分にconvertコマンドで画像を少し加工したいのですが、

×imagejpeg ($image_new , $uploadfile , $quality);
○imagejpeg ($image_new , $image_temp , $quality);
 にして、

 /usr/bin/convert オプション $image_temp $uploadfile;
にすると、

PHP Parse error: syntax error, unexpected '/'
in /home/webmaster/blog/nucleus/plugins/NP_ImageLimitSize.php on line 65,
referer: http://******/nucleus/plugins/mediatocu/media.php

 と、出ました、フルパスで書けば問題無いと思ったのですが、どのようにコマンドを挿入すればいいでしょうか?

function event_PreMediaUpload(&$data) {

$collection = $data['collection'];
$uploadfile = $data['uploadfile'];
$filename = $data['filename'];

// evaluate the filetype from the filename
$filetype = strtolower(substr($filename, strpos($filename, ".")+1));



286:285
07/12/26 00:57:53
// filetype is jpeg
if ($filetype=='jpg' || $filetype=='jpeg') {

$size=getimagesize($data['uploadfile']);

// size[0] is the image width
if ($size[0]>$this->getOption('maxwidth')) {

$newheight = $this->getOption('maxwidth') * $size[1]/$size[0];
$image_orig = imagecreatefromjpeg($uploadfile);
$image_new = imagecreatetruecolor($this->getOption('maxwidth'), $newheight);
$quality = $this->getOption('quality');

imagecopyresampled($image_new, $image_orig, 0, 0, 0, 0, $this->getOption('maxwidth'), $newheight, $size[0], $size[1]);
imagejpeg ($image_new , $uploadfile , $quality);

                ※※※

// clear the memory
imagedestroy($image_orig);
imagedestroy($image_new);

}
}

287:nobodyさん
07/12/26 01:02:18
>>1

288:285
07/12/26 01:08:43
>>287
CentOS 5.1
PHP 5.1.6
apache 2.2.3
これ以外しか思いつきません。

289:285
07/12/26 01:10:06
×:これ以外しか思いつきません
○:これしか思いつきません

290:nobodyさん
07/12/26 01:39:36
CentOSってのもあるのか……
Linux界隈、ディストリ間の差異大杉でFreeBSD派にはついていけねえな

291:nobodyさん
07/12/26 03:42:29
カーネル一緒なんだから大差あるようで本質的には大差はない

292:nobodyさん
07/12/26 04:19:38
プリインストールされてるソフトが違うWindowsみたいなもんだからな

293:nobodyさん
07/12/26 04:56:01
>>285
> PHP Parse error: syntax error, unexpected '/'
PHPの文法レベルでエラーが出てるんだからフルパスとかコマンドの違いとか全然関係ねーよ。

>  /usr/bin/convert オプション $image_temp $uploadfile;
> にすると、
ってこれ、PHPのソース中にシェルコマンドを生で書いてるのか?
PHPはシェルスクリプトじゃねーぞ?
system()とか使えよ。

294:nobodyさん
07/12/26 10:54:23 WFCxb7oZ
ローカル側のphpとサーバー側のphpで、相互通信する仕組みを作りたいのですが、
どのような実装方式が一番楽な方法でしょうか?


ローカルphpが、サーバー側phpを呼び出す
サーバー側phpが処理を実行し、実行結果を返す
ローカルphpがサーバー側のphpの実行結果を受け取り、その実行結果により処理を条件分岐する

このような感じで、サーバー側の実行結果によってローカルの実行結果が異なります。

ソケット通信での実装を考えたのですが、少々面倒なので、もっと簡易にできる方法があれば助かります。
宜しくお願いします。

295:nobodyさん
07/12/26 11:57:31
>>294
レスポンス速度重視でないならば、http で通信すればいいんじゃないの。サーバは apache経由にして。

296:nobodyさん
07/12/26 11:58:07
soap

297:nobodyさん
07/12/26 12:17:11
>>296
PHPネタじゃないけど、soapってどうなの?
以前 Javaでやったときは、なんか中途半端に隠蔽されて自由度が低いだけって印象なんだけど。

298:nobodyさん
07/12/26 13:15:38
PHP.iniの設定で
auto_prepend_fileを使いたいのですが、
一部のディレクトリんは適用させたくないのですが、
その場合どのように記述すれば良いのでしょうか?

299:298
07/12/26 13:16:09 0y2BVKsS
すみません、sageチェックついてました
お願いします

300:nobodyさん
07/12/26 13:30:41
つ auto_prepend_file htaccess

301:nobodyさん
07/12/26 13:33:05 0y2BVKsS
>>300
ありがとうございます


すみません、書き忘れていました
レンタル鯖の仕様によりhtaccessでのphp_value・flagが仕様できないのですorz

302:nobodyさん
07/12/26 15:08:20
情報小出しに日本語不自由か…ダメダコリャ

303:nobodyさん
07/12/26 15:14:38
これでまた、何か案を出したら、それはすでにやったんですが・・・
と続くからなw

304:nobodyさん
07/12/26 15:54:46
そして最後には、お前ら使えねーな、で締めるのか

305:nobodyさん
07/12/26 16:07:23 5CJgBllV
認証システム作りたいと思ってます 以下のような処理でOKなんでしょうか?
(ログインフォームの次の会員トップページの処理です)
0)session_start(); (タイムアウト設定も同時にする)
1)$_SESSION['LogIn']=0;//ログイン状態のフラグの用意
2)1)をチェック →0なら3)
3)POSTされたid,passwordをもとにログイン処理 →LogIn=1にする
4)以降のページでは0〜3を(外部ファイル化して)最初にチェック
 ※3)のPOSTデータがなければ警告画面に遷移

PEAR:AUTHも考えたんですが、ログインフォームと認証後トップページを
同じにしなきゃだめっぽいんでやめました
環境はPHP5,APACHE2です

306:nobodyさん
07/12/26 16:10:25 0y2BVKsS
>>302
すみません、小出しではなく>>301はただの書き忘れです

307:nobodyさん
07/12/26 16:20:00
>>305
リクエスト毎に 1) の処理を行うの?
そうならヘンだと思うが。

308:305
07/12/26 16:32:50 5CJgBllV
>>307 ありがとう ごめんなさい、間違えました
LogInは初期化しません 最初にチェックするだけです
あと、今思ったんだけど、最初のログイン時にランダム値を持たせといて(DBにも登録)
それもリクエストごとにチェックするとかの方がいいのかな?
それがセッション名(?)てことだからわざわざやらなくていいんでしょうか?

309:nobodyさん
07/12/26 16:53:52
乱数を設定しても意味は無いだろうけど、「ログイン状態のフラグ」を管理するぐらいなら、
誰がログインしているのかという、「ログインユーザのID」を管理した方が良いと思う。

ログイン後は、それが誰だかわからなくても良いなら、別に良いけど。

310:305
07/12/26 17:23:39 5CJgBllV
>>309
ログイン開始と終了を記入するテーブルみたいなのを作るわけですか?
考えたこともなかったです。
ログイン状態のチェックだけなら305の内容でokなんでしょうか 度々すみません

311:nobodyさん
07/12/26 17:33:52
DBじゃなくてセッション変数の話。
「ログイン状態のチェック」が「だれかがログインしているが判定できる」なら、305の内容でOK。
普通は、このセッションでログインしているのが誰かも判らないと困るんじゃないかと。

312:305
07/12/26 17:53:13 5CJgBllV
親切にありがとうございます
しかしセッションの知識が不足でよく理解できません
idに依存したセッション名を発行するのかな、、 ちょっと勉強してきます
ありがとうございました

313:nobodyさん
07/12/26 18:50:16 7SSM1+qD
すいませんお教えいただきたいのですが、

キーボードからそのまま受け取ったデータaを
cに変更して<textarea>に出力する ことはできますでしょうか?
いろいろ調べて下記のようなものを書いてみましたが、できません。

<form>
<textarea>
<?php

set_time_limit(0);
($stdin = fopen("php://stdin", "r"));
$s = trim(fgets($stdin, 256));

if($s == "a"){
$s = "c";
}
print $s;

?>
</textarea>
</form>

ハッスルサーバを使っていて、phpはバージョン4.3です。
初心者の質問で申し訳ありませんが、どうかよろしくお願いします。

314:はっしゅ(前すれ703)
07/12/26 19:02:23 drjhjm0k
>>前すれ734
回答ありがとうごいました。
レベル低すぎて誰も答えてくれないのであきらめてたんですが、今日見たら回答きてたのでお礼に伺いました。
またわからないことあったら教えてください。
遅ればせながらありがとうございました。

315:nobodyさん
07/12/26 20:44:56
キー入力された時その場で変えたいなら
JavaScript使うかAjax使わないと無理

phpはサーバーサイドスクリプトです


316:315
07/12/26 20:45:19
315は313宛ね

317:nobodyさん
07/12/26 20:45:33
>>313
意味がわからない キーボードから受け取ったデータってなんだ?
サーバの送受信はするの? しないんだったらphpじゃなくてjavascriptでしょ
具体的にどういう操作と結果がほしいのかわからなきゃ回答不可だよ

318:nobodyさん
07/12/26 22:33:52
C言語の本読んでもキーボードから1文字ゲットから先に進めない人

ノシ

319:nobodyさん
07/12/26 22:40:10
$white = 'snow';
$black =& $white;
unset($white);
print $black; //snow

これで snowが出力されるんだけど、$blackは$whiteの参照になってるから
unset($white)で$blackの値も破棄されるんじゃないの?

なぜsnowがprintされるのかわかりません。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4066日前に更新/264 KB
担当:undef