[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 06/11 12:00 / Filesize : 340 KB / Number-of Response : 1015
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん(ワッチョイ 1342-Xqtn) mailto:sage [2016/11/09(水) 11:03:26.15 ID:eAjeihOa0.net]

PHPに関する下らない質問用避難スレです。
まず読むこと【PHPマニュアル】
www.php.net/manual/ja/

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 5(実質6)
echo.2ch.net/test/read.cgi/tech/1462971286/

次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured

121 名前:デフォルトの名無しさん (ワッチョイ 0d56-DGos) mailto:sage [2016/11/22(火) 12:11:54.05 ID:as71JNCU0.net]
>>119
正規表現の名前付きキャプチャってやつ
( )でキャプチャした内容って通常は0,1,2で参照するけど
これを使うと名前を付ける事ができる

Pythonでは結構おなじみだけどもちろんPHPでも使える

122 名前:デフォルトの名無しさん (ワッチョイ ff8c-oE7B) mailto:sage [2016/11/22(火) 12:17:40.16 ID:/nq338Jo0.net]
>>120
これは便利ですね!ありがとうございます

123 名前:デフォルトの名無しさん (ワッチョイ 0d56-DGos) mailto:sage [2016/11/22(火) 12:20:53.32 ID:as71JNCU0.net]
>>121
書き忘れたけど「P」は省略してもOK
最近の正規表現エンジンでは省略して書く事の方が多いのかもしれないけど
昔はPを書かないと駄目だった

perlやrubyでも使えるけど正規表現エンジンのバージョンに依存するから注意

124 名前:デフォルトの名無しさん (ワッチョイ ff8c-oE7B) mailto:sage [2016/11/22(火) 13:02:02.63 ID:/nq338Jo0.net]
>>122
ありがとうございます。古い書き方だったんですね

125 名前:デフォルトの名無しさん (ワッチョイ ff8c-cP7M) [2016/11/22(火) 13:13:18.42 ID:/nq338Jo0.net]
PDO,SQLで質問です
実際にどんなクエリが発行されているかを確認する方法ってありますか?
以下のsqlがうまく動かないのですが、
$st->queryStringを見ても
'SELECT * FROM table WHERE word LIKE :word '
としか入っていなくて、原因の調査に手間取っています

//あ が入っているものを検索したい
$word='あ';
$st = $pdo->prepare ( 'SELECT * FROM table WHERE word LIKE :word ' );
$st->bindvalue ( ':word', '%' . $word . '%', PDO::PARAM_STR );
$st->execute ();
$result = $st->fetchall (); //結果 0件

MYSQLで直接以下を発行するとうまく検索できます
SELECT * FROM table WHERE word LIKE '%あ%'

お助け下さい

126 名前:デフォルトの名無しさん (ワッチョイ 0d56-DGos) mailto:sage [2016/11/22(火) 14:24:40.46 ID:as71JNCU0.net]
>>124
勘違いしてるみたいだけど
プリペアドクエリは「○○と書くと××という書き方に変換してくれるという仕組みではない」よ
だから

> $st->queryStringを見ても
> 'SELECT * FROM table WHERE word LIKE :word '
> としか入っていなく
というのは当たり前

予期せぬ結果が返ってきた時は「とりあえず」例外処理してgetMessage()でも見ればいい
php.net/manual/ja/class.pdoexception.php

ただ、ソースをパッとみた感じ文法エラーとかは無い感じなので
勘だけどたぶん文字コードの問題
MySQLが認識している文字コードとPHPから投げてる文字コードとが一致してないんじゃない?

127 名前:デフォルトの名無しさん (ワイモマー MM85-1ibN) mailto:sage [2016/11/22(火) 14:30:34.03 ID:IDHLlL/iM.net]
>>124
とりあえずパラメータバインド後のSQLが見られるかといえば, 見られない。
プリペアドステートメントはプレイスホルダを含むSQLがDB側で構文解析, 実行計画済みの状態となってからプレイスホルダに値を入れて実行される。
エミュレーションの場合はその限りではないけども, まぁプリペアドステートメントでは「パラメータバインド後のSQL」は存在しないということで

因みにそれ, プレイスホルダ無しの場合やqueryで直接投げた場合には期待通りの結果になるの?

128 名前:デフォルトの名無しさん (ワッチョイ 0d56-DGos) mailto:sage [2016/11/22(火) 14:33:02.76 ID:as71JNCU0.net]
>>124
あーひょっとしてこれを知りたいってことかな?

$st->execute ();
// $result = $st->fetchall ();
$st->debugDumpParams();

129 名前:デフォルトの名無しさん (ワッチョイ ff8c-8NYh) [2016/11/22(火) 15:38:30.34 ID:/nq338Jo0.net]
>>125,126
ありがとうございます、文字コードが原因でした
>>127
それも知りたかった事です!ありがとうございました



130 名前:デフォルトの名無しさん (JP 0Hea-Th+s) mailto:sage [2016/11/22(火) 18:52:34.04 ID:gGTiwxlIH.net]
MySQLの管理者権限を持ってるなら
スロークエリログの設定して、long_query_timeを0にすれば・・全てのクエリーが出力されるようになったはず
もちろん本番環境で下手にやると問題になるので注意だけどww

131 名前:デフォルトの名無しさん (アウアウカー Sa41-1ibN) mailto:sage [2016/11/22(火) 19:05:54.30 ID:bB30Q14Ca.net]
voteの結果はギリギリだけど何か7.2で実装予定らしい
ttps://wiki.php.net/rfc/debugging_pdo_prepared_statement_emulation

132 名前:デフォルトの名無しさん (ワッチョイ 0d56-DGos) mailto:sage [2016/11/22(火) 19:44:48.31 ID:as71JNCU0.net]
ざっと読んだけどこれは>>126も書いてるPDOがプリペアドステートメントを
エミュレーションモードで処理してる時の話だよね
MySQLなんかだと
PDO::setAttribute(ATTR_EMULATE_PREPARES, false)
で運用してる人の方が多いんじゃないかな?

最新の情報には疎いから嘘を書いてたらすまない
訂正してもらえると助かる

133 名前:デフォルトの名無しさん (ワッチョイ 0dd6-8L7G) mailto:sage [2016/11/22(火) 20:02:35.86 ID:wk7xl0OZ0.net]
>>131であってるはず。

134 名前:デフォルトの名無しさん (ワッチョイ 15c9-ne1E) [2016/11/22(火) 20:10:12.59 ID:ccoK8ySA0.net]
【OS名】windows7
【PHPのバージョン】5.3.8
【連携ソフトウェア】XAMPP1.77(apacheは2.22.1) localhost環境です。
【質問内容】
Deprecated: Assigning the return value of new by reference is deprecated
の表示を避けるためにエラー表示をphpファイルで変更したいのですが、うまくいきません。
ファイルの最初に
<?php
ini_set('display_errors', 0);
error_reporting(0);
中略
$hoge =& new $fuga();
?>
としてもエラーが表示されます。
※php.iniでerror_reporting = 0にすれば表示しなくなります。

公開用に借りているサーバ(php5.3.x)では
ini_set('display_errors', 1); //多分0でも問題ないと思います。
error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE);
で件のエラー表示はされません。(この設定も試しました)

