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

■ このスレッドは過去ログ倉庫に格納されています
2021/09/09(木) 09:38:43.41ID:eDlF7Xc4M
!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
★スレ立て時 ↑ が3行以上になるようコピペ

PHPに関する質問スレです

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 12
https://mevius.5ch.net/test/read.cgi/tech/1619667579/

次スレは>>980以降
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2022/03/30(水) 11:48:58.08ID:ghU4o1Ed0
あまり知識なさそうな人なら、情報量が多いバージョン使うのが良いのでは?
ご自身もそう考えていそうだし、背中押してあげようか?
2022/03/30(水) 11:50:31.65ID:SZ4iQ/We0
phpMyAdmin も、ブラウザでデータベースを見れて便利だから、

本番へ入れる香具師も多いけど、脆弱性を狙われる
2022/03/30(水) 13:54:06.58ID:bMF+K+xO0
webサイトの攻撃を見れる立場だと、phpmyadmin狙ったクエリが多いことに気付けるよねw
あれは最初ビビったw
2022/03/30(水) 23:14:02.09ID:1ooXHKRQ0
オライリーの本にでてたのだけど。サンプルが間違ってるのかな?

次の$dinnerの値がfalseなのに、if条件がtrueになるのは何故?

if($dinner == 'Braised Scallops') {
print "Yum! I love seafood.";
}
2022/03/30(水) 23:21:03.84ID:1ooXHKRQ0
ちなみに以下なら、if条件はfalseになる。

if($dinner === 'Braised Scallops') {
print "Yum! I love seafood.";
}

リテラルと「false」で「==」の比較をするとtrueが返ってくるの??
2022/03/31(木) 04:42:22.69ID:8HckyYNU0
その上のコードが無いと判断出来んわ
2022/03/31(木) 04:48:46.10ID:oh99lNSH0
if(isset($_POST['input1'])==false){$_POST['input1']=false;}
if(isset($_POST['input2'])==false){$_POST['input2']=false;}
if(isset($_POST['input3'])==false){$_POST['input3']=false;}
$input_set1=0;
if(true == $_POST['input1']){ $input_set1 = $_POST['input1'];}
else {$input_set1 = 0;}
if(true == $_POST['input2']){ $input_set2 = $_POST['input2'];}
else {$input_set2 = 0;}
if(true == $_POST['input3']){ $input_set3 = $_POST['input3'];}
else {$input_set3 = 0;}
$new_messages = $input_set1;
$max_messages = $input_set2;
$dinner = $input_set3;
2022/03/31(木) 04:49:36.14ID:oh99lNSH0
print <<<HTML_FORM
<form method="POST" action="$_SERVER[PHP_SELF]">
<ul>
<li>10,abcdef<input type="text" name="input1" >
<li>abcdef<input type="text" name="input2" >
<li>Braised Scallops<input type="text" name="input3" >
<button type="submit">送信する</button>
</form>
HTML_FORM;
print "$new_messages <br>";
print "$max_messages <br>";
print "$dinner <br>";
print "This is always printed.<br>";
if ($new_messages == 10){
print "You have ten new messages.<br>";
}
if($new_messages == $max_messages) {
print "You have the maximum number of messages.<br>";
}
if($dinner == 'Braised Scallops') {
print "Yum! I love seafood.";
}
505デフォルトの名無しさん (ワッチョイ 9202-tbOq)
垢版 |
2022/03/31(木) 04:59:01.80ID:oh99lNSH0
オライリーの「はじめてのphp」から。
の一部のコードを参考に、フォームからの入力で条件を確認しています。

3つ目のフォームが空の場合、$dinnerはfalseになるのですが。
($dinner == 'Braised Scallops')の場合、trueになるのです。

これまで、==で比較することなかったので、その結果に違和感があるところです。
2022/03/31(木) 06:30:54.35ID:PtLOqfk30
>>505
$dinnerはfalseじゃなくて0じゃね?

https://www.php.net/manual/ja/migration80.incompatible.php
8系で処理結果が変わってる
2022/03/31(木) 09:00:16.12ID:oh99lNSH0
0はfalseではないのですか、、。
調べてみます。ありがとうございます。
2022/03/31(木) 09:03:42.28ID:/ZasjnC50
こんなの気にしながらコード書きたくないからstrcmp系一択だわ
2022/03/31(木) 09:25:52.15ID:oh99lNSH0
ちなみに、phpのバージョンは7系でした。

