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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/12/18(土) 20:07:33ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 101
http://hibari.2ch.net/test/read.cgi/php/1289793607/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0773nobodyさん2011/01/21(金) 00:04:12ID:???
>>771
Windowsはファイルの拡張子だけで何のファイルか判断して開くプログラムを決めてるから
ファイルの中に何を書いても意味が無い
>>772の言うように拡張子の関連付けを変更
0774nobodyさん2011/01/21(金) 00:13:42ID:???
>>769のどこにダブルクリックで起動したいなんて書いてあるの?
直接たたきたいならphp-win.exeを使う
0775nobodyさん2011/01/21(金) 01:15:00ID:???
>>772-773のどこにダブルクリックのことが書いてあるの?
0776nobodyさん2011/01/21(金) 02:08:51ID:wkDSO4Hb
↓こういう質問はどの板ですればよろしいでしょうか(テヘッ

あるライブチャットで接続拒否られたんですがすり抜けしたくていろいろ試してるんだけどダメです
試したのは↓

クッキー削除
Flashのshared objectを削除
プロキシ経由(IPはモデム?再起動しても変わらないのでプロキシ使用)

ほかにシステム側でユーザが接続拒否なのかどうか判断する材料とかって何があるんでしょうか?
0777nobodyさん2011/01/21(金) 02:18:08ID:???
>>776
PHP関係なし
0778nobodyさん2011/01/21(金) 06:51:10ID:???
$a = ''
$b = ""
$c = '0'
$d = 'Null'

if ($a){}
if ($b){}
if ($c){}
if ($d){}
この場合、変数abcdは全部trueになるのでしょうか?
07797782011/01/21(金) 06:52:12ID:53S+NMNf
メール蘭だすの忘れてました
0780nobodyさん2011/01/21(金) 06:56:22ID:???
>>778

そのコーディングではエラーになります。
0781nobodyさん2011/01/21(金) 07:06:17ID:???
if ($a){} →false
if ($b){} →false
if ($c){} →false
if ($d){} →false
じゃない?
言いたい事はわかるけど
0782nobodyさん2011/01/21(金) 07:30:37ID:???
'null'はfalseにならないよ
0783nobodyさん2011/01/21(金) 08:02:50ID:???
PHPはそこらが迷うからそういう時は===で型も比較したら良いよ
falseと0が同じ関数から戻ってきたりするしw
0784nobodyさん2011/01/21(金) 08:03:58ID:???
なんて関数?
0785nobodyさん2011/01/21(金) 08:04:40ID:???
結果0件と失敗じゃないだろうな
0786nobodyさん2011/01/21(金) 09:40:37ID:???
>>784-785
お前の存在そのものがfalseだ!
0787nobodyさん2011/01/21(金) 10:31:38ID:???
ふぁ〜〜〜るすっ!
0788nobodyさん2011/01/21(金) 10:35:07ID:???
>>780-786で回答してるのが >>782だけという現実。
0789nobodyさん2011/01/21(金) 10:52:26ID:???
文字列のnullがfalseで判別されたらある意味、脅威w
0790nobodyさん2011/01/21(金) 11:21:27ID:???
真偽なんて最も簡単に試して結果出るからここで嘘かホントかわからん回答を求めるのが不思議
0791nobodyさん2011/01/21(金) 11:27:57ID:Attkn4cD
LinuxでPHP使ってる人はコンパイル時に--enable-bcmathを付けていますでしょうか?
何か2038年問題がどうとか聞いたのですが、良く分からなかったもので
やっぱ付けた方がいいのでしょうか?
0792nobodyさん2011/01/21(金) 11:32:18ID:???
今から27年後まで稼動させる環境なら付ければいい
今から27年前の1984年から現在まで稼動している環境があったとしたら凄いな
0793nobodyさん2011/01/21(金) 11:57:05ID:???
2038年までシステムを稼働させるかどうかではなく
2038年を超えるデータの扱い・計算をした時点でアウト。

UNIXタイム使ってる部分(特に演算してるところ)に注意
日付はDateTimeを使って。
0794nobodyさん2011/01/21(金) 13:07:49ID:???
>>778
>boolean に変換する場合、次の値は FALSE とみなされます。
>
>■boolean の FALSE
>■integer の 0 (ゼロ)
>■float の 0.0 (ゼロ)
>■空の文字列、 および文字列の "0"
>■要素の数がゼロである 配列
>■メンバ変数の数がゼロである オブジェクト (PHP 4のみ)
>■特別な値 NULL (値がセットされていない変数を含む)
>■空のタグから作成された SimpleXML オブジェクト
>
>その他の値は全て TRUE とみなされます (全ての resourceを含みます)。
http://jp2.php.net/manual/ja/language.types.boolean.php#language.types.boolean.casting
0795nobodyさん2011/01/21(金) 13:48:47ID:???
専門用語?の読み方なんだけど、読み方これでいいの?
boolean の FALSE → 「ボーレーアンのファルセー」
integer → 「インテガー」
float → 「フロアツ」

人に聞いても「違うような気がする」言われるだけで当人も自身ないみたいで。
0796nobodyさん2011/01/21(金) 13:58:06ID:???
その手の話題はマ板の方が食いつきいいぜ
0797nobodyさん2011/01/21(金) 14:17:33ID:???
>>795
http://huikmn.blogspot.com/2010/12/php-php-advent-calendar-jp-2010-day-9.html
0798nobodyさん2011/01/21(金) 17:21:40ID:???
まじめに聞いてるんだけど。boleanとか読み方マジでわからない
0799nobodyさん2011/01/21(金) 17:35:46ID:???
http://translate.google.co.jp/#ja|en|boolean
0800nobodyさん2011/01/21(金) 17:57:32ID:???
>>798
ぶーにゃん
0801nobodyさん2011/01/21(金) 18:11:18ID:???
ブーリーン
0802nobodyさん2011/01/21(金) 19:37:27ID:qEeV7LN9
class Test {
 public function exitTest() {
  unset($this);
 }
}

みたいに自分のオブジェクトを削除するようなメソッドって使えないの?
0803nobodyさん2011/01/21(金) 21:30:44ID:???
class::function()で呼び出すとまず$thisが使えないのでは?
0804nobodyさん2011/01/21(金) 22:28:57ID:???
phpとmysqlに詳しい人
今作ってるゲームで、ウェブから特定のテーブルにアイテムデータなんかの入れ込みをしたいんですが
最終的な部分で詰まってます。
コード修正できる人いたらお願いしたいです。

謝礼として5000WebMoney(5000円分)となります。
詳しくは中のファイルにサイトとデータベースファイル入れておりますのでご覧下さい><
http://www1.axfc.net/uploader/He/so/309832
※ウィルスや釣りではありません

長いプログラムですが、当方はここが問題かもしれないと思うところは
説明書.txtの一番下に書いてます orz
0805nobodyさん2011/01/21(金) 22:31:29ID:8ndmGcBV
ID出し忘れてました
またこういった質問をする適切な場所があれば教えていただきたいです
0806nobodyさん2011/01/21(金) 23:04:16ID:???
モンスター教えてくんが降臨しててワロタ
0807nobodyさん2011/01/21(金) 23:07:19ID:???
>>804
http://headlines.yahoo.co.jp/
↑ここの米欄なら暇人が大量にいるから質問してみるといいよ
0808nobodyさん2011/01/21(金) 23:20:30ID:8ndmGcBV
やっぱりだめですかorz
こういうとこじゃないと専門知識ある方いないと思って探してるんです
0809nobodyさん2011/01/21(金) 23:21:12ID:???
俺がやってあげるよ
0810nobodyさん2011/01/21(金) 23:24:38ID:???
>>809
やります宣言はいいからとっとと修正版上げろや
0811nobodyさん2011/01/21(金) 23:26:23ID:???
>>808
ここにいるのは態度がデカイだけのゴミだから
本気で探してるんなら「はてな」で金かけて質問したまえw
0812nobodyさん2011/01/21(金) 23:27:02ID:???
>>808
リアル人脈広げようぜ。
人脈がないなら、もう1桁報酬上げて頼んだほうがいい。

もしくは、これを機会に勉強しまくるんだな。
0813nobodyさん2011/01/21(金) 23:27:23ID:???
>>802
$this = null;
とかできなかったっけ?
試したら結果教えてね。
0814nobodyさん2011/01/21(金) 23:28:47ID:8ndmGcBV
データベースにSQLを追加したりで色々手間と時間とがかかると思います

所有ポイントに関しては、purchaseすれば、mygame_ls側のaccountdataテーブル内のreward_pointが正常に減るのです
ただ、購入後にinventoryテーブルにアイテムIDやらが正常に挿入されないという点です。
(要はそのキャラクターの元へアイテムが届いていない)
0815nobodyさん2011/01/21(金) 23:31:09ID:???
>>814
>ただ、購入後にinventoryテーブルにアイテムIDやらが正常に挿入されないという点です。
「購入後にinventoryテーブルにアイテムIDやらを挿入」する処理がどのファイルで
行われてるか書いてよ
0816nobodyさん2011/01/21(金) 23:33:27ID:8ndmGcBV
一応分かってる範囲だけ補足さえていただくと
Money(お金)は、rewards1.phpとspend1.php
それ以外のアイテムは、rewards2.php~9とspend2.php~9に処理記述してます。
問題はたぶん、このファイルのデータベースとの通信
テーブルとの送信命令がマッチしてないことにありそうなんですが詰んでます...
0817nobodyさん2011/01/21(金) 23:37:35ID:8ndmGcBV
お金は、mailテーブルへ
それ以外はinventoryテーブルへデータ送信するようにしてます。
外国に人にも一度聞いてみたのですが、データベースのテーブル構造と
php側の記述がマッチしてない可能性があるといわれました
0818nobodyさん2011/01/21(金) 23:41:29ID:???
>>807の質問が拷問に見えた
0819nobodyさん2011/01/21(金) 23:48:25ID:???
金出すから改造してよvol.3
http://hibari.2ch.net/test/read.cgi/php/1162147035/l50
0820nobodyさん2011/01/21(金) 23:55:24ID:???
HTML出力の仕方が斬新だね
意外とヒアドキュメントとかより便利かも
0821nobodyさん2011/01/21(金) 23:55:59ID:???
>>817
ソースは軽く読んだだけなので一般的なバグの例を

1. SQL関連のエラーメッセージが表示されないなら、条件分岐(if文)ではじかれて
そもそもmysql_query()を含む行が実行されていない。
2. SQLのUPDATE文を使うべきところでINSERT文を使っている。
0822nobodyさん2011/01/22(土) 00:01:01ID:???
>>820
なにが斬新?
0823nobodyさん2011/01/22(土) 00:03:35ID:???
>>822
関数宣言の中に

<?php
<h1><?php echo $Row['category']; ?></h1>
?>

みたいな文が出てくるあたり
0824nobodyさん2011/01/22(土) 00:04:52ID:???
?>
<h1><?php echo $Row['category']; ?></h1>
<?php

↑w
0825nobodyさん2011/01/22(土) 00:07:39ID:???
バカでも書ける言語仕様が生んだ悲劇。
0826nobodyさん2011/01/22(土) 00:14:32ID:???
PHPモード抜けてHTML出力はマニュアルにも載ってる基本中の基本だよ
0827nobodyさん2011/01/22(土) 00:15:12ID:???
PHPの唯一のいいところを悪くいうな
0828nobodyさん2011/01/22(土) 00:16:45ID:???
>>826
これ基本か?

function foo(){
?>
<h1>ほげほげ</h1>
<?php
...
}
0829nobodyさん2011/01/22(土) 00:25:53ID:???
>>817
spendpoints/buy_item.phpがないわけだが
0830nobodyさん2011/01/22(土) 00:37:59ID:???
>>828
いいじゃないか。そういう柔軟な書き方もできるということで。
仕様上の問題が無い以上、基本かどうかは個人の思想によるので議論しても無駄。
0831nobodyさん2011/01/22(土) 00:45:25ID:???
>>830
斬新て言ってるだけでだれも否定はしてないのだが
0832nobodyさん2011/01/22(土) 01:04:38ID:???
>>780 確かにエラーになるね。
0833nobodyさん2011/01/22(土) 01:06:12ID:???
>>798 本当に質問しているなら >>1
0834nobodyさん2011/01/22(土) 08:09:36ID:???
>>804
inventoryテーブルにINSERTされていないのであれば、spend/spend2から10.phpの41行にエラー表示いれて確認してみたらどうだろ
INSERTやUPDATEしてるとこはエラー処理したほうがいいとおもうけどね。

mysql_query("INSERT INTO inventory VALUES('$uniqueid','{$Row['itemid']}','{$Row['description']}','null','$Character','0','0','0','0','0','{$Row['itemid']}','0')") or die(mysql_error());
0835nobodyさん2011/01/22(土) 08:28:21ID:???
>>804
834に追記
一つ前のSELECTしている39-40行もレコードがあるかどうか判断していないので無かったときに41行のINSERTで
エラーが出る可能性もあるかな。

itemUniqueIdがPRIMARY KEY指定されているが、12行で
$uniqueid = rand(900001, 1000000);
しているところが問題かも。重複する可能性あり。

それとinventoryのテーブル見たら全部数値タイプじゃないですか
INSERT文の4個めの'null'は数値じゃないので、これでエラーになってるかも。
0836nobodyさん2011/01/22(土) 09:02:51ID:???
>>835
おれんとこでは'null'をINTに入れると0になった
たぶんsql_modeの設定が違うと思う
804のサーバがどうなってるか知らんが
0837nobodyさん2011/01/22(土) 10:02:58ID:???
質問者からの再度の書き込みが見当たらない気がするのは私だけ?
質問を投げておしまいにする奴って多いな。
08388042011/01/22(土) 10:16:41ID:???
>>837
なんか丸投げしたまま逃げた感じになってしまってすみません orz
ここにいる人たちのレベルでは良い結果は得られそうにないので>>811さんが
言うとおり他所でお金を払って有能な人に質問することにしました。
0839nobodyさん2011/01/22(土) 10:24:57ID:???
質問じゃないね

丸投げっていうのよ それは

5000円ごときで仕事請け負うか?
会社によっちゃ下手すりゃ1時間ぶんの金額にもならんぞ

自身で勉強する気がないのに「質問」て言葉使うなよ
0840nobodyさん2011/01/22(土) 10:31:33ID:???
それ以前に匿名が金を出すからって言っておきながら不特定多数に解決を依頼する
その姿勢がおかしい。他人を利用したいだけなのが見え見え、しかも自分が満足する
解答(解決ではなく)が得られなければ他人を批判すると来たものだ。
0841nobodyさん2011/01/22(土) 10:37:18ID:???
なりすましにマジレス説教する奴って一体...w
0842んさydobon2011/01/22(土) 10:40:56ID:???
>5000円ごときで仕事請け負うか?
>会社によっちゃ下手すりゃ1時間ぶんの金額にもならんぞ
相応の対価が得られるのならいくらでも払うけどここのカスには¥5kで十分でしょ
実際に誰も解決できてないしw
0843nobodyさん2011/01/22(土) 10:49:54ID:???
ほんと醜いわ
どんな手を打ったってスキルの高い奴には通用しねーよw
0844nobodyさん2011/01/22(土) 10:52:39ID:???
>どんな手を打ったってスキルの高い奴には通用しねーよw
逆に言えばここのスキルの低い奴には通用するということですねわかります










ところで、通用しないって何が?
0845nobodyさん2011/01/22(土) 10:57:24ID:???
>>844
つまりお前が中学生か、中学生並みの知能しかないってことw
0846nobodyさん2011/01/22(土) 11:03:31ID:???
つまりここのカスどもは中学生か、中学生並みの知能しかないってことw

ってことですねわかります
0847nobodyさん2011/01/22(土) 11:13:20ID:???
Ajaxを使える奴が大人
0848nobodyさん2011/01/22(土) 11:15:11ID:???
Jaxaを使える奴が大人
0849nobodyさん2011/01/22(土) 11:16:13ID:???
>つまりここのカスどもは中学生か、中学生並みの知能しかないってことw
yes, so desu!
0850nobodyさん2011/01/22(土) 11:22:51ID:???
??? ?? ?
0851nobodyさん2011/01/22(土) 11:37:27ID:???
Analを使える奴が大人
0852nobodyさん2011/01/22(土) 11:41:57ID:???
>>851
おれ、メチャクチャ大人じゃん!
0853nobodyさん2011/01/22(土) 11:52:03ID:???
↑芸
0854nobodyさん2011/01/22(土) 11:53:16ID:???
大人ならA*a*くらい余裕
0855nobodyさん2011/01/22(土) 13:03:31ID:???
さあ、おうちに帰ろうね。

【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/l50
0856nobodyさん2011/01/22(土) 13:38:05ID:???
>>804
Ajax de ok
0857nobodyさん2011/01/22(土) 14:26:08ID:5oOIF2do
すみません、昨日ID:8ndmGcBVで書き込みしたものです
今掲示板をあれからみたため今から検証していきます
0858nobodyさん2011/01/22(土) 14:37:25ID:5oOIF2do
まず>>834さんの方法を試してみたところ
spend2.phpでは
「Transcation failed:column count doesn't match at row 1」となりました
0859nobodyさん2011/01/22(土) 14:41:28ID:???
もしかしてPHPやMySQLの知識0?
0860nobodyさん2011/01/22(土) 14:52:16ID:5oOIF2do
descriptionの部分で問題があるのかな

>>859
ほとんどないかもしれません
0861nobodyさん2011/01/22(土) 15:23:15ID:???
>>859
だって、こういうコードを書く人だから

function foo(){
?>
<h1>ほげほげ</h1>
<?php
...
}
0862nobodyさん2011/01/22(土) 15:29:49ID:5oOIF2do
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

です
0863nobodyさん2011/01/22(土) 15:50:59ID:???
>>858
>「Transcation failed:column count doesn't match at row 1」となりました

spend2.phpの41行目は
>mysql_query("INSERT INTO inventory VALUES('$uniqueid','{$Row['itemid']}','{$Row['description']}','null','$Character','0','0','1','0','0','{$Row['itemid']}','0')");
でVALUES()には12個の値が入ってる。

実際のinventoryテーブルが12個のカラムで構成されてるか調べてみれば?
0864nobodyさん2011/01/22(土) 16:01:32ID:5oOIF2do
データベース側はこうですので、こちら側に記述追加しないとだめですね
`itemUniqueId` int(11) NOT NULL,`itemId` int(11) NOT NULL,`itemCount` bigint(20) NOT NULL DEFAULT '0',`itemColor` int(11) NOT NULL DEFAULT '0',`itemOwner` int(11) NOT NULL,
`isEquiped` tinyint(1) NOT NULL DEFAULT '0',`isSoulBound` tinyint(1) NOT NULL DEFAULT '0',`slot` int(11) NOT NULL DEFAULT '0',`itemLocation` tinyint(1) DEFAULT '0',`enchant` tinyint(1) DEFAULT '0',
`itemSkin` int(11) NOT NULL DEFAULT '0',`fusionedItem` int(11) NOT NULL DEFAULT '0',`optionalSocket` int(1) NOT NULL DEFAULT '0',`optionalFusionSocket` int(1) NOT NULL DEFAULT '0',
0865nobodyさん2011/01/22(土) 16:07:32ID:5oOIF2do
まずitemcolorがnull許可してないので0にし、14個分インサート分書いたらなんとか
money以外の送信はできました
0866nobodyさん2011/01/22(土) 16:09:13ID:???
オレの数え間違いでなければ13個のカラムがあるみたい
spend2.phpの41行目のVALUES()の最後にもうひとつ0を追加してみては

1: `itemUniqueId` int(11) NOT NULL,`itemId` int(11) NOT NULL,
2: `itemCount` bigint(20) NOT NULL DEFAULT '0',
3: `itemColor` int(11) NOT NULL DEFAULT '0',
4: `itemOwner` int(11) NOT NULL,
5: `isEquiped` tinyint(1) NOT NULL DEFAULT '0',
6: `isSoulBound` tinyint(1) NOT NULL DEFAULT '0',
7: `slot` int(11) NOT NULL DEFAULT '0',
8: `itemLocation` tinyint(1) DEFAULT '0',
9: `enchant` tinyint(1) DEFAULT '0',
10: `itemSkin` int(11) NOT NULL DEFAULT '0',
11: `fusionedItem` int(11) NOT NULL DEFAULT '0',
12: `optionalSocket` int(1) NOT NULL DEFAULT '0',
13: `optionalFusionSocket` int(1) NOT NULL DEFAULT '0',
08678662011/01/22(土) 16:10:01ID:???
ごめん、14個だった
0868nobodyさん2011/01/22(土) 16:15:24ID:???
moneyの方もエラーメッセージを見せてくれれば何かアドバイスできるかも

phpもmysqlも入ってない環境でさっきからエスパってるから
エラー晒してもらわないと何もわからない(汗
0869nobodyさん2011/01/22(土) 16:17:43ID:???
>>868
ほい、money
http://www.youtube.com/watch?v=HWZSz2oo89w
0870nobodyさん2011/01/22(土) 16:23:17ID:5oOIF2do
incorrect integer value ="for column 'attachedkinahcount' at row 1

です 値の入力命令?
0871nobodyさん2011/01/22(土) 16:27:44ID:???
>>870
「不正な整数値('')が、カラム'attachedkinahcount'に挿入されようとしている」
ていうような意味だと思う。

恐らくmoneyテーブルのカラム構成と挿入しようとしてる値が一致してない。
0872nobodyさん2011/01/22(土) 16:31:52ID:???
mysql_query("INSERT INTO inventory VALUES('$uniqueid','{$Row['itemid']}','{$Row['description']}','null','$Character','0','0','1','0','0','{$Row['itemid']}','0')");

↑のようなINSERT文を↓みたいに書き換えて表示してから、実際のカラム構成と
比べてみるといい

$q = "INSERT INTO inventory VALUES('$uniqueid','{$Row['itemid']}','{$Row['description']}','null','$Character','0','0','1','0','0','{$Row['itemid']}','0')";
echo "Query: $q";
mysql_query($q);
■ このスレッドは過去ログ倉庫に格納されています