どこを確認・修正すればよいのかどなたか教えてください。お願いします。

135 名前:デフォルトの名無しさん (ワイモマー MM85-1ibN) mailto:sage [2016/11/22(火) 20:43:38.25 ID:mxQI2A9MM.net]
>>133
php.iniのerror_reportingはE_ALLのままでlo

136 名前:g_errorsとerror_logを設定
レンタルサーバ側は.htaccessで同様に設定出来るんじゃないかね(production環境ならE_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICTでいい)
Deprecatedを消すためにコードを直すんじゃなくエラーを消すとか本末転倒
[]
[ここ壊れてます]

137 名前:デフォルトの名無しさん (ワッチョイ 5e2c-XpIe) mailto:sage [2016/11/22(火) 21:11:04.68 ID:zY6SxlaL0.net]
取り急ぎエラーを消したいんじゃないですかね。
んで、追ってコード対応と。

138 名前:133 (ワッチョイ 15c9-ne1E) [2016/11/23(水) 10:16:55.53 ID:+HCTRHy30.net]
>>134
質問の仕方が悪かったでしょうか。
ini_set('display_errors', 0);
error_reporting(0);
が効かないのはなぜでしょうか?
効かす(効かせない)設定とかあるのでしょうか?というのが主旨です。

※公開サーバは効いています。
>>135
その通りです。
ローカルの制作環境がうまく動作してないのがどうも嫌で。

139 名前:デフォルトの名無しさん (ワッチョイ 6d85-uBSt) mailto:sage [2016/11/23(水) 11:58:07.71 ID:Zyc7G/7g0.net]
制作環境www



140 名前:デフォルトの名無しさん (JP 0Hea-Th+s) mailto:sage [2016/11/23(水) 13:47:17.85 ID:r5WCgEtQH.net]
自分のPCの環境ってことなら、自由に設定変更できるだろうし
設定ファイル直した方が早いかも?
Windows手元にないのでわからないが、phpinfo()でどのファイルを参照してるか出るはず

