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

【PHP】下らねぇ質問はID出して書き込みやがれ 99

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2010/10/13(水) 12:01:33ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 98
http://hibari.2ch.net/test/read.cgi/php/1284805237/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0866ちい2010/10/26(火) 13:53:07ID:???
>>859
ひどいお
0867nobodyさん2010/10/26(火) 13:55:04ID:???
フレームワークは重くなりがちだからな
業務用でなければわざわざ好んで使うほどでもない
一人開発で規模がでかくなるのなら開発速度あげるために使うのもいいかもしれないが
0868nobodyさん2010/10/26(火) 14:09:03ID:???
下手するとPHP触ってる時間よりも、SQLとかJavascript弄ってる時間の方が長いかも
0869nobodyさん2010/10/26(火) 15:32:30ID:???
おもいっきりスレ違いかと思いますので
該当スレがあれば誘導をお願いします。

iPhoneでちょっとしたゲームを作成しようと思っています。
そこでゲーム内のスコアをサーバに反映させたいのですが

この様な場合、iPhone(Objective-C)側でスコアを
サーバに向けて投げると思うのですが、

@スコアを受け取ったサーバ側ではどの様に
 iPhoneからの送信データを受け取りDBに反映させれば
 良いのでしょうか?

 DBについては、MySQLで良いとは思うのですが
 CGI側のソースには何を使用するのが一般的なのでしょうか?
 (PHP / Perl / C)
 スコアは、Objective-C側でhttp://test_server/iphone.php?score=1500
 的なアクセスをして行うのでしょうか?

スレ違いなレスですが宜しくお願い致します。
0870nobodyさん2010/10/26(火) 15:35:33ID:???
>>1
0871nobodyさん2010/10/26(火) 15:45:36ID:???
http://mainichi.jp/select/biz/it/news/20101026k0000m020025000c.html?inb=fi

高木さん出番ですよ
0872nobodyさん2010/10/26(火) 15:46:52ID:???
すでに書いてた
マジはええっす
0873nobodyさん2010/10/26(火) 15:59:10ID:???
>>869
http://hibari.2ch.net/test/read.cgi/php/1272872528/

>>871-872
PHPと何の関係が?
0874nobodyさん2010/10/26(火) 16:00:39ID:???
>>871
1日おせーよ
0875nobodyさん2010/10/26(火) 16:04:06ID:???
>>873
超関係あるだろ

>>874
はい、、、すみません
0876nobodyさん2010/10/26(火) 16:22:12ID:???
>>875
かんたんログインってだけで毎回このスレに貼るつもりか?
php自体の脆弱性でないのに?

クロネコがphp使ってやらかしたとかならまだわかるが、Javaだしな
0877nobodyさん2010/10/26(火) 16:24:05ID:???
だめだこりゃ
WebProgで一番重要で難しいのはセキュリティ問題なのに
PHPで同じようなアプリケーション作成してる人だっているでしょうに
まぁせいぜい穴だらけのアプリケーション制作に勤しんでくださいね
0878nobodyさん2010/10/26(火) 16:31:37ID:???
>>877
>PHPで同じようなアプリケーション作成してる人だっているでしょうに

これを意識してあなたが書き込んだのは>>875のレスから想像できてるよ
ただ、毎回あげていったらキリが無いよ?って言いたいだけだよ。