# php -v
PHP 7.3.28 (cli) (built: Apr 27 2021 17:19:33) ( ZTS MSVC15 (Visual C++ 2017) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.28, Copyright (c) 1998-2018 Zend Technologies
510デフォルトの名無しさん (ワッチョイ 9202-tbOq)
垢版 |
2022/03/31(木) 09:32:05.79ID:oh99lNSH0
確かに 0 と false では挙動が違いますね。
すごくもやっとします。
511500 (ワッチョイ 9202-tbOq)
垢版 |
2022/03/31(木) 10:03:03.45ID:oh99lNSH0
自己解決しました。
https://so-zou.jp/web-app/tech/programming/php/grammar/operator/comparison.htm

==で比較するとき、
整数0 と 文字列'PHP' で true
整数1 と 文字列'PHP' で false

のようです。気味わるいですが、そうみたいです。
2022/03/31(木) 10:37:56.08ID:PtLOqfk30
>>511
それじゃ解決しないよ
教科書との違いは、数値形式の文字列のキャストの話
https://www.php.net/manual/ja/language.types.numeric-strings.php

あと参考にするのは適当なブログじゃなくて、公式見たほうがいい
2022/03/31(木) 11:19:04.53ID:oh99lNSH0
ありがとうございます。
でも、そうなのかなあ。
==の比較の場合、数値0 と false は結果が異なる。
っていうだけの話のような。。
2022/03/31(木) 11:56:54.49ID:PtLOqfk30
君の最初の疑問は
if(0=='php')
の挙動が本と実機で異なるってことなんで、まずそこから理解するといいよ

で、この比較は
https://www.php.net/manual/ja/language.operators.comparison.php
の「さまざまな型の比較」にあるように
> 文字列やリソースを数値に変換し、算術演算を行います

この数値変換が8以降で挙動が変わったってのが回答

ちなみに参考にしたブログは 0=='php' が TRUE なので、現行のphp Active Support バージョンにおいては間違った情報を垂れ流していることになる
2022/03/31(木) 12:05:50.04ID:PtLOqfk30
> の挙動が本と実機で異なるってことなんで、まずそこから理解するといいよ

ん?違うのか?

単純に
if(0=='php')
が TRUE になるのが気持ち悪いってことなんかな?

それなら、8系で修正されて直感と揃ったぞってことだね
2022/03/31(木) 13:27:33.73ID:3F1JJOSM0
>>496
jQuery で、ボタンをenable/disable に切り替える例

<button id="btn_1" class="btn btn-primary">
<span class="show-when-enabled">送信</span>
<span class="show-when-disabled">送信中...</span>
</button>

<button id="btn_2">送信ボタンをenable にする</button>

<style>
button .show-when-enabled { display: initial; }
button[disabled] .show-when-enabled { display: none; }

button .show-when-disabled { display: none; }
button[disabled] .show-when-disabled { display: initial; }
</style>

$( function ( ) {
$( '#btn_1' ).on( 'click', function ( event ) {
$( this ).prop( 'disabled', true ); // disable にする
} );

$( '#btn_2' ).on( 'click', function ( event ) {
$( '#btn_1' ).prop( 'disabled', false ); // enable にする
} );
} );
2022/03/31(木) 14:28:47.55ID:oh99lNSH0
>>515

>if(0=='php')が TRUE になるのが気持ち悪いってことなんかな?
そうです。そうです。

Javascriptだと。
if(0 == 'php'){
document.write("this is true");
}else{
document.write("this is false");
}
//"this is false"が表示されるのが普通なので。

もやっとしてましたが、ver8では改善されているのですね。

詳しい説明ありがとうございました。
2022/03/31(木) 15:05:21.39ID:3F1JJOSM0
JavaScript では、== は使わない方がよい。
常に厳密等価演算子、=== を使うべき

型違いは危険だから、TypeScript が出来た

こういうバグは、全部テストできないから厄介
2022/03/31(木) 16:35:59.57ID:oh99lNSH0
>>518
>JavaScript では、== は使わない方がよい。
>常に厳密等価演算子、=== を使うべき

これはPHPには当てはまらないのですか?
もっともなんとなくphpでも、比較するときは===を使ってますけど。
520デフォルトの名無しさん (オッペケ Sr79-LzaM)
垢版 |
2022/03/31(木) 19:11:06.94ID:FlN4IEP5r
タイトルのみ
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
画像と画像の下にタイトル
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
画像と画像の右にタイトル
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>
<ul><li>〜</li></ul>

上記のように出力しているのですが、ul を1個ずつにする方法を教えてください、どうしてもわかりません。
521デフォルトの名無しさん (オッペケ Sr79-LzaM)
垢版 |
2022/03/31(木) 19:13:16.58ID:FlN4IEP5r
$block_per_page = 2; //ページあたりブロック件数
$rss_per_block = 18; //ブロックあたりRSS件数
//RSS読み込み
$rss_per_page = $block_per_page * $rss_per_block; //ページあたりRSS件数
$rss_offset = ($current_page - 1) * $rss_per_page; //RSSオフセット
$sql = 'SELECT * FROM rss_feed ORDER BY date DESC LIMIT ?,?';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(1, $rss_offset, PDO::PARAM_INT);
$stmt->bindParam(2, $rss_per_page, PDO::PARAM_INT);
$stmt->execute();
$rss_items = $stmt->fetchAll(PDO::FETCH_OBJ);
//RSS表示
for ($i = 0; $i < $block_per_page; ++$i) {
for ($j = 0; $j < $rss_per_block; ++$j) {
$item_index = $i * $rss_per_block + $j;
if ($item_index >= count($rss_items)) {
break;}
$item = $rss_items[$item_index];
$title = "<a href=\"{$item->link}\">{$item->title}</a>";
if (empty($item->img)) {
$img = 'wp-content/uploads/2021/12/EXt1cESWAAAwdOY.jpg';
} else {
$img = $item->img;}
$image = "<a href=\"{$item->link}\"><img src=\"{$img}\" width=\"100\"></a>";
if ($j >= 0 && $j <= 4) {
echo "<li class=\"sitelink\">{$title}</li>"; // タイトルのみ
} elseif ($j >= 5 && $j <= 8) {
echo "<li class=\"sitelink2\">{$image}<br>{$title}</li>"; // 画像と画像の下にタイトル
} elseif ($j >= 9 && $j <= 12) {
echo "<li class=\"sitelink3\">{$image}{$title}</li>"; // 画像と画像の右にタイトル
}}
2022/03/31(木) 21:19:45.99ID:pB1E+d/ld
PHP8からの「文字列と数値の比較」は、この公式ページがわかりやすい
https://www.php.net/manual/ja/migration80.incompatible.php

(厳密でないやり方で)数値と非数値文字列を比較する場合、 数値を文字列にキャストし、文字列と比較するようになりました。
数値と数値形式の文字列の比較は、以前と同じ振る舞いをします。
注意すべきなのは、これによって、 0 == "not-a-number" が false と見なされるようになったことです。
2022/03/31(木) 21:32:14.98ID:pB1E+d/ld
つまり、PHP7では、
(厳密でないやり方で)数値と非数値文字列を比較する場合、文字列を数値にキャストし、数値と比較していた。
これによって、 0 == "not-a-number" が ture と見なされていた。

0 == "not-a-number"
この式は、次のようにキャストされて比較される
PHP7・・・0 == 0・・・true
PHP8・・・"0" == "not-a-number" ・・・false
2022/03/31(木) 22:10:53.99ID:oh99lNSH0
ありがとうございます。
なるほど。今7系のPHPで勉強してるけど。

$a =1 + "2";
echo $a;

これが 3
になるってのも、もやっとしてたんだけど
そこにつながるのですね。
2022/04/01(金) 15:25:22.67ID:PU7Zi1lY0
>>520

>>521
に、ul が無いから、ブラウザが自動的に補完したのでは?
2022/04/02(土) 13:04:19.39ID:PPKYa6900
さすがにブラウザが勝手にhtmlコードを追加することないですよ。
そのコードが本当に出力されているのなら、Javascriptなんかで<ul>を生成されているんじゃないかな。
2022/04/02(土) 13:29:55.60ID:jQt44mz00
>さすがにブラウザが勝手にhtmlコードを追加することないですよ。
あるよ
2022/04/02(土) 13:39:07.49ID:PPKYa6900
えー。そうなんだ。資料ありますか?
2022/04/02(土) 13:49:24.47ID:jQt44mz00
>>528
chromeのコンソールで今やってみたけど
ul、liの開始タグだけ入力しても、ブラウザが終了タグを補完してからhtmlを描画する
https://i.imgur.com/RQ5uRzX.png
https://i.imgur.com/vbsdbFi.png
2022/04/02(土) 13:50:59.62ID:jQt44mz00
ただ>>525はないかな
ブラウザからすると、liの親がulかolか判断できない
2022/04/02(土) 14:06:20.88ID:PPKYa6900
開発者モードで書き込み中の不備のタグを補完するのは、
単にエディタの補完機能と同じじゃん。
もともとソースコード問題があっても、ブラウザは生成するソースを変更しないよ。
ブラウザがやってるのは、描画時に問題がないように解釈するだけ。

Document変えるのはJSとかでしょ。
先のは、生成されたソースことなんだろうから。
2022/04/02(土) 14:10:51.58ID:PPKYa6900
<li>の親に<ul>を挿入するよう、JSでやってるんでしょ。
なんで、JSの問題じゃね。phpとはすれ違い。
2022/04/02(土) 14:18:14.05ID:jQt44mz00
>>531
開発者モードじゃなくても補完するよ?
2022/04/02(土) 14:23:41.80ID:mq5L2U9M0
ちゃんと文脈読もう
ブラウザが勝手にhtmlコードを追加する事はあるよ
>>530の言うように525のような補完方法はないけど

その前に下記の意味が分からんのだけど
>上記のように出力しているのですが、ul を1個ずつにする方法を教えてください、どうしてもわかりません。
2022/04/02(土) 14:27:08.54ID:PPKYa6900
補完とはどういう意味かなあ。
確かに、問題のコードは常にブラウザ内で補完しているよ。
でも、ソースコードを書き換えない。
これでわかる?
536デフォルトの名無しさん (ワッチョイ 2302-wq0K)
垢版 |
2022/04/02(土) 14:29:10.47ID:PPKYa6900
どんな補完しているかは、ユーザー側でわかりっこない。
2022/04/02(土) 14:36:53.06ID:PPKYa6900
>>534
その前に下記の意味が分からんのだけど
>上記のように出力しているのですが、ul を1個ずつにする方法を教えてください、どうしてもわかりません。

多分こうしたいんだろうけど、<ul>がどう出力されているかわからんので、回答しようもない。

<ul>
<li>...</li>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
<ul>
<li>...</li>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
<ul>
<li>...</li>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
2022/04/02(土) 14:39:43.31ID:jQt44mz00
>>537
最初からその回答してれば終わってたんやで
2022/04/02(土) 14:45:02.92ID:PPKYa6900
質問がグダグダ過ぎて、みんな回答する気が失せてんだよなあ。
2022/04/05(火) 06:32:43.73ID:77EaesJ40
まだRSSやってんの?(笑)何年かけてんだか
2022/04/05(火) 18:53:21.93ID:U10U/iFz0
そもそもまともにHTMLすら書けないのにPHPが書ける訳無いよね・・・
これだけ質問しても出来ないという事は才能無いだろうし
金払って優秀な人に教えてもらうとかしないと自力では無理でしょw
542デフォルトの名無しさん (テテンテンテン MM4b-velb)
垢版 |
2022/04/06(水) 19:21:09.25ID:BW6ioY7bM
公式サイトの日本語って何か難しくない?
Qiitaとかで調べてからじゃないと公式の言ってることがわからんことがある
2022/04/06(水) 20:47:40.87ID:S2xbnSM+0
好きに編集してええんやで
544デフォルトの名無しさん (アウアウウー Sabb-1SDO)
垢版 |
2022/04/12(火) 15:20:12.66ID:jPYvn4Oea
DB処理の格納接続表示を3つまとめたのですが重すぎてタイムアップになります
これを3つ分けて書いた場合負担は軽減されますでしょうか?
またファイルは分けた方が良いでしょうか?
2022/04/12(火) 15:48:23.13ID:GEf97Th6r
情報少なすぎて何もわからん
2022/04/12(火) 15:52:29.64ID:n8vU4oo30
SQLに問題があると、エスパーしてみる
547デフォルトの名無しさん (アウアウウー Sabb-1SDO)
垢版 |
2022/04/12(火) 16:05:43.12ID:xX3JuDfra
通常のサイトでレンタルサーバーを使う場合データベースを10個も動かすことはできるんでしょうか?
2022/04/12(火) 16:29:34.39ID:MEiPlXkOr
なんでサーバー仕様のことをサーバー会社に質問しないでphpスレで聞くんだ
2022/04/12(火) 17:01:17.51ID:gsOGD0UL0
重すぎるかどうかは、実行計画を見ないと分からない。
実行計画に、full scan・総当たりがあったら遅くなる。
総当たりは計算量(N)、つまりレコード数に比例する

インデックスを使えば、計算量(log N)になる

レンタルサーバーは他人のアプリの影響を受けるから、
他人が重い処理をすると、ずっと待たされる

それでタイムアウトしたのかも
550デフォルトの名無しさん (ワッチョイ 8e84-Qpjg)
垢版 |
2022/04/12(火) 23:51:19.23ID:KdVn/I690
質問です
現在私は掲示板をやっていて
formの送信があったらphpからdatに書き込みをしてphpがdatのデータを取得する形式なんですが
5chみたいに、formでリンクが送信されたときに自動でリンクを貼るにはどうすればいいのでしょうか?
551デフォルトの名無しさん (ワッチョイ df01-L4Li)
垢版 |
2022/04/13(水) 00:44:12.60ID:UabNWL5R0
phpでは不可能ですね
rubyを使うのが良いでしょう
2022/04/13(水) 00:52:48.21ID:P5y02Tze0
単に文字列の中のURLをpreg_match_all()などで抽出し
抽出されたURLにをaタグを付けて置換すれば良いだけでは?
この程度の事が分からないのに掲示板なんて作れたなw
2022/04/13(水) 01:03:02.02ID:XcJ4K+Jv0
まず日本語を勉強したほうがいいな
2022/04/13(水) 01:37:37.68ID:bM/4ubN60
こういうウソを平気でつくのがルビ使い
2022/04/13(水) 14:55:12.18ID:pdxuGyHLa
作った掲示板にスクリプト書き込んだら普通に動作しそうwwww
2022/04/14(木) 13:16:01.95ID:PA9Dmt8i0
サニタイズという言葉を知らないとかあり得そうだ・・・
2022/04/14(木) 13:19:19.15ID:o2CC6j1g0
サニタイズ警察が来るぞ!
2022/04/14(木) 14:23:53.52ID:lHkgcQQs0
日本でサニタイズっていう人いるんだ・・・
2022/04/16(土) 00:48:07.79ID:sRIRVoIE0
めっちゃハマったネタ置いとく
誰かの為になれば・・・

mb_ereg_replace()でコード、入力、パターンともEUC-JPで統一して置換してたんだけど
PHP7.4から8に移行して動かなくなった
8ではPattern is not valid under EUC-JP encodingというwarningが出て動かない
さんざ苦労した挙げ句、行き着いた答えは・・・
EUC-JPではなくeucjp-winを使うということ
同様にSJIS変換していたmb_convert_encoding()でもSJISではなくsjis-winを使う

確かに入力にローマ数字などが入っていたので、この8での挙動は理解できるのだけど
なぜ7.4まででは動いていたのかが謎
2022/04/16(土) 06:57:39.53ID:oSqpgZsi0
>>559
8.1 ではなくて 8 ですか?
8.1 に関しては、CP932/SJIS/EUC-JP あたりのことを tweet してた人がいた気がします
理解不能だったので読み飛ばしたんですけど、かなり深い闇だった気が
2022/04/16(土) 07:07:02.12ID:sRIRVoIE0
>>559
ああ、ごめんなさい
8.0ではなくて8.1系です(8.1.4と8.1.5)
ツイッターは探索圏外でした
探してみます
2022/04/16(土) 07:07:51.42ID:sRIRVoIE0
自分にレスしてどうすんだw
561は>>560さんにです
2022/04/16(土) 07:24:31.82ID:sRIRVoIE0
>>560
ttps://twitter.com/sji_ch/status/1512542333782622209
このツリーですかね?
メインはCP932とSJIS(-WIN)の関係みたいですけど

8.0系だったら問題なかったのかな?
まぁ、解決したから8.1でいいんですけど、やっぱり7.4以前(8.0も?)でOKだったのが謎
https://twitter.com/5chan_nel (5ch newer account)
2022/04/16(土) 07:52:37.37ID:oSqpgZsi0
>>563
そのツリーだけではなくて、その前後も含めてですね
ただ、今読み返してみると、>>559 とは別の内容かもしれないです

エイリアス復活の話なので、むしろ SJIS-win を使用している場合に問題が出るケースを示唆してましたね^^;
2022/04/16(土) 19:04:30.64ID:Ynxy6YP50
大昔は文字コードの事を考慮しなきゃ行けない時代があったけど
今はUTF8前提でそれ以外のコードは完全に無視みたいになって
文字コードの話題が懐かしく感じるわw
Perlで掲示板を作ることが主流だった時はjcode.plみたいな変換ライブラリを通して
SJISなりEUCで保存する事をやってたな
2022/04/16(土) 19:20:43.53ID:pYTE49690
latin1死ね
2022/04/17(日) 18:14:40.11ID:6NqJ12LK0
phpは、グローバル変数を素で関数内で扱えないのね。
javascript的に書いていたらハマった。。
568デフォルトの名無しさん (ワッチョイ a760-tijK)
垢版 |
2022/04/27(水) 19:12:14.32ID:t2/42GRu0
3,4年ぶりにphpを書いてるんですが、
そもそもそんなにやってるわけではないですが。

'わたしは'.$tango.'です。'
といつも.で繋いでいたのですが、
'わたしは{$tango}です。'

でも行けるんですね。
何か違いが出てくるのでしょうか?
2022/04/27(水) 19:15:37.66ID:oc6HC0Dq0
どっちが見やすいかで考えればわかるやろ
2022/04/27(水) 20:26:40.94ID:GOrWBmWe0
>>568
後者の方が書きやすい読みやすいから基本的に後者でいい
ちなみに
${foo}
という書き方もあるけど、これはエラーの元になるので使うな
https://www.php.net/manual/ja/language.types.string.php
2022/04/27(水) 21:20:36.11ID:t2/42GRu0
ありがとう!
2022/04/27(水) 22:09:28.65ID:WCFtcATH0
肯定と否定が同居してるんだが、どこかにダブルクォートで括れという暗黙の補足でも入ってるのか
2022/04/27(水) 22:15:00.97ID:fL7V2KCkM
つかなんでシングルだとあかんの?
2022/04/27(水) 22:18:15.30ID:c7tqZe1K0
>>573
ワシがルールだ
2022/04/29(金) 10:55:25.63ID:T+r22j7H0
SQL文扱う時にダブルクオートの方が都合が良い
2022/04/29(金) 11:23:16.13ID:UWk6LAKb0
>>575
ネタとしては中途半端でわかりにくい
2022/05/02(月) 23:14:53.44ID:IwCAb8460
データベースから取得するデータのカラムを簡単に変更する方法はありますか?
2022/05/03(火) 05:39:08.57ID:m/WM7KOM0
>>577
SQL書き換えりゃいい
2022/05/03(火) 10:17:03.66ID:7BOoLL9SM
var_dumpってデバッグ専用なんですか?
2022/05/03(火) 18:33:40.39ID:mDdvElg00
正式リリース環境でも使いたければ使えばいいよ
禁止されてない
自分がどう見られるのかだけ気にすればいい
2022/05/03(火) 18:56:30.17ID:7BOoLL9SM
>>580
下記のスレで全否定されたので
https://medaka.5ch.net/test/read.cgi/prog/1651160532/362
2022/05/03(火) 19:35:40.72ID:mDdvElg00
そりゃそう言われても仕方ないね
でも言いたいことは>>580と変わりなく、上半身裸で外をうろついていいですかと聞かれても
それくらいなら別に止めんよということと同レベルとだけ
583デフォルトの名無しさん (ワッチョイ 87b1-6Jp9)
垢版 |
2022/05/04(水) 19:17:40.73ID:CNnT8weS0
password_hash($pass, PASSWORD_DEFAULT);
としてパスワードをハッシュ化した時のデメリットにはどのようなものがあるか教えて下さい。

例えば、古いバージョンのPHPでパスワードをハッシュ化し、それを新しいバージョンのPHPでpassword_verify()でマッチするか調べると、マッチしない事などはありますでしょうか?
2022/05/04(水) 19:44:59.07ID:zKQR0mlQ0
まずドキュメントを読もう
アルゴリズムの箇所を理解しよう、bcryptとはなんだか理解しよう
それぞれのハッシュ化のアルゴリズムについて理解しよう
古いバージョンとはどんなバージョンか想定しよう

さてそろそろイメージできるようになったのではないだろうか
585デフォルトの名無しさん (ワッチョイ 7f2d-PwpY)
垢版 |
2022/05/04(水) 19:50:51.05ID:h5ouCXsT0
password_hashによってハッシュ化された文字列には
使用したアルゴリズム等の情報も含まれているから、将来性は考慮されている。
2022/05/04(水) 20:58:54.36ID:+HPow41x0
>>583
php VerUP 時にアルゴリズムが変更されたことに気が付かないでDBの制限に引っかかって無駄に悩む可能性がある
まぁ、普通に検証してればデメリットはないかなぁ
2022/05/04(水) 22:56:40.38ID:AJMM67e40
「ruby on rails bcrypt」で検索!

Rails では例えば、User モデルに、has_secure_password と書くと、
認証で、自動的にデータベースが暗号化される

class User < ApplicationRecord
has_secure_password
end
2022/05/05(木) 02:31:36.30ID:FeY8iOM40
フリーランスに立ちはだかる「常駐」の壁。慣例を打ち壊し、
“テレワーク”案件3割→8割へと成長を遂げた「クラウドテック」の軌跡

リモートワーク求人専門サイト「プロリモート」がリニューアルオープン、
業務委託契約の求職者と企業をマッチング

1/3以上が採用につながる高マッチング率、リモートワーク×エンジニア・デザイナー専門の
人材紹介サービス「ReworkerAgent」正式リリース場所からも時間からも自由な働き方を実現!

『ReWorks(リワークス)』リモートワーク特化型転職サイトとして 3月5日 リニューアル

副業・兼業マッチングサービス「クラウドリンクス」登録者数2万人突破
中小企業で進む副業人材の採用、96%が継続採用を希望

茨城県日立市、県外からの「テレワーク移住者」に最大151万円の助成金

長野市、市内に移転・事業所設置し、移住することで最大550万円の支援金を支給

フリーランスが活用できる「最大1,000〜3,000万円・補助率50%〜75%」の
『ものづくり・商業・サービス補助金』とは?概要や条件を解説
589デフォルトの名無しさん (テテンテンテン MM8f-SuRL)
垢版 |
2022/05/06(金) 19:22:23.90ID:Uq1J9tx3M
preg_replaceで下記のbbbで最短マッチさせたいのですが無理でしょうか?

$pattern:
/.*bbb+?/su
うまいこと?使ってできないでしょうか…

$replacement:
aaa
bbb
ccc
bbb
eee

上記の結果:
eee

求めてる結果:
ccc
bbb
eee
2022/05/09(月) 07:47:39.18ID:QH4sG/O7d
最初にマッチした次の行から3行
ってこと?
591デフォルトの名無しさん (テテンテンテン MMe6-IXr1)
垢版 |
2022/05/09(月) 09:53:41.06ID:gmNVuR+cM
そうです
2022/05/09(月) 11:35:08.82ID:dBPnB53l0
preg_replace('/.*?bbb(.*)/s', '$1', $s);
593デフォルトの名無しさん (テテンテンテン MMe6-IXr1)
垢版 |
2022/05/09(月) 13:33:35.13ID:NRg31fglM

?そうやって使うのか。そして後方参照使えばよかったのか。ありがとうございます
594デフォルトの名無しさん (テテンテンテン MMe6-IXr1)
垢版 |
2022/05/13(金) 11:30:20.56ID:N7EodmWOM
$arrayのサイズが3だったとして、
isset($array[100])はエラーにならないのに
echo $array[100];はエラーになるの不思議。

Javaの感覚だとisset($array[100])でも存在しないとこ見てるからエラーになりそうなのに
2022/05/13(金) 11:55:27.62ID:fQLlyk9x0
isset($array[100])が何を返したか調べて見た?
596デフォルトの名無しさん (テテンテンテン MMe6-IXr1)
垢版 |
2022/05/13(金) 12:54:15.84ID:N7EodmWOM
false
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況