141 名前:デフォルトの名無しさん (ワッチョイ 15c9-ne1E) mailto:sage [2016/11/23(水) 14:00:52.06 ID:+HCTRHy30.net]
>>138
返信ありがとうございます。php.iniを変更すればエラー表示が変更されます。
確認済です。そうではなくて、
ini_set('display_errors', 0);
error_reporting(0);
が効かないのはなぜでしょうか?
効かす(効かせない)設定とかあるのでしょうか?
というところが知りたいのです。
制作と本番と理由がわからず違う動作をしているのが嫌なものですから。

142 名前:デフォルトの名無しさん (ワッチョイ f6cb-tQqt) mailto:sage [2016/11/23(水) 14:27:38.81 ID:x5VxXmbk0.net]
>>139
> 効かす(効かせない)設定とかあるのでしょうか?
まぁそりゃあるけども

> 制作と本番と理由がわからず
お前さんの環境がどうなってるかは知る由もないんでな
とりあえずini_setの成功確認やらその後にini_getで値セットを確認とかそのぐらいはやってるのか?

143 名前:デフォルトの名無しさん (ワッチョイ 6d85-uBSt) mailto:sage [2016/11/23(水) 15:53:55.45 ID:Zyc7G/7g0.net]
制作環境なんて呼んでるトーシロがそんなの知ってるわけねえだろ
大人しく外注丸投げしとけゴミw

144 名前:デフォルトの名無しさん (ワッチョイ 15c9-ne1E) mailto:sage [2016/11/23(水) 16:02:47.52 ID:+HCTRHy30.net]
>>140
ini_set('display_errors', 0);error_reporting(0);で
ini_setは1を返します。ini_getで、display_errors、error_reportingともに0を返します。
ini_getは問題発生行の前でも後でも0です。しかしエラーが表示されています。
さて、どうかひとつあなたがご存知の設定を教えてもらえませんか?

145 名前:デフォルトの名無しさん (ワッチョイ 6d85-uBSt) mailto:sage [2016/11/23(水) 16:19:26.80 ID:Zyc7G/7g0.net]
さて、どうかひとつwwwwwwwwwwwwwwwwwwwww

146 名前:デフォルトの名無しさん (ワッチョイ f6cb-+6wY) [2016/11/23(水) 18:43:39.16 ID:x5VxXmbk0.net]
当該エラーがコンパイル時エラーだからスクリプト中でini_setやerror_reportingを設定しても抑制出来ないか
レンタルサーバ側でその設定をしない場合はDeprecatedは表示されてるのか?

147 名前:デフォルトの名無しさん (ワッチョイ 15c9-ne1E) mailto:sage [2016/11/23(水) 19:17:52.34 ID:+HCTRHy30.net]
>>144
アドバイスありがとうございます。
結論からいうと、サーバのerror_reporting設定が変更されたようでDeprecated表示がされませんでした。
以前は表示されたため、error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE)の設定で避けたのです。
コンパイル時エラーということですが、$a =& new class();といった機能はしており
その後のini_getも含めページは最後まで表示されます。
動作は問題ありません。旧cakeやpearとかphp5.3利用した場合、error_reporting()で応急対処するのは定番のようなのですが、
なぜローカルのxampp環境では通用しないのか見当はつきませんでしょうか?
以前、xampp1.8(php5.5)の環境だったときは抑制できていたのですが、本番と同じ5.3にしたらこの現象が発生しました。
ちょっと試したいのですが、致命傷でないE_NOTICEにひっかかるコードを例示できますか?

148 名前:デフォルトの名無しさん (ササクッテロラ Spe7-3zn4) mailto:sage [2016/11/25(金) 11:57:29.27 ID:jtQtk7Typ.net]
馬鹿って、自分の立ち位置と使うべき言葉の関係を理解出来ないから相手にされないんだよな。

149 名前:デフォルトの名無しさん (ワッチョイ 138c-YSSY) [2016/11/25(金) 21:31:21.31 ID:am9ZDc9v0.net]
リファレンスってC言語で言う参照のことですか?



150 名前:片山博文MZ ◆T6xkBnTXz7B0 (ガラプー KKb7-R9Gf) mailto:sage [2016/11/25(金) 21:33:32.52 ID:puIxfyJVK.net]
CじゃなくてC++だね

151 名前:デフォルトの名無しさん (ワッチョイ 138c-BwdM) [2016/11/25(金) 22:17:11.22 ID:am9ZDc9v0.net]
ありがとうございます