それに、ここは質問スレだよね?
雑談スレも兼ねてると前に書き込みもあったから、それでみなが良いと思ってるならいいよ
0879nobodyさん2010/10/26(火) 16:36:00ID:???
このスレでは雑談スレでOKです。
0880nobodyさん2010/10/26(火) 16:44:33ID:???
立派なテンプレが泣いてるぞ
0881nobodyさん2010/10/26(火) 16:48:37ID:nRcBppSS
>>862
ありがとう
形になってきた
0882nobodyさん2010/10/26(火) 16:48:45ID:???
唐突にコードだして共有とかいってるオナニー日記と違って
こういうのは必要じゃね
セキュリティー意識高めないとこの分野は他人に迷惑かけるからな
08832010/10/26(火) 16:52:05ID:???
今後は、 >>879 に従って下さい。IDをいちいち出す必要はありません。
0884nobodyさん2010/10/26(火) 17:06:36ID:???
質問時にID出すスレだろうが
088512010/10/26(火) 17:09:33ID:???
>>883は自己解決しました^^
0886nobodyさん2010/10/26(火) 17:11:44ID:???
略して自決しました
088712010/10/26(火) 17:20:18ID:???
このスレはもうIDを出さなくて結構です(^^;)
フレキシブルなスレにする事を目標にしています(^^;)
0888nobodyさん2010/10/26(火) 17:23:15ID:???
欠陥アプリしか作れないからって顔真っ赤になるなよ
088912010/10/26(火) 17:25:12ID:???
>>888
能書き垂れるな
糞野郎(^^;)
0890nobodyさん2010/10/26(火) 17:35:09ID:???
雑談OKはテンプレに明記しとけよ
ペチパーは他スレに迷惑かけてるんだからこのスレからでてくるなよ
0891nobodyさん2010/10/26(火) 17:40:33ID:???
ここはPHP板です
0892nobodyさん2010/10/26(火) 17:51:53ID:???
ここは有名PHPerのe-mobileさんにまとめてもらうしかないな
0893nobodyさん2010/10/26(火) 18:04:41ID:nRcBppSS
echo "<a href=\"item.php?id={$line[0]}\">詳細を見る</a>";

こうして書いたとき、リンクがうまく機能しません
どうしたらいいですか?
0894nobodyさん2010/10/26(火) 18:08:59ID:???
>>893
記述の仕方自体は問題無いと思うけど
ブラウザのソースで見たときにどうなってる?
0895nobodyさん2010/10/26(火) 18:09:38ID:???
どううまくいかないか書いたらどうだ
リンク先が違うのかlineの内容が出力されないのか等