152 名前:デフォルトの名無しさん (ワッチョイ 138c-BwdM) [2016/11/25(金) 22:29:05.06 ID:am9ZDc9v0.net]
例外処理でいくつか質問です
ErrorException
Exception
の違いについてですが

基本的にはException を使い、severity(深刻度)などのプロパティを決めたい場合はErrorExceptionを使う、
という認識で良いでしょうか?

Exception
php.net/manual/ja/class.exception.php
ErrorException
php.net/manual/ja/class.errorexception.php

またcatchでは以下のように基底クラスのExceptionクラスで受けたほうが良いのでしょうか?
catch(Exception $e)

以下ではエラーになります
try {
throw new Exception ('throw new Exception ');
} catch(ErrorException $e) {
echo $e->getMessage().'<br>';
}

もう一つ、php7ではErrorクラスとExceptionクラスを両方catchするために
Throwableで指定した方がいいのでしょうか?
catch(Throwable $e)

153 名前:デフォルトの名無しさん (ワッチョイ 6f2c-lM3r) mailto:sage [2016/11/26(土) 05:00:37.53 ID:l19dqbE50.net]
何のためにキャッチするのかって話

154 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/26(土) 11:00:09.75 ID:zRxKnjZm0.net]
PHP5.6までのケースで説明すると、PHPのエラーは元々例外ではないので、
php.net/manual/ja/class.errorexception.php
の「例」のようにexception_error_handler()を設定して例外に変換することで、エラーハンドリングを行いやすくしていた。

この場合の変換に用いられるのがErrorException。

つまりErrorExceptionは、Error、WarningやNoticeといった、プログラムの実行に関する例外として投げるべきもので、
端的にいうとデバッグ用として用いられ、アプリケーション特有の例外とは分けて考える。

例)
try {
 if($value[0] > 5){
  throw new MyException("値が許容値を超えています");
 }
} catch(MyException $ex){
 // 与えられた値が正しくない場合の処理。アプリケーション特有の例外。プログラムは正しく動作している
 echo $ex->getMessage();
} catch(ErrorException $ex){
 // プログラム実行エラー
 // 例えば$valueがarrayでなかった場合Noticeが発生し、これがErrorExceptionに変換されて投げられてくる
 // これはシステムの不具合であり、そこにバグがあることがわかる。
 // この例外のエラーメッセージはシステムのバグの実態なので、ユーザーに知らせるべきではない
 echo "システムエラーです";
} catch(Exception $ex){
 // 予期しない例外。ここで例外がキャッチされた場合も、やはりバグがあることがわかる。
 // この例外のエラーメッセージはシステムのバグの実態なので、ユーザーに知らせるべきではない
 echo "システムエラーです";
}

155 名前:デフォルトの名無しさん (ワッチョイ 138c-4BG+) [2016/11/26(土) 11:56:58.06 ID:pWqEBz120.net]
>>152
そういう風に使うものだったんですね。
よくわかりました、ありがとうございました

156 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/26(土) 12:20:35.58 ID:ooyaFqF30.net]
phpで例外設計とか臍茶ですわ

157 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/26(土) 12:24:34.56 ID:zRxKnjZm0.net]
×「例」のようにexception_error_handler()を設定して例外に変換することで

正しくは、
○set_error_handler()を設定して例外に変換することで

158 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/26(土) 12:26:42.24 ID:ooyaFqF30.net]
タイポもマトモに直せない池沼プェチプァ〜
哀れな言語ですこと

159 名前:デフォルトの名無しさん (ワッチョイ 138c-4BG+) [2016/11/26(土) 13:07:28.70 ID:pWqEBz120.net]
>>154
参考にしたいのでお聞きしたいのですが、例外設計に優れてる言語ってなんでしょうか?



160 名前:デフォルトの名無しさん (ワッチョイ b730-lM3r) mailto:sage [2016/11/26(土) 14:35:52.46 ID:cFmpK3Dq0.net]
その他の例外を一括でcatchするのが楽だといいなー

161 名前:デフォルトの名無しさん (ワッチョイ 277b-I39F) mailto:sage [2016/11/26(土) 14:41:18.13 ID:mx1WdaLu0.net]
Java, C# でも、アプリでキャッチして、アプリが処理できるものは、
Exceptionの派生クラスを、自分で定義する

Errorは、アプリ側では、どうにもならないもの。
キャッチしても、アプリ側で回復不能な、実行環境のエラーだから、キャッチしない

162 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/26(土) 15:13:14.88 ID:zRxKnjZm0.net]
>キャッチしても、アプリ側で回復不能な、実行環境のエラーだから、キャッチしない

は?

163 名前:デフォルトの名無しさん (ワッチョイ 2bc9-lP3M) mailto:sage [2016/11/26(土) 15:23:28.21 ID:M9z8QwC90.net]
>>146
相手にされないというか、ここの人たちは知らないのに解決しようとしている姿勢はよいよね。
でも的はずれ。検索してわかることばかり。シンプルに聞いても変化球しかなげられない。
>>140 結局、知らないんだよね。見透かされちゃうからそういう物言いをしたのだけれど。
環境なぞ、最初の質問で当りをつけられなきゃどうしようもないよ。

>>160
アプリがハングするようなものはキャッチできないってことすら逐次いわなわからんの?

ところで制作環境って何かおかしい?いやこれはマジで。

164 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/26(土) 15:26:57.22 ID:ooyaFqF30.net]
>>161
いいから早くphpでウンコの制作でもしてこいよ無能w

165 名前:デフォルトの名無しさん (ワッチョイ 138c-e4bX) [2016/11/26(土) 15:31:52.87 ID:pWqEBz120.net]
>>162
>>157をお願いします

166 名前:161 (ワッチョイ 2bc9-lP3M) mailto:sage [2016/11/26(土) 15:36:29.62 ID:M9z8QwC90.net]
>>160
ごめん、これはちょっと言い過ぎた。反省する。
>>163
過去発言を見ても、相手にしないほうがいいですよ。
現実世界でいろいろと溜まることがあるんだと思います。

167 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/26(土) 15:46:32.01 ID:zRxKnjZm0.net]
>アプリがハングするようなものはキャッチできないってことすら逐次いわなわからんの?

なにいってんのこいつ?
それがなんで、キャッチできるものもしない理由になるんだよ、ノータリン。


おいID:ooyaFqF30、
このバカ>>159 >>161は罵ってもいいぞ。お前に任せる。

168 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/26(土) 17:11:30.18 ID:ooyaFqF30.net]
だからペチピーなんて制作してる糞池沼に例外なんて高度なもの扱えるわけないんだよ
return "1"でもやってろゴミw

169 名前:161 (ワッチョイ 2bc9-lP3M) mailto:sage [2016/11/26(土) 17:53:20.81 ID:M9z8QwC90.net]
>>163
なっ話をすすめる知識がないだろ。



170 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/26(土) 18:00:57.30 ID:ooyaFqF30.net]
さて、どうかひとつローカルの制作環境で糞ペチプ〜を制作して下されやwwwww

171 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/26(土) 18:25:27.56 ID:zRxKnjZm0.net]
>>167
おめーは、Exceptionを正しく使う知識がねーだろーが。

172 名前:デフォルトの名無しさん (ワッチョイ 138c-zoOx) [2016/11/26(土) 19:19:41.09 ID:pWqEBz120.net]
>>164,167
なるほど。
この先いいことがあると良いですね。

173 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/26(土) 19:20:05.85 ID:ooyaFqF30.net]
ドッカン
          ドッカン
                  ☆ゴガギーン
        .______
.        |    |    |
     ∩∩  |     |    |  ∩∩
     | | | |  |    |    |  | | | |  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (  ,,)  |     |    | (・x・ )<おらっ!制作環境から出てこい、 ID:M9z8QwC90!!
   /  つ━━"....ロ|ロ   . | l   |U \逃げるなゴミ
 〜(  /   |    |    |⊂_ |〜  \___________
   し'∪  └──┴──┘  ∪

174 名前:デフォルトの名無しさん (ワッチョイ 138c-YSSY) [2016/11/26(土) 20:38:28.26 ID:pWqEBz120.net]
echo '23A'+1;
これはなぜ24になるのでしょうか?

175 名前:デフォルトの名無しさん (ワッチョイ 0bd6-p/G0) mailto:sage [2016/11/26(土) 20:49:06.90 ID:zRxKnjZm0.net]
そんなどうでも良いこと知る前に学ぶべきことが山ほどあるだろ。
そんな演算の成り行きが問題になってる時点で設計間違ってるって気付けよ。

176 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/26(土) 20:49:31.74 ID:ooyaFqF30.net]
>>172
ゲリ糞プェチピだもの
そういう頭のイカレたお作法と永遠にダンスするんだよ
プェチプァは

177 名前:デフォルトの名無しさん (ワッチョイ 138c-xMZc) [2016/11/26(土) 20:51:07.20 ID:pWqEBz120.net]
>>173
確かにそうですね、了解です
今phpマニュアルを端から読んでいるところです

178 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/26(土) 20:52:42.50 ID:ooyaFqF30.net]
プェチプァ〜は人生をマニュアル(ドブ)に捨てるのが生きがいらしい


哀れだよな

179 名前:デフォルトの名無しさん (ワッチョイ 87c9-lM3r) [2016/11/27(日) 13:35:28.67 ID:wcKeEZPe0.net]
復元可能な暗号化で一番お手軽な方法ってなに?



180 名前:デフォルトの名無しさん (ワッチョイ b730-lM3r) mailto:sage [2016/11/27(日) 13:47:56.16 ID:TeOgRo4V0.net]
各バイト(文字)に特定の値を足す

181 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/27(日) 14:10:06.08 ID:PAFp/IGH0.net]
お手軽な暗号化を求めたらお手軽な復号が可能になるってことがわからないサルだらけなのです。

182 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/27(日) 14:13:30.95 ID:iWuqA4Km0.net]
phpコード自体が難読化された暗号だからセーフ

183 名前:デフォルトの名無しさん (ワッチョイ 138c-e4bX) [2016/11/27(日) 16:07:52.18 ID:/eV3H2FX0.net]
>>177
お手軽に合致するか知らないけど
php.net/manual/ja/function.password-hash.php
php.net/manual/ja/function.password-verify.php

184 名前:デフォルトの名無しさん (ワッチョイ 87c9-lM3r) mailto:sage [2016/11/27(日) 16:24:18.76 ID:wcKeEZPe0.net]
>>181
申し訳ありませんが
復号不可能な方法は
NGです

185 名前:デフォルトの名無しさん (ワッチョイ 138c-e4bX) [2016/11/27(日) 16:32:14.26 ID:/eV3H2FX0.net]
>>182
rot13?
php.net/manual/ja/function.str-rot13.php

186 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/27(日) 17:40:01.55 ID:PAFp/IGH0.net]
>>183

179 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) :2016/11/27(日) 14:10:06.08 ID:PAFp/IGH0
お手軽な暗号化を求めたらお手軽な復号が可能になるってことがわからないサルだらけなのです。

187 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/27(日) 17:48:53.99 ID:iWuqA4Km0.net]
>>184
底辺土方専用言語のPHP相手に何言ってだ

188 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/27(日) 18:04:03.92 ID:PAFp/IGH0.net]
>>185

何言ってるのかわからないのは お ま え だ け

189 名前:デフォルトの名無しさん (ワッチョイ 87c9-lM3r) mailto:sage [2016/11/27(日) 18:26:09.15 ID:wcKeEZPe0.net]
>>183
なるほどこういうのもあるのか

これは復号がお手軽で良さそうだけど、暗号化状態からの類推が
ちょっと簡単すぎな気もするな



190 名前:デフォルトの名無しさん (ワッチョイ 6316-lM3r) mailto:sage [2016/11/27(日) 18:32:15.04 ID:5j5eipzu0.net]
ランダム値を足していく

191 名前:デフォルトの名無しさん (ワッチョイ 138c-YSSY) [2016/11/27(日) 18:43:23.48 ID:/eV3H2FX0.net]
>>187
base64。これも知ってる人が見れば一発で分かる
ゲームの演出にでも使うんならいいけど
php.net/manual/ja/function.base64-encode.php

192 名前:デフォルトの名無しさん (ワッチョイ b730-lM3r) mailto:sage [2016/11/27(日) 19:31:13.07 ID:TeOgRo4V0.net]
お手軽な暗号化っていうから、
単に難読化とか、ファイルをそのまま開けないレベルの話だと思ったんだけど違うん?

193 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/27(日) 21:03:09.33 ID:iWuqA4Km0.net]
phpの時点で難読だから安心汁w

194 名前:デフォルトの名無しさん (ワッチョイ 138c-YSSY) mailto:sage [2016/11/27(日) 21:24:14.60 ID:/eV3H2FX0.net]
>>172
解決しました

文字列の数値への変換
php.net/manual/ja/language.types.string.php#language.types.string.conversion

195 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/27(日) 21:31:39.10 ID:iWuqA4Km0.net]
>>192
ペチパーは、そういう一挙手一投足に永遠苦しみ続けるんやで

196 名前:デフォルトの名無しさん (ワッチョイ 138c-YSSY) mailto:sage [2016/11/27(日) 21:38:32.25 ID:/eV3H2FX0.net]
>>93
解決しました

マジックメソッドはインスタンスでないと呼べないことが原因でした

197 名前:デフォルトの名無しさん (ワッチョイ 138c-YSSY) mailto:sage [2016/11/27(日) 21:56:20.11 ID:/eV3H2FX0.net]
assertって例外みたいな分岐ということはわかったのですが、assertって使いますか?

198 名前:デフォルトの名無しさん (ワッチョイ 0bd6-rApL) mailto:sage [2016/11/27(日) 22:37:45.33 ID:PAFp/IGH0.net]
>>195
今存在を知った。