どうでも良いが俺ならこうk(ry
echo '<a href="item.php?id=',$line[0],'">詳細を見る</a>';
0896nobodyさん2010/10/26(火) 18:13:50ID:???
どうでもよいが俺ならこうk(ry

<a href="item.php?id=<?php echo $line[0]: ?>">詳細を見る</a>
0897nobodyさん2010/10/26(火) 18:15:10ID:???
どうでもいいが「詳細を見る」みたいなアンカーを用意するならtitle属性でリンク先の説明があった方がよいね
0898nobodyさん2010/10/26(火) 18:21:55ID:???
>>896
コロンですか
0899nobodyさん2010/10/26(火) 18:27:21ID:???
>>898
リンクがうまく機能しません、まで含めて書いたんじゃね
0900nobodyさん2010/10/26(火) 18:31:34ID:nRcBppSS
>>894
問題はないんですね
Opera使ってるんですけど、リンクにはならず「 ">詳細を見る」とだけ表示されます

>>895-896
ほかにも書き方があるんですね
研究してみます
とっても勉強になりました

>>897
最近というか今日この頃はじめったばっかりで、今簡単なサンプル作ってるんです

レスありがとうございました
とりあえずまた明日やってみます!
0901nobodyさん2010/10/26(火) 18:36:33ID:???
>>900
"が飛び出してるってことは、>>893ではったとおりには書いてないってことだ
090212010/10/26(火) 18:40:28ID:???
echo "<a href='item.php?id={$line[0]}'>詳細を見る</a>";
0903nobodyさん2010/10/26(火) 18:44:28ID:???
>>902
やっぱ欠陥アプリ量産は低レベルだな
なぜJavaScriptのソースの多くがシングルクオートで書かれているか考えたことはあるかね?
0904nobodyさん2010/10/26(火) 18:46:49ID:???
>>903
ないから説明して〜
0905nobodyさん2010/10/26(火) 18:47:01ID:???
>>902
シングルクォートきもいです
さすが1だな
0906nobodyさん2010/10/26(火) 18:47:38ID:???
こうだろ!常識的に考えて!
echo <<<EOF
<a href="item.php?id={$line[0]}">詳細を見る</a>
EOF;
0907nobodyさん2010/10/26(火) 18:49:08ID:???
ネタはもうおなかいっぱい
そもそも>>893自体>>900みたいな出力しないんだからなにを説明しても無駄っぽ
0908nobodyさん2010/10/26(火) 18:49:58ID:???
PHPでHTMLソース吐くのは初心者のうちはよくやるけど
慣れてくると>>896みたいにテンプレート作って組み込んだほうがいい
0909nobodyさん2010/10/26(火) 18:51:16ID:kj01px6z
正規表現で
$test = '今日は1回目のアクセスです';

の、1を置換して2に変える場合、どうすればいいのでしょうか?
予め数字が決まっているのではなく、不確定の数字だとします。
0910nobodyさん2010/10/26(火) 18:52:58ID:???
>>909
不確定の数字を入れたいってことなら

$test = '今日は'.$foo.'回目のアクセスです';

$fooはクッキーで保存すりゃいいと思う
0911nobodyさん2010/10/26(火) 18:53:00ID:???
>>903
なんでいちいち煽る必要があるのさ、間違ってるなら説明してあげればいいでしょ。
君みたいなのが一番の荒らしだって自覚してる?
0912nobodyさん2010/10/26(火) 18:53:02ID:???
>>909
それおかしいだろ
$test = "今日は".$count."回目のアクセスです";
ならわかるけど
1を2に置き換えするってだけならいいとして
2から3にするときは?とかになるわけで・・・
0913nobodyさん2010/10/26(火) 18:55:46ID:???
>>912
数字が切り替わる仕組み自体そもそも理解できてない初心者の質問なんだって気づいてやれよw
0914nobodyさん2010/10/26(火) 18:59:43ID:???
なんで正規表現なんだろうな

$test= preg_replace("/(.*?)[0-9](.*?)/","$1$count$2",$test);

試してないからわからんけど
0915nobodyさん2010/10/26(火) 19:00:28ID:???
・初心者でわかってない
・正規表現君を釣るため
・宿題
0916nobodyさん2010/10/26(火) 19:07:49ID:???
914ためしたら$1$countが消えるな
$countの前後に半角スペースだの入れればちゃんと表示されるんだけど
0917nobodyさん2010/10/26(火) 19:21:40ID:???
>>915
2番目だろ
そんな基礎的なことがわからない初心者が
そもそも正規表現という言葉を知ってるはずがない

なのにお前らときたら・・・
親切にもほどがあるだろ
0918nobodyさん2010/10/26(火) 19:24:50ID:???
///
0919nobodyさん2010/10/26(火) 19:27:11ID:???
>>917
変数に入れてるのに数字を変数にしてないとかいろいろおかしな点は確かにあるな
0920nobodyさん2010/10/26(火) 20:24:55ID:???
$countで変数を保持していないのは、
ログファイルに保存した数字を置換で変更したいからです。

つまり、ファイルを開いて中身を取得して正規表現で置換して
再度書き込むという処理をしたかったのです。

が、正規表現使わない方法が分かりました。どうもありがとうございました。
0921nobodyさん2010/10/26(火) 20:28:13ID:???
ログファイルに1だけ書き込んでインクリメントすりゃいいじゃないかwww
0922nobodyさん2010/10/26(火) 21:43:59ID:???
はにゃ〜ん
0923nobodyさん2010/10/26(火) 21:56:15ID:???
はんにゃー!
0924nobodyさん2010/10/26(火) 22:15:39ID:DOrgamz8
>>850さん
errorinfoやってみましたが、syntax errorが出ただけでした。
そこを改善しても書き込まれません。
何が原因なんだろう。。。
0925nobodyさん2010/10/26(火) 22:16:41ID:???
syntax errorが出ますだけじゃわからんわ
全部貼れ
0926nobodyさん2010/10/26(火) 22:21:45ID:???
典型的だなー
0927nobodyさん2010/10/26(火) 22:23:59ID:DOrgamz8
すいません。
Array ( [0] => [1] => 1 [2] => near "SET": syntax error )です
0928nobodyさん2010/10/26(火) 22:38:35ID:Y5jQHIQ+
http://www.adminweb.jp/apache/
http://www.phpbook.jp/install/

を見てアパッチの設定してるんですが、上のアドレスの>PHP利用のための設定>PHPの動作確認ができません
phpファイルを保存しますか?開きますか?みたいなのがでます
同 PHP利用のための設定ででてるトピックはすべて確認しました。
ほかの項目は設定というかここにこういうファイルがあるよくらいで特別に変更はいらないようでした
(php.ini-developを元のファイル残して、新しいファイル作ってとかくらい)

どういう間違いが考えられますか?パスの設定はc:\phpとかみたいに簡単なのにしたから間違ってないはずです
phpの勉強したくての設定なんでここでお願いします・・・
0929nobodyさん2010/10/26(火) 22:45:16ID:???
>>928
ありがちだけどapacheの再起動はした?
0930nobodyさん2010/10/26(火) 22:57:40ID:???
>>927
$dbh->query('SET NAMES utf8');
は$stmt使ってないと思うけど$stmt->errorInfo()でエラー表示されるの?
0931nobodyさん2010/10/26(火) 23:00:54ID:DOrgamz8
>>930
$sql = 'insert into tab1 (nunber, name, note) values (?, ?, ?)';
$stmt = $dbh->prepare($sql);
print_r($stmt->errorInfo());←これで表示させました。
$flag = $stmt->execute(array('104', '成田','日本'));
0932nobodyさん2010/10/26(火) 23:04:08ID:???
>>931
http://php.net/manual/ja/pdo.errorinfo.php
http://php.net/manual/ja/pdostatement.errorinfo.php
0933nobodyさん2010/10/26(火) 23:07:24ID:???
>>931
こっちの方が大事だ
http://php.net/manual/ja/pdo.query.php
0934nobodyさん2010/10/26(火) 23:24:57ID:DOrgamz8
>>932>>933ありがとうです。
ですが、すいません、良く分かりませんでした。。。
0935nobodyさん2010/10/26(火) 23:32:49ID:???
>>934
よく読もうぜ。
関数やクラスを使うときにリファレンスを読むのは基本中の基本だよ。
0936nobodyさん2010/10/26(火) 23:56:02ID:Y5jQHIQ+
>>929
マジすみません><そのとおりでした 
0937nobodyさん2010/10/26(火) 23:58:29ID:DOrgamz8
>>935
単純に何が原因なのでしょうか?構文自体に問題はないように見えますが
0938nobodyさん2010/10/27(水) 01:28:02ID:???
エラー文にはnear "SET"って書かれてるんだから
そこの部分をだしなさいよ
SETって書いてるとこあるんだろ?
0939nobodyさん2010/10/27(水) 01:37:54ID:2BwSQxVQ
>>938
>>828の構文の一行目のことだと思うんですが。。。違ったらスイマセn...
0940nobodyさん2010/10/27(水) 01:53:54ID:???
$stmt = $dbh->query("SET NAMES utf8;");
0941nobodyさん2010/10/27(水) 02:06:36ID:2BwSQxVQ
>>940さんありがとうございます! ですが今度は新しいエラー
Array ( [0] => HY000 [1] => 1 [2] => SQL logic error or missing database )
が出てきました。
0942nobodyさん2010/10/27(水) 02:11:36ID:???
PDOをインスタンス化してる部分を重要な情報外して書いてみ
new PDOの部分ね
0943nobodyさん2010/10/27(水) 02:13:00ID:???
MySQLじゃなくてSQLiteなんでしょ
0944nobodyさん2010/10/27(水) 02:16:35ID:2BwSQxVQ
>>942>>943
レスありがとうございます。SQLiteでやっております。
0945nobodyさん2010/10/27(水) 02:19:04ID:???
つまりset namesの構文は使えない
0946nobodyさん2010/10/27(水) 02:20:12ID:???
なんつうオチだ
0947nobodyさん2010/10/27(水) 02:23:08ID:???
PRAGMA encoding = "UTF-8";
ただしテーブル単位であることに注意
0948nobodyさん2010/10/27(水) 02:25:30ID:2BwSQxVQ
>>945>>946レスありがとうございます。
set namesは使えなかったんですね...

>>941のエラーの対処はどうしたら良いのでしょうか?
調べたらディレクトリの権限に関する情報が出てきたんですが、
パーミッションはディレクトリ777と各ファイル666以上にしてあるのですが

0949nobodyさん2010/10/27(水) 07:13:20ID:???
>>948
はい?>>945が読めないのか?
0950nobodyさん2010/10/27(水) 08:05:53ID:???
読めますが何か
0951nobodyさん2010/10/27(水) 08:35:39ID:???
ダメだよ空気や前後の流れも読めなきゃ
0952nobodyさん2010/10/27(水) 09:02:57ID:???
それも読めますが何か
0953nobodyさん2010/10/27(水) 09:55:40ID:???
まず貼ってある部分以外でエラーが出てる可能性があるので、
PDOを呼び出してるところでエラーを返すものは全部チェック。
エラーを返すかどうかはちゃんと関数リファレンスで調べる。
エラーが出た直後でerrorInfoで詳細を表示っていうのが基本。
最初から一歩ずつ足元を固めていかないと何をやってるのか
わからなくなるよ。
0954nobodyさん2010/10/27(水) 10:47:37ID:???
マニュアルはわからなくなったときに読む物。
0955nobodyさん2010/10/27(水) 11:11:21ID:???
PHP5系で、最初にマッチした文字列のみを置換するには
substr_replaceとstrposの組み合わせ以外で何かスマートな方法はありますか?
0956nobodyさん2010/10/27(水) 11:17:13ID:???
スーパーエンジニアにやってもらう
0957nobodyさん2010/10/27(水) 11:26:42ID:???
preg_replacet使うと回数指定が出来るので楽じゃない?
正規表現なので処理がもったいないのとエスケープ
が必要かもしれないというのが弱点だけどな。
0958nobodyさん2010/10/27(水) 11:52:27ID:???
>>956
市ね
0959nobodyさん2010/10/27(水) 12:21:33ID:PYQNlHNo
日本語と英数字が混在している文字列を全角10文字ごとに
「<br />」タグを挿入したいと思います。
wordwrap関数では半角英数字の場合は↓でうまくいくのですが、
wordwrap($text,20,"<br />",true);

日本語と英数字が混在すると文字化けを起こしてしまいます。

例えば↓のような日本語英数字が混在する場合、

僕の家は埼玉県hogehoge市2-1-2です。(うそ)よろしく

関数か何かで↓のように変換するにはどうしたらよいでしょうか?

僕の家は埼玉県hogeho<br />ge市2-1-2です。(うそ<br />)よろしく
0960nobodyさん2010/10/27(水) 12:44:45ID:???
>>959
解決とは違うがなんでそんなことがしたいの?HTMLの書き方的に凄く気持ち悪い
10文字ごとの幅で折り返したいだけならそれの親要素の幅を指定してやる方がスマートだし正しい
すとりくたん的に受け付けないわ
0961nobodyさん2010/10/27(水) 12:51:55ID:???
firefoxのバージョンによっては半角がwordwrapされないから
0962nobodyさん2010/10/27(水) 12:59:02ID:???
>>959
本当にその例「僕の家は埼玉県hogehoge市2-1-2です。(うそ)よろしく」で文字化けするのなら
文字コードの指定の問題。スクリプトの文字コードやmb_*の値を確認して。

次に、「1234567890123456789あい」という文字列の場合
20で区切ると「あ」が分割されるから文字化けするのは仕方がない。

ということで、mb_strlenとmb_substrなどを組み合わせるのが良いと思うが
全角半角区別なく「10文字」ならmb_strlenで簡単だけど
「全角10文字」と「20バイト」は意味が違うから面倒かもね
0963nobodyさん2010/10/27(水) 13:01:28ID:???
>>961
半角が改行されないのは禁則処理である意味当たり前だからな
そういう理由なら半角数字を全角にするとかの方がまともな対策だと思うが
0964nobodyさん2010/10/27(水) 13:39:47ID:???
>>959
SJIS限定

$len = 20;
$str = "僕の家は埼玉県hogehoge市2-1-2です。(うそ)よろしく";
mb_internal_encoding("sjis");
$result = array();
for ($i = 0; $i <strlen($str); $i += $len) {
$result[] = mb_strcut($str, $i, $len);
}
echo implode("<br />", $result)."\n";

僕の家は埼玉県hogeho<br />ge市2-1-2です。(うそ<br />)よろしく
0965nobodyさん2010/10/27(水) 16:02:45ID:???
ID出さないでageる方法
0966nobodyさん2010/10/27(水) 16:07:06ID:HdTEvBrp
classのインスタンスを別の変数から取得できないかと思い、
↓のようなコードを書いたのですが、何も出力されません。
newする以外に取得する方法はないのでしょうか?

class Test{
var $text = 1;
function getInstance(){
return $this;
}
}
$obj = Test::getInstance();
echo $obj->text;
レス数が950を超えています。1000を超えると書き込みができなくなります。