マニュアルを呼んでみると分かるが、PHPUnit等を利用していれば全く必要ないだろう。

199 名前:デフォルトの名無しさん (ワッチョイ 138c-LVz2) mailto:sage [2016/11/27(日) 22:39:14.64 ID:/eV3H2FX0.net]
>>196
なるほど。ありがとうございます



200 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/28(月) 01:32:53.97 ID:8eLi/pVq0.net]
ぺぺぺ

ペチプァがウニットテストwwwwwwwwwwwww

201 名前:デフォルトの名無しさん (ワッチョイ 0b56-znN9) mailto:sage [2016/11/28(月) 19:23:11.99 ID:goD476AK0.net]
またペチパーペチパー嬉しそうに言ってる猿が湧いてるのか
>>87>>157あたりに具体的な回答できないところを見ると
PHP以外の言語全くできない人なんだろうが…やれやれ

ケチをつけたり文句いうのだけは一丁前で
自ら生産性のある事は何一つできない猿は猿山で1人で吠えてろ

202 名前:デフォルトの名無しさん (ワッチョイ 0b56-znN9) mailto:sage [2016/11/28(月) 19:36:39.34 ID:goD476AK0.net]
>>187
PHP5.3からしか使えないけど
openssl_encrypt()なんかは手軽さと強固さを兼ね備えてると思うけどどうだろう?

レスに上がってたstrrot13()やbase64()は暗号化とはとても呼べないものだけど
本当に簡易的なものでいいなら
strrot13(strrev(base64($str)))みたいに文字列を並び替える系の標準関数をいくつか組み合わせて
自作してしまうのもアリかもね

203 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/28(月) 21:48:27.70 ID:8eLi/pVq0.net]
>>200
草w

204 名前:デフォルトの名無しさん (ワッチョイ 6f2c-lM3r) mailto:sage [2016/11/29(火) 00:00:56.02 ID:Xo8/l89i0.net]
そのうちユニットテストについて知りたくてユニットテスト系のレスが増えるんだろうなぁ…

205 名前:デフォルトの名無しさん (ワッチョイ 8b85-S5sA) mailto:sage [2016/11/29(火) 00:12:08.67 ID:rYidf/CN0.net]
ペチパーの神、テワダさんにでも頼めよ

206 名前:デフォルトの名無しさん (ワッチョイ 87c9-lM3r) mailto:sage [2016/11/29(火) 10:43:42.59 ID:G1PQ5qe80.net]
>>200
ありがとう
これがちょうどいい感じなのでこれでいきます

207 名前:デフォルトの名無しさん (ワッチョイ d185-yQe2) mailto:sage [2016/12/01(木) 21:29:51.50 ID:XF2FB4o/0.net]
なぜPHPなどという糞言語を選んでしまったのか?

哀れだ

208 名前:デフォルトの名無しさん (ワッチョイ 83f8-NTgB) mailto:sage [2016/12/02(金) 00:11:33.99 ID:cTMcx3vL0.net]
↑こういう馬鹿たまに来るけど
適材適所で使ってるだけで選んでるわけじゃないからな
ここはド素人向けのスレではあるけども
そんなこともわからんド素人にすら届かないミジンコ向けのスレはこの板には存在しないから
他あたって荒らしてくれな

209 名前:デフォルトの名無しさん (ワッチョイ d185-yQe2) mailto:sage [2016/12/02(金) 00:39:49.39 ID:+/BurYJT0.net]
適材適所(知恵遅れ並感)

ぼくちんプェピプェでウンコード量産するしか能のない池沼どぇ〜す
なんて公言しちゃって
恥ずかしくないん?



210 名前:デフォルトの名無しさん (ワッチョイ 1030-NTgB) mailto:sage [2016/12/02(金) 01:32:54.72 ID:Zj5y44Q+0.net]
プログラマが言語を選ぶのではない
顧客が言語を選ぶのだ

211 名前:デフォルトの名無しさん (ワッチョイ d185-yQe2) mailto:sage [2016/12/02(金) 08:34:12.06 ID:+/BurYJT0.net]
顧客にこびへつらってケツの穴舐めて
「俺は適材適所でPHPを使ってる(キリッ」
なんて自分を納得させないと生きていけない奴隷ペチプァ

カアイソウ

212 名前:デフォルトの名無しさん (ワッチョイ 3e01-VrYX) mailto:sage [2016/12/02(金) 18:09:31.20 ID:cbvf3DNb0.net]
ここもWebProg板もPHPについてまともに質問できる場所がねーな

213 名前:デフォルトの名無しさん (ワッチョイ d185-yQe2) mailto:sage [2016/12/02(金) 21:18:34.38 ID:+/BurYJT0.net]
ペチプェ自体まともじゃないからしゃーない

214 名前:デフォルトの名無しさん (ワッチョイ 1030-H1ya) mailto:sage [2016/12/02(金) 21:24:57.33 ID:3AEkxakR0.net]
オチンポ騎士団に入りたいです!

215 名前:デフォルトの名無しさん (ワッチョイ 1030-H1ya) mailto:sage [2016/12/02(金) 21:25:14.69 ID:3AEkxakR0.net]
すみませんスレ間違えました

216 名前:デフォルトの名無しさん (ワッチョイ d185-yQe2) mailto:sage [2016/12/02(金) 21:56:07.53 ID:+/BurYJT0.net]
212 名前:デフォルトの名無しさん (ワッチョイ 1030-H1ya)[sage] 投稿日:2016/12/02(金) 21:24:57.33 ID:3AEkxakR0 [1/2]
オチンポ騎士団に入りたいです!

213 名前:デフォルトの名無しさん (ワッチョイ 1030-H1ya)[sage] 投稿日:2016/12/02(金) 21:25:14.69 ID:3AEkxakR0 [2/2]
すみませんスレ間違えました



これがペチパーだ

217 名前:デフォルトの名無しさん (ワッチョイ f1d6-BMT5) mailto:sage [2016/12/02(金) 22:16:14.16 ID:eDwctYwK0.net]
>>214
お前もその一味だってこと、いい加減に気付こうな。

218 名前:デフォルトの名無しさん (ワッチョイ 2b8c-58uJ) mailto:sage [2016/12/02(金) 22:35:08.99 ID:cJB1i/Y+0.net]
DB接続で質問です

DBにSELECTやUPDATEする時は、
PDOはprepare()、PDO::bindValue()
PDOStatementが返ってきたらPDOStatement::execute()で良いでしょうか?
PDO::query()などは使わない方が良いですよね?

219 名前:デフォルトの名無しさん (ワッチョイ 2b8c-o9v3) mailto:sage [2016/12/02(金) 22:39:13.41 ID:cJB1i/Y+0.net]
DB接続でもう一つ質問です

トランザクションについて教えてください
UPDATEなどのクエリを複数一度に処理するという仕組みは何となく分かるのですが
PDO::TransactionやPDO::commit()はどういう時に使いますか?



220 名前:デフォルトの名無しさん (ワッチョイ f1d6-BMT5) mailto:sage [2016/12/02(金) 23:14:32.24 ID:eDwctYwK0.net]
PDO::beginTransaction を実行すると、トランザクションがスタートします。
これは、
PDO::commitを実行することでDBの変更処理が確定します。
もし、不都合が生じた場合、
PDO::rollBackを行えばPDO::beginTransactionが開始されてから行った変更要求は全てキャンセルされ
PDO::beginTransactionの前の状態に戻ることが保証されます。

これは、atomicな処理が求められる場合において、とても重要です。

ただし、PDO::rollBackがすべての要求を撤回できるわけではなく、
それは使用するデータベースの仕様に依存します。

例えば、MySQLではテーブルの作成や削除といった、DDLに類するSQLについて
ロールバックが行えないことを留意する必要があります。

とはいえ、トランザクション機能を有する大抵のデータベースにおいて、
DMLについてはふつうにロールバックできると思って構いません。

221 名前:デフォルトの名無しさん (ワッチョイ f1d6-BMT5) mailto:sage [2016/12/02(金) 23:23:17.30 ID:eDwctYwK0.net]
例を示しましょう。

たとえば、ECサイトにて注文を行う場合を想定します。

あるユーザーの一つの注文においては、Orderテーブルにレコードを1つ追加し、
注文内容について、OrderItemsテーブルに注文種類ごとにレコードを1つ追加するとします。

もし仮にOrderテーブルに注文情報を追加した後、
OrderItemsテーブルのレコード追加で問題が発生したとします。

今場合、OrderItemsテーブルの登録のみをキャンセルすると、
予期しないオーダーが発生してしまいます。

こうした場合、最初にトランザクションを発行しておいて、
問題が発生した場合に直ちにPDO::rollBackを行うことで、
注文処理の全てをキャンセルすることが可能になるわけです。

もし、全ての処理が完了した場合は晴れてPDO::commitを実行することで、
DBの変更処理を確定させます。

こうした処理を、atomic(アトミック:原子性)と呼びます。
この意味は、「一連のものとして定義された処理がすべて完了するか、一つも実行されないかのいずれか状態になること」です。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<340KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef