【PHP】下らねぇ質問はここに書き込みやがれ 12at TECH
【PHP】下らねぇ質問はここに書き込みやがれ 12 - 暇つぶし2ch2:デフォルトの名無しさん
21/04/30 12:01:11.72 6f1slJ3x0.net
NG推奨ワード: Ruby
この単語を含むレスは一切相手にしないように

3:デフォルトの名無しさん
21/05/01 13:04:54.03 wcP0w+UGr.net
URLリンク(codepen.io)
記事によってサムネイルが表示されたりされなかったりするのですが、原因がわかりません。アドバイスお願いします。

4:デフォルトの名無しさん
21/05/01 13:12:28.57 wcP0w+UGr.net
どうやら記事にサムネイルがなかったようです。記事にサムネイルがない場合、代わりに画像を設定したいのですがどのコードを修正すればいいのでしょうか?

5:デフォルトの名無しさん
21/05/01 14:10:09.09 hhTcbcPJ0.net
「html 画像 タグ」で検索!
<img> 要素

6:デフォルトの名無しさん
21/05/01 14:23:28.88 wcP0w+UGr.net
URLリンク(codepen.io)
サムネイルが取得できない場合 代替えの画像を表示するコードを付け足したのですが構文エラーが出てしまいます。どこが間違っているのでしょうか?
?php if


7:(empty($first_img)){ // 記事内で画像がなかったときのためのデフォルト画像を指定 $first_img = "/wp-content/uploads/2021/02/スクリーンショット-60.png"; } return $first_img; } 足したコードはこちらです。



8:デフォルトの名無しさん
21/05/01 14:31:24.78 wcP0w+UGr.net
>>5
htmlではなくphpの処理がわかりません。

9:デフォルトの名無しさん
21/05/01 16:40:35.24 wcP0w+UGr.net
RSSで出力元からサムネイルを取得してなければダミー画像を表示する方法がわかりません。functions.phpに処理を記載したいのですが、そもそも他人から取得するコードと自分のダミー画像を出力するコードをごちゃまぜにできないので困ってます。

10:デフォルトの名無しさん
21/05/01 16:56:15.41 wcP0w+UGr.net
記事中の1枚目の画像を取得 なければダミー画像を取得 
ifで条件が合ったときに画像を表示させたいのですが…

11:デフォルトの名無しさん
21/05/01 20:20:18.09 zdiXzYTRr.net
URLリンク(codepen.io)
return $first_img;
<span class="thumbnail2"> この部分が連結できません。調べてもわからず、RSSで画像を引っ張ってきたときに画像がないものにダミー画像を使いたいのですが、何をどう調べればよいか教えてください。

12:デフォルトの名無しさん
21/05/01 21:02:01.19 womjwnFK0.net
URLリンク(www.php.net)

13:デフォルトの名無しさん
21/05/01 21:27:54.33 k3UheK6C0.net
そもそもコードが無茶苦茶で論外ではあるのだが
更に言うとこれWordPressが入っている環境でしか動かないコードでは?

14:デフォルトの名無しさん
21/05/01 21:33:04.20 HeWILf2Q0.net
笑った。aspの頃を思い出した笑

15:デフォルトの名無しさん
21/05/01 22:15:10.90 F9cq2G89r.net
<php // RSSフィードを取得
incloude_once(ABSPATH.WPINC.'/feed.php'); //オブジェクト取得
$rss=fetch_feed('URLリンク(~.com)');
$maxitems=0; if(is_wp_error($rss)){ //フィードのエラーチェック
$maxitems=$rss->get_item_quantity(2); //すべてのフィードから最新2つを出力
$rss_items=$rss->get_items(0,$maxitems); //0件から指定した件数まで配列を生成
}?>

16:デフォルトの名無しさん
21/05/01 22:17:05.23 F9cq2G89r.net
<div class="grid-x grid-margin-y">
<php if (empty($maxitems)):?>
<php if ($maxitems==0) echo' <div class="celllarge-14"> //データがありませんでした。
</div>'; //取得できたRSSが0の場合「データがありません」と表示。
else foreach ($rss_items as $item):?> //RSSが1件以上あったときは繰り返し、$itemにあるデータであれば他のデータも表示させる。
ここまでは文法でおかしなところはないようです。

17:蟻人間
21/05/01 22:29:37.42 CNjeTyKed.net
>>14
incloudeって何? includeだよね。

18:デフォルトの名無しさん
21/05/02 02:55:22.64 eESL2rf00.net
なんでXAMPP環境だと、STDINはエラーになるのですか?

19:デフォルトの名無しさん
21/05/02 16:05:44.15 mGuGuO120.net
>>17
そもそも何がしたいの?

20:17
21/05/02 17:27:19.42 eESL2rf00.net
>>18
ユーザーから文字列を受け取り、コード内で使いたいです

21:デフォルトの名無しさん
21/05/02 18:02:00.71 mGuGuO120.net
入力?
URLリンク(www.php.net)
のようにGETで渡されたパラメータなら$_GETに入るのだが?
まさかとは思うが、サーバーが返したHTMLでリアルタイムで入力を受け取りたいとかだと
そもそもPHPは関係無いし、フロントのjavascriptでイベント処理するとかしないと無理だがw
URLリンク(developer.mozilla.org)

22:17
21/05/02 22:55:09.90 eESL2rf00.net
>>20
ありがとうございます
まだよく理解出来ていないのでいろいろ調べてみようと思います

23:デフォルトの名無しさん
21/05/03 20:41:30.42 N1nfC+z1r.net
<span class="date2">
<php echo $item->get_date('Y.m.d');// 日付 ?>
</span> //書き方が多少おかしい
<div class="cell medium-7"><!-- 記事中の1枚目の画像を取得-->
<a href="<php echo $item->get_permalink(); ?>"> //サムネイル
<php
$first_img = '';
if ( preg_match( '/<img.+?src=[\'"]([^\'"]+?)[\'"].*?>/msi',
$item->get_content(), $matches )
) { $first_img = $matches[1]; } ?> //記事中の1枚目の画像を取得

24:デフォルトの名無しさん
21/05/03 20:55:59.41 N1nfC+z1r.net
>>11
原因は>return $first_img; の前に処理が続いてるのにreturnしているからとヤフー知恵袋で教えてもらいましたが、
<php if(empty($first_img)){ //Defines a default image
$first_img = "/images/default.jpg";
}
return $first_img;
の部分は後から別のコードを連結したためおかしくなってます。
本来は
<php if(empty($first_img)){ //Defines a default image
$first_img = "/images/default.jpg";
}
return $first_img;
}
で処理を閉じるのですが。
続きのコードまで処理が続いているため、<php endif; ?>がいらないとエラーが出ます。
仮の画像につなぐコードを維持しつつ<php endif; ?>につなぐには<span class="thumbnail2">
<img class="heit6" src="<php echo esc_attr( $first_img ); ?>" alt="" />
</span>
<php endif; ?>を書き換える必要があるのでしょうか?

25:デフォルトの名無しさん
21/05/03 21:03:01.51 N1nfC+z1r.net
URLリンク(detail.chiebukuro.yahoo.co.jp)
これが全体のコードです。

26:デフォルトの名無しさん
21/05/03 21:58:18.17 N1nfC+z1r.net
すいませんどこを調べればよいのでしょうか?わかりません。

27:11
21/05/03 22:05:53.25 Cpgqkk+d0.net
>>23
そのreturnは一体どこで受け取るの?
マニュアル理解できないのか、そもそも読んでないのか知らんが、wordpress弄る前に基本的な学習が足りてない

28:デフォルトの名無しさん
21/05/03 22:13:12.99 N1nfC+z1r.net
しらべてみましたが、他サイトのRSSを表示する際にサムネイルがない記事に自身のサイトの画像を設定することは無理なようです。

29:デフォルトの名無しさん
21/05/03 22:19:25.42 N1nfC+z1r.net
>>26
調べるとfunctionに書くパターンと直接かくコードがあり。自身のサイトから発信する場合はfunctionに書いてそれを表示したいphpファイルから呼び出すよう書いてました。
自分の場合 相手方のサイトからRSSを取得してそれにアイキャッチや抜粋の情報を取得するので、直接コードを書いてますがその場合サムネイルがついてない記事も読み込んでしまいます。
そこでサムネイルがない記事に自身のサイトの画像を表示させたかったのですが、どのサイトにもその処理は乗ってませんでした。

30:デフォルトの名無しさん
21/05/03 22:25:10.28 N1nfC+z1r.net
自分の見解では相手方のサイトのRSSからそもそも画像のついてない記事をはじいて、サムネイルのついている記事のみ収集して表示するという考えになったんですが。
そんなことはphpで可能なのでしょうか?

31:11
21/05/03 22:39:39.80 Cpgqkk+d0.net
>>28
functions.phpから直接returnして一体どこでどうその値が扱われるの?
先のことがわからないコード貼って動きませんは無いでしょ
yahooに上げたのが最新だとすると、return $first_img;の後ブロック閉じてないし、閉じたとするとその5行下のendiの開始が見つからない
あとブロックが波括弧とコロンが混在してるし
安易に他人のコード切り貼りするからこう言うことになる

どこで画像取得してるか調べて、調べたら無い場合の処理を書く
これだけのことなんだから、ちゃんと動く段階のもの用意して一からやり直してみたらどうですかね?

32:デフォルトの名無しさん
21/05/03 22:41:00.86 +oXrxKHu0.net
やりたい事はPHPで普通に出来るが
そもそも質問するならpaiza等で動くコードを提示しないとね
wordpressが前提のようなものは、そういう前提部分が無いコードに書き換えるなりしないと
わざわざその環境を作って試してくれるような人なんて居ないしどうしょうもないかと

33:デフォルトの名無しさん
21/05/03 22:51:45.18 N1nfC+z1r.net
URLリンク(oku-log.com)
このコードのダミー部分と
URLリンク(midorinz.com)
このコードを合わせたので変になってます。
もとはこうなってました。{ $first_img = $matches[1]; } ?> <php if ( !empty( $first_img ) ) : ?>

34:デフォルトの名無しさん
21/05/03 23:01:59.87 HTxVkaL2M.net
endiタグはそもそも上のコードと連結していたものです。なので自分がやってることは本来完結してる文に句読点をつけて同じ処理を書いてるのだと思います。
エラーにかけるとreturn $first_img;の後ブロック閉じるとしたのendiタグはいらないといわれます。
しかし消してしまうと<span></span>の内容は表示されません。なぜなら上の文と合わせてphpが完結していたのに、自分が加えた余計なコードでphp処理が完結してしまうため後の処理が消えてしまうせいです。
functionに書くやり方ですとreturnをかいて別のphpファイルに書いてますが、そもそも他サイトから情報をもらってRSSを表示するならfunctionを通さないはずです。

35:デフォルトの名無しさん
21/05/04 00:05:26.78 q/VBEoPh0.net
じゃんけんをするスクリプトを、htmlファイルとphpファイルに分けて書き、
XSS対策としてhtmlspecilschars関数を使いたいのですが、
以下のphpファイルのどこに使えばよいでしょうか?
URLリンク(pastebin.com)
入力値は12行目の$_POST['handnum']で受け取っています

36:デフォルトの名無しさん
21/05/04 00:13:57.09 yFx0moer0.net
>>33
>本来完結してる文に句読点をつけて同じ処理を書いてるのだと思います。
>>32 前者のコードはfunctions.php内の関数内の処理なのだからreturnで値返すよね
それを後者の関数では無いプラグインの処理をベースにしてreturnするって、おかしいと思わない?
後者のコードでempty($first_img)で判別してるんだから、ある場合と無い場合でそれぞれ処理して終わる話では?(あくまでプラグイン作ってるとしたらの話)

37:デフォルトの名無しさん
21/05/04 00:47:59.15 yFx0moer0.net
>>34
filter_inputを使ってみてはどうか?
$handnum = filter_input(INPUT_POST, 'handnum', FILTER_SANITIZE_NUMBER_INT);
$player_hand = intval($handnum);

38:34
21/05/04 01:37:39.10 q/VBEoPh0.net
>>36
ありがとうございます
あとは特徴とか自分で調べてみようと思います

39:デフォルトの名無しさん
21/05/04 01:40:40.07 i9uz7Z8I0.net
>>34
そのスクリプトではXSSの問題はおきない
よってhtmlspecialcharsは不要
htmlspecialcharsは外から入ってきた変数を直接出力するようなときに使う
例えば echo "こんにちは{$_POST['name']}さん" は使わないとだめ
ちなみにintvalは"A"は0になるし"1A2"は1になるので
「0・1・2のいずれかの数字を半角で入力して下さい」なんて言うのであるならば
こんな適当な関数は使ってはだめ
そこは普通にstrで受けていいしhandtypeにもstr渡せばいいだけ
んでhandtypeで"0"~"2"じゃなかったときにfalseでも返して
handtypeからfalseが返ってきたらexitすりゃいい

40:デフォルトの名無しさん
21/05/04 01:43:50.15 qBuN3ovAM.net
>>35
このコードではプラグインは使ってません。simplepieでRSSを取得しているようです。
まず記事のサムネイルを取得します。それがない場合1番目の画像を代わりに取得します。
自分がこれに付け加えたいのは、その1番目の画像がない場合にサムネイルを自分で取り付けることです。
勉強不足で申し訳ないのですが、具体的にどのコードを書き換えてどのような修正が必要なのでしょうか?

41:デフォルトの名無しさん
21/05/04 01:45:49.53 qBuN3ovAM.net
なんとかコードを完成させたい気持ちはありますし。途中で投げ出す気もありません。

42:34
21/05/04 01:58:27.33 q/VBEoPh0.net
>>38
助言ありがとうございます
handtype関数はコンピュータの手(int型)にも利用するので
引数はint型にしたんですが…

intval()を使う所で、(int)とキャストするのは悪手ですか?
どっちにするか少し迷ったんですが

43:デフォルトの名無しさん
21/05/04 02:58:16.62 yFx0moer0.net
>>39
>どのような修正が必要なのでしょうか?
ぶっちゃけ全部
functions.phpに処理を加えたいならfunctions.phpの作法を最低限勉強しないと
URLリンク(www.google.com)

44:デフォルトの名無しさん
21/05/04 04:27:30.04 blbvBx1gM.net
>>42
すみません… つまり画像がある記事とない記事の処理を分けてRSSで召集するのが早いってことですかね?

45:デフォルトの名無しさん
21/05/04 04:32:49.84 blbvBx1gM.net
エンジニアの方が書いてるブログがありましたが、処理を分けるのはかなり難しいとありました。
やはり画像がないサイトとは提携しないのが良いのでしょうか…

46:デフォルトの名無しさん
21/05/04 04:48:08.45 blbvBx1gM.net
知恵袋の回答者さんが答えてくれたコードは自分でも考えついたのですが、
<php
if(empty($first_img)) $first_img = "/images/default.jpg";
?>
結局<span class="thumbnail2"> <img class="heit6" src="<php echo esc_attr( $first_img ); ?>" alt="" /> </span> <php endif; ?>
このphp endifまでで1番が一括りになってるので途中で画像に別のサムネイルをつけるという処理をオプションでつけられません。
おそらくA(サムネイル画像)or B(サムネイルがなく1番目の画像を使ったもの) or C(A & Bに当てはまらない画像がそもそもないもの) に分類されて。
endifまでにif文でAに属するもの→Bに属するもの→3番目の処理をendifのあとに書くのではないかと思ってます。

47:デフォルトの名無しさん
21/05/04 04:48:44.92 blbvBx1gM.net
URLリンク(detail.chiebukuro.yahoo.co.jp)

48:デフォルトの名無しさん
21/05/04 04:54:00.37 i9uz7Z8I0.net
>>41
> handtype関数はコンピュータの手(int型)にも利用するので
> 引数はint型にしたんですが…
逆にそっちをstrにキャストすればいいだけでは?(string)rand(0,2)
intキャストしたところでintvalと結果は同じだから>>38の問題はなおらないよ
適当なの入力してグーになるのは想定してない文字を入力するお前が悪い!
ってなら別にそれでもいいけど普通はバグとみなされる

49:デフォルトの名無しさん
21/05/04 05:34:11.51 yFx0moer0.net
>>43
functions.phpはそう言う垂れ流しコードを書く場所じゃないってこと
それでも敢えて書くなら、まずHTML取り払って、ブロックを波括弧で統一して、流れを追えるようにする

50:デフォルトの名無しさん
21/05/04 05:55:37.74 yFx0moer0.net
>>45
define('NO_IMAGE', '/images/default.jpg');
include_once(ABSPATH . WPINC . '/feed.php');
$rss = fetch_feed('URLリンク(adgene.net)');
if (!is_wp_error($rss)) {
$maxitems = $rss->get_item_quantity(2);
$rss_items = $rss->get_items(0, $maxitems);
}
if (!empty($maxitems)) {
if ($maxitems == 0) {
echo 'データがありませんでした.' . '<br>';
} else {
foreach ($rss_items as $item) {
echo $item->get_date('Y.m.d') . '<br>';
echo $item->get_permalink() . '<br>';
$first_img = '';
if (preg_match('/<img.+?src=[\'"]([^\'"]+?)[\'"].*?>/msi', $item->get_content(), $matches)) {
$first_img = $matches[1];
} else {
$first_img = NO_IMAGE;
}
echo esc_attr($first_img) . '<br>';
echo $item->get_permalink() . '<br>';
echo $item->get_title() . '<br>';
}
}
}

51:34
21/05/04 12:55:40.74 q/VBEoPh0.net
>>47
ありがとうございます
検討してみます

52:デフォルトの名無しさん
21/05/04 13:31:40.12 blbvBx1gM.net
>>49
訂正確認させてもらいました。ありがとうございます。ただ自分が目指すのはあくまでhtmlで形にすることですので、これだと実用できません。どうすればよいのでしょうか?

53:デフォルトの名無しさん
21/05/04 13:39:25.26 k79tTEvW0.net
>>51
仕事としてできる人に依頼するといいよ

54:デフォルトの名無しさん
21/05/04 13:41:03.60 blbvBx1gM.net
URLリンク(yugiou.me)
作成中のサイトはアダルトサンプルサイトです。

55:デフォルトの名無しさん
21/05/04 13:44:48.51 blbvBx1gM.net
中身はもともとサンプルサイトだったのですが、アニメサイトに変える予定です。

56:デフォルトの名無しさん
21/05/04 14:01:58.95 wdzHnAM+0.net
>>52にも指摘されているけど、自分で出来ないなら仕事としてメンテナンスや改修を依頼するなど
した方が良いと思う
もしあなたがその立場だとしたら仕事が出来ないという事を伝えた方がいい

57:デフォルトの名無しさん
21/05/04 14:02:48.68 blbvBx1gM.net
>>51
ここから自分の理想の左に画像右に抜粋表示の形に持っていくのは非常に困難なので依頼を出すかプラグインを購入します。
コードを考えて教えてくださりありがとうございます。

58:デフォルトの名無しさん
21/05/04 14:18:43.33 yFx0moer0.net
>>51
>これだと実用できません。どうすればよいのでしょうか?
echoしてる箇所箇所に自分で好きなタグ差し込めばいいだろ?
あなたがどんなタグ使うかどんなclassで装飾するかなんて誰もわかんよ
>>56
>非常に困難なので
仮にこれでhtml出力できてもfunctions.phpの使い方が間違ってるから次は「任意のタイミング出力したいですがどうすれば」とか言い出すのが目に見えてる
金で解決が正解、お疲れ様

59:デフォルトの名無しさん
21/05/04 15:29:53.83 Z3Fw33AT0.net
>>51
>ただ自分が目指すのはあくまでhtmlで形にすることですので
別のファイルにモジュール化して、
HTML で、その関数を使えば?
例えば、Ruby on Rails では、
ヘルパー用のファイルに、自分でヘルパー関数を定義すると、
自動的に読み込まれて、定義したヘルパー関数を、HTML 内で使えるようになる

60:デフォルトの名無しさん
21/05/04 15:42:56.52 105dsh2D0.net
WordPressの話でRails出してくる奴って頭おかしいだろwwww

61:デフォルトの名無しさん
21/05/04 15:52:04.34 6Iqe5Ux70.net
まあそいつはこの板でトップクラスに有名な頭のおかしい奴だからな

62:デフォルトの名無しさん
21/05/04 16:35:23.70 blbvBx1gM.net
もう一点質問があるのですが、個別ページをプラグインで表示している場合 検索欄を設置しても検索結果は改造前のデザインが表示されてしまいます。
wordpressで検索欄とプラグインで作った個別ページを結びつけることは可能でしょうか?

63:デフォルトの名無しさん
21/05/04 18:19:56.23 3mVKEEbM0.net
いやもう諦めろ

64:デフォルトの名無しさん
21/05/04 18:20:25.60 q/VBEoPh0.net
また質問させて下さい
郵便番号から住所を検索して表示するアプリを本に従って作っているのですが、
GETで得た値を途中でint型にキャストする理由が分かりません
文字列で送られてくるのだからそのままでいいと思うのですが…
コードは以下です
URLリンク(pastebin.com)

65:デフォルトの名無しさん
21/05/04 18:41:34.91 i9uz7Z8I0.net
>>63
初心者向けだからってそんな酷い本あるの?
おそらく$_GET['zip']に変な文字入れられても
とりあえずintにキャストしておけば無害化できるとか
そんな安直な思考やってるんだろうけど
こんなやり方はバグの温床になるだけ
ちゃんとバリデーションすべきだね

66:デフォルトの名無しさん
21/05/04 18:45:46.00 3mVKEEbM0.net
>>63
キャストする理由が無いのでその本がおかしい
そのコードはintにキャストした後、文字列結合する為にすぐstringにキャストされてる
さらに言うと0から始まる郵便番号をintにキャストすると0埋めが消えるのでただのバグにしからならない
例えば北海道北区の郵便番号 '001-0000' をintにキャストすると 1 になって最終的にこうなる
URLリンク(zipcloud.ibsnet.co.jp)

67:デフォルトの名無しさん
21/05/04 18:55:00.43 105dsh2D0.net
>>63
糞本のタイトル教えてください

68:63
21/05/04 19:05:36.40 q/VBEoPh0.net
答えてくれた方、ありがとうございます
>>64
バリデーションの項目は、後のページに記述されているみたいです
>>65
それは困りますね…
>>66
これだけでクソ本かを判断してもらいたくないですが、
MdNコーポレーションの本です

69:デフォルトの名無しさん
21/05/04 19:32:59.61 oSclcFmd0.net
>>67
コード見たけど紛れもない糞本
PHPってほんとロクな本がないから、他の言語の基礎がない人がいきなりPHPやると罠にハマりやすい
他の人も書いてる通り、安易な型キャストはバグや脆弱性の元になるから絶対にやったら駄目
具体例として有名なのは以下のWordPressの脆弱性
URLリンク(blog.tokumaru.org)

70:63
21/05/04 19:46:58.61 q/VBEoPh0.net
>>68
警告をしてくれたことには感謝します
ですが俺はこの本は(入門本としては)悪い本だとは思わないので
しばらく続けようと思います

71:デフォルトの名無しさん
21/05/04 20:56:57.58 k79tTEvW0.net
>>69
人のアドバイス無視して、自己流でやるなら質問なんかするな
全部そうじゃねぇか
せめて自分で検証して、フィードバックぐらいしろアホ

72:デフォルトの名無しさん
21/05/04 21:39:17.85 WQX5YaEJM.net
>>70
いやお前アドバイスしてなくね

73:デフォルトの名無しさん
21/05/04 21:42:23.00 oSclcFmd0.net
俺はPHPも好きだからあんま悪くは書きたくないが、まぁPHPerが馬鹿にされる理由がこういうレスから何となく分かるのは確か
他の言語の経験がない初学者だからこそ、「型」みたいな「基礎的な概念」の理解が大事なんだがな
PHPの本人はマジでウンコだらけだよ
公式のPHPマニュアルの出来は素晴らしいが

74:デフォルトの名無しさん
21/05/04 21:43:46.75 3mVKEEbM0.net
>>69
所詮は入門本だから深く考えずにその本の通りにやって良いと思うよ
ただその本を読んでて >>63 の時のように「あれ?」って思ったら本の解説が悪かったのかもしれないから、今回のように改めて聞くなり調べたほうがいいと思う

75:63
21/05/04 23:25:42.85 q/VBEoPh0.net
>>70
いえ、アドバイスを無視はしてません
全て自己流でやるつもりもありません
ただ本に関しては、お金を出して買ったものですし、
俺のフィーリングとはマッチするので、勉強をストップはしないというだけです
>>72
ありがとうございます
辛口ですね
>>73
とても寛容な方ですね
ありがとうございます

76:デフォルトの名無しさん
21/05/05 00:39:47.42 pywfeHK30.net
本の誤りに気付けるようになれば後は独学出来そうだよな
スレの質問に回答する側になる日も近いぞ

77:デフォルトの名無しさん
21/05/05 01:00:20.49 nLfsJ5FLr.net
jquearyをword pressで使いたくても準備の段階でいつも躓くんですよね
環境の設定がうまくいかない、どこを調べてもサポートが載ってない エラーをiniで調べてもわからない。
結局JavascriptとPHPで作らないといけない。
JavascriptやPHPで勉強する為にはまず自分のやりたいことを調べる→コードを見つける→加えたいコードについて調べる→加える部分の文法を調べる→文法に合わせて加えたいコードを変える
これでいいのでしょうか?

78:デフォルトの名無しさん
21/05/05 01:23:29.52 //JWI9di0.net
>>76
それじゃすぐに行き詰まって挫折するか、進めたとしてもコピペで切り貼りしないとプログラムが書けない最底辺のプログラマになりそう。
基本的な文法や流れを入門書で一通り学んでから作りたいものを作ることに取りかかった方がいいと思うよ。

79:デフォルトの名無しさん
21/05/05 02:11:13.71 0GVtuCHcM.net
自分の分析ではURLリンク(designsupplyweb.com)
のように。
<php if( 条件A ): ?>
<!-- 条件Aの処理 -->=サムネイルを取得する方法?
<php endif; ?>
<!-- 条件Bの処理 -->=サムネイルがない場合、記事の1番目の画像を取得する方法?
つまり
<php endif; ?>
</a>
<div class="cell medium-79">
<a class="name21" href="<php echo $item->get_permalink(); ?>">
<php echo $item->get_title();// タイトル ?>
</a>
と書くことでパーマリンクとタイトルの抜粋を取得しているのではないかと考えました。
先ほどご回答いただいたRSSについて少し理解ができました。
URLリンク(detail.chiebukuro.yahoo.co.jp)

80:デフォルトの名無しさん
21/05/05 02:39:25.83 0GVtuCHcM.net
ifより下にサムネイルを取得する方法(A)
else?より下にサムネイルがない場合1番目の画像パーマリンクタイトルを取得する方法(B)
endifより下にサムネイル(A)、記事の1番目の画像がない場合(B)の取得方法(C)
こういう風な書き方だと考えました。

81:デフォルトの名無しさん
21/05/05 10:51:17.50 U3p71Gkr0.net
>>56

82:デフォルトの名無しさん
21/05/05 14:53:48.11 Dw+PnwkB0.net
>>76
Ruby on Rails なんて、未経験者1年ぐらいで、10年以上のプロよりも上!
WSL2, Docker Compose, Node.js, Bootstrap, CircleCI、データベース、
VSCode(拡張機能・Remote WSL, Remote Container)
さらに、YouTube のKENTA のサロンでは、
AWS Fargate, React, Vue.js
KENTA が教育革命を起こした

83:デフォルトの名無しさん
21/05/05 18:32:07.40 xoz9BxNqM.net
>>81
こいつスレ違いの指摘無視して書き込んで印象悪いから、こいつの宣伝する奴は絶対見ない

84:デフォルトの名無しさん
21/05/05 18:51:38.01 U3p71Gkr0.net
URLリンク(www.google.com)
病気だから触っちゃだめ

85:デフォルトの名無しさん
21/05/05 20:13:49.37 VRLPB9Rcr.net
どうしても最後に1件だけ教えてもらいたいことがあります。
<php
$first_img = '';
if ( preg_match( '/<img.+?src=[\'"]([^\'"]+?)[\'"].*?>/msi',
$item->get_content(), $matches )
) { $first_img = $matches[1]; } ?>
<php
if(!empty($first_img)) $first_img = "/images/default.jpg";
?>
<span class="thumbnail2">
<img class="heit6" src="<php echo esc_attr( $first_img ); ?>" alt="" />
</span>
<php endif; ?>

86:デフォルトの名無しさん
21/05/05 20:14:07.11 VRLPB9Rcr.net
if文としては下記の記述方法だけです。
1.
if (条件式)
実行する文;
2.
if (条件式) {
実行する文ブロック
}
3,
if (条件式):
実行する文ブロック
endif;
エラーの内容は
if (empty($first_img)) $first_img = "/images/default.jpg";で構文は完結しているのに、
<span class="thumbnail2">
<img class="heit6" src="<php echo esc_attr( $first_img ); ?>" alt="" />
</span>
<php endif; ?> 同じ内容の構文を二度書いているのかというものでした。
ここからは持論ですが、<span></span>の前に<php if>と付け加えることで<php endif; ?>のエラーは起きず、
サムネイルがない場合の処理は正常に機能するのではないかと考えました。

87:デフォルトの名無しさん
21/05/05 20:23:39.13 VRLPB9Rcr.net
サムネイルがある場合の処理は
<php
$first_img = '';
if ( preg_match( '/<img.+?src=[\'"]([^\'"]+?)[\'"].*?>/msi',
$item->get_content(), $matches )
) { $first_img = $matches[1]; } ?> で完結してます。
<php
if(empty($first_im


88:g)) $first_img = "/images/default.jpg"; ?> でサムネイルがない場合の画像の表示は成功してます。 <span class="thumbnail2"> <img class="heit6" src="<php echo esc_attr( $first_img ); ?>" alt="" /> </span> <php endif; ?>は <php endif; ?>が構文重複を起こしているため削除すると、 以下のサムネイルがない場合のパーマリンク、タイトルの処理が無効になります。 <span class="thumbnail2"> <img class="heit6" src="<php echo esc_attr( $first_img ); ?>" alt="" /> </span> <php endif; ?> </a> <div class="cell medium-79"> <a class="name21" href="<php echo $item->get_permalink(); ?>"> <php echo $item->get_title();// タイトル ?> </a> </div></div><!-- 記事中の1枚目の画像を取得終了--> <php endforeach; ?> </div> <php endif; ?>



89:デフォルトの名無しさん
21/05/05 20:24:45.03 VRLPB9Rcr.net
今回で最後にします。連投すみません。どうしてもコードを調べてスキルアップしたく、ご質問しました。

90:デフォルトの名無しさん
21/05/05 21:51:12.30 //JWI9di0.net
>>87
もう諦めて
>>52

91:デフォルトの名無しさん
21/05/05 22:10:15.69 Jv+u44AA0.net
>>87
teratailにマルチポストとか、たしかにクレクレスキルレベルアップだなw

92:デフォルトの名無しさん
21/05/05 22:22:19.87 CkXeLifR0.net
>>87
だから自分でブロック追えるようになるまでHTMLタグ除去していきなって
それでコード追えたら望みの処理加えてタグ戻すだけだろ?
初心者がろくに手も動かさずにあれこれ推測したって1mmもスキルアップしないよ

93:デフォルトの名無しさん
21/05/05 22:44:46.51 VRLPB9Rcr.net
>>90
つまりPHPの処理を書いてからhtmlは後付けしなさいということでしょうか?

94:デフォルトの名無しさん
21/05/05 23:13:07.40 PLXlK8zu0.net
あなたの理解では10年掛かっても無理そう

95:デフォルトの名無しさん
21/05/05 23:13:30.83 CkXeLifR0.net
>>91
そうだよ! >>48 >>49
また実用できませんとかぬかす様ならもう諦めて

96:81
21/05/06 12:37:29.96 b7Mkjg0R0.net
>>81
に書いたけど、Ruby on Rails では、
未経験者が1年ぐらいで、10年以上のプロよりも、技術力が上になる!
それは、KENTA も言ってるように、Rails の教育体制があるから
Rails 6 だけでも数冊の本が出る。
他にも、Rails ガイド・Rails チュートリアルなど
一方、WordPress では、まともな本が無い。
デザインの本ばかりで、プログラミングする本が無い
教育体制がないから、勉強もできない。
だからKENTAも、PHP は、やる必要がないと言ってる
ちなみに、WordPressのスレは、web制作管理板の方にある。
このスレよりも、そちらで聞いた方がよい

97:81
21/05/06 12:58:09.14 b7Mkjg0R0.net
>>85
if (条件式)
実行する文;
この1. のif は、挙動が怪しい。
endif が無いのか、構文が次へ続くのか、はっきりしない
素人は、使わない方がよい。
バグるだけ

98:デフォルトの名無しさん
21/05/06 15:13:01.82 vADWO+XJ0.net
アホー知恵遅れにこんな質問があったが、このスレの奴じゃね?w
URLリンク(detail.chiebukuro.yahoo.co.jp)
テラテイルでプログラミングのわからないところを質問すると高確率でもう批判されます。
知恵袋民は親切で優しいのに何故テラテイルは尖った人が多いのでしょうか?

99:デフォルトの名無しさん
21/05/06 17:34:07.87 aapTta380.net
ああいうサイトは話し方に注力する必要があって中身が薄っぺらい
回答者の口調がキモくなるばかりw

100:デフォルトの名無しさん
21/05/06 18:32:23.80 eFqM4kkiM.net
URLリンク(detail.chiebukuro.yahoo.co.jp)
アドバイス コード修正をいただいて無事コードを作成できました!
とても勉強になりましたし、構文を知れべて自分でつくりながらアドバイスをもらっていけば、コードの修正は可能だと思いました。
セキュリティ等は素人なためプラグインのみの対策になると思います。

101:デフォルトの名無しさん
21/05/06 18:34:16.25 eFqM4kkiM.net
複数回の質問は迷惑をおかけしましたが、もう少しおだやかにお願いします。

102:デフォルトの名無しさん
21/05/06 18:49:02.57 JK9SHRy4a.net
>>98
本当に勉強になったのか?
リンク先を流し読みしかしてないけど、回答者から正解をもらって、そのままやればいいところを理解不足のために勝手な改編をして回答者のアドバイスを無視する形になって、そのままごちゃごちゃやってるうちに結果的に動いたというだけでないの?

103:デフォルトの名無しさん
21/05/06 19:01:11.31 gYaH/NLjM.net
>>100
触らないほうがいいよ

104:デフォルトの名無しさん
21/05/06 19:04:32.36 vADWO+XJ0.net
>>100
スルーでよろ

105:デフォルトの名無しさん
21/05/06 19:07:06.96 cMwqQwv30.net
一番アドバイスしてきた身としては少々残念ではあるがこれはもうダメだな

106:デフォルトの名無しさん
21/05/06 19:20:27.71 eFqM4kkiM.net
>>100
はい、勉強になりました。アドバイスを自分なりに調べてそのあとコードにしました。
コードも1つ1つ丁寧に調べました。

107:デフォルトの名無しさん
21/05/06 19:21:24.77 eFqM4kkiM.net
構文と1つ1つのコードを両方調べましたので。

108:デフォルトの名無しさん
21/05/08 06:09:43.42 L6ON1lDZ0.net
PHP8の参考書っていまのところこの3冊くらいだけ?
初心者からちゃんとしたプロになる PHP基礎入門〈PHP8対応〉
2021/3/2
独習PHP 第4版
2021/6/14
スラスラわかるPHP 第2版
2021/6/21
独習買うかぁ。。

109:デフォルトの名無しさん
21/05/08 21:40:01.82 IigwFWbp0.net
ひょっとしてJavaスレに居た手帳持ちの基地外か?

110:デフォルトの名無しさん
21/05/09 22:39:40.75 QFMWrYCLa.net
最近のteratailひどいと思います。
Yahoo!知恵袋だと丁寧に教えてくれますが、teratailを見るとコードを盗もうとしてるとしか思えません。
1つ1つ調べていけば誰だってコードをほぼ完成まで書けるはず。
それを少し指摘して、コードを盗む気満々じゃないですか。

111:デフォルトの名無しさん
21/05/09 23:07:38.18 VS30X6nK0.net
>>108
はいはい。病院行きましょうね

112:デフォルトの名無しさん
21/05/09 23:09:03.69 kUoJObmB0.net
>>108
君のコードのどこに盗む価値があると思ってるんだ?

113:デフォルトの名無しさん
21/05/09 23:09:32.06 HRmcdH49a.net
>>109
数年前の回答率と比べても教える人が減っているのは明らか
それに回答の正確さも落ちている、どう見てもひどいです。

114:デフォルトの名無しさん
21/05/09 23:11:05.91 VS30X6nK0.net
>>111
もらったお薬はちゃんと飲もうね。深呼吸してスレタイ読もう。読めるかな?

115:デフォルトの名無しさん
21/05/09 23:11:18.03 iI4vdA3ra.net
>>110
自分と同じことを過去に書いている方が5~6人いましたがどれも解決していない。
それに閲覧数に比べて回答が少なすぎる

116:デフォルトの名無しさん
21/05/09 23:28:45.08 kUoJObmB0.net
>>113
どんな質問か知らんが、解決しないのは解決に足るだけの意味のある情報を質問者が提示できてないケースが大半だろう。
閲覧数にたいして回答者数が少ないのも同じ理由。解決に必要な情報が足りてないか、もっとひどい場合には、質問の内容からこいつは話の通じない奴と思われて、相手にされてないんだろう。

117:デフォルトの名無しさん
21/05/10 00:07:14.88 CL77hu3C0.net
>>107
基地外とか、言うなよ、

118:デフォルトの名無しさん
21/05/10 00:47:19.87 2QvdpAMsa.net
>>114
ありがとうございます。今後わからない時はこのスレを利用させてもらいます。

119:デフォルトの名無しさん
21/05/10 01:45:46.08 RKj1GriiM.net
>>116
URLリンク(xn)


120:--97-273ae6a4irb6e2hsoiozc2g4b8082p.com/%E3%82%A8%E3%83%83%E3%82%BB%E3%82%A4/%E8%B6%85%E4%BA%BA%E3%81%AE%E7%A5%9E%E8%A9%B1/ とりあえず100回読んでから質問してね



121:デフォルトの名無しさん
21/05/10 23:04:25.33 ViCp850r0.net
質問の意味が分からないとか、
漠然とした事・抽象的な事を質問してるとか、
要点だけを聞かずに、関係のない部分も含めているとか。
数行のコードで済むはずなのに、10行以上書いてる香具師とかいる
要点と関係ない部分を、書いてはいけない
たいていは質問者が悪い。
具体的で、要点だけを聞くべき

122:デフォルトの名無しさん
21/05/10 23:10:37.74 CL77hu3C0.net
>>118
お前まさかRu

123:デフォルトの名無しさん
21/05/10 23:13:04.27 jLWGeya+0.net
>>118
この板で最も要領を得ないレスを繰り返すお前が何を言ってるんだか

124:デフォルトの名無しさん
21/05/10 23:19:22.89 UiGdMk6V0.net
ここは質問スレです
質問以外(回答も含む)書いてはいけません

125:デフォルトの名無しさん
21/05/12 20:37:31.63 Ux15IMaX0.net
>>106
どれも変わらん。どれか一冊買って使い倒すのが良かろう。
例えば、あのphpの本あかんから別のphp本買うってなったら
もうその人はphp使える人では無くなる。
このままでは、↓のスレ主みたいな事になるぞ。
そうなってしまうと、あなたはものすごく不幸にだろう。
スレリンク(dame板)
他人の不幸で飯が旨いって言うけど
いくら何でも限度があるわ。
そうならない事を切に願う・・・

126:デフォルトの名無しさん
21/05/12 23:01:28.06 5WlgtyEz0.net
>>122
回答だけ書けよ
関係ないスレへのリンク貼るな

127:106
21/05/13 00:58:28.68 eg0K6B+N0.net
あのさぁ・・・
俺が聞きたかったことは
「PHP7対応の書籍が他にある?」かであって、
どれがいいかなんて聞いてない
ハァ~~~~~~(クソデカため息)
話が通じない人間って、
ホンッット、人の話を聞かないよな

128:デフォルトの名無しさん
21/05/13 04:33:16.57 hLisjmco0.net
>>124
おまえは自分の質問内容も理解できてないのか?

129:デフォルトの名無しさん
21/05/13 07:20:11.85 coUjx+ix0.net
  どうしてこんなになるまで放っておいたんだ!
   三           三三
        /;:"ゝ  三三  f;:二iュ  三三三
  三   _ゞ::.ニ!    ,..'´ ̄`ヽノン
      /.;: .:}^(     <;:::::i:::::::.::: :}:}  三三
    〈::::.´ .:;.へに)二/.::i :::::::,.イ ト ヽ__
    ,へ;:ヾ-、ll__/.:::::、:::::f=ー'==、`ー->>123,124
  . 〈::ミ/;;;iー゙ii====:::::::.` Y ̄ ̄ ̄,.シ'=llー一'";;;ド'
    };;;};;;;;! ̄ll ̄ ̄:::::::::.ヽ\-‐'"´ ̄ ̄ll

130:デフォルトの名無しさん
21/05/13 19:51:06.45 TYrG9hF3d.net
恐れ入ります。。
下記実装で悩んでおりまして、、
一度ログイン認証に成功したユーザーについて、そのユーザーがどのページに遷移しても
ユーザーIDのようなものをページのURLにくっつける仕組みを考えております
何か良い案はありますでしょうか?
お知恵拝借したく。。

131:デフォルトの名無しさん
21/05/13 20:36:02.84 XqtV/lgG0.net
>>127
結論からいうとURLに入れる必要は全くないし入れるべきではないんだけど
ログイン認証実装で当たり前の知識として
セッションという言葉が出てくるのだけどセッションってわかる?

132:デフォルトの名無しさん
21/05/13 20:48:38.42 NATYYilK0.net
Ruby on Rails では、セッションを使う
本来、HTML のページには連続性が無い・1回限りのものだから、
それを同じ人が連続してアクセスしているように見せる概念を、セッションと言う
セッションでは、このアクセスは、5分前にアクセスしたA さんだよね、と判別できる

133:デフォルトの名無しさん
21/05/13 22:44:43.21 e+CFy6Tl0.net
>>129
Rubyの話はRubyのスレでやろうよ
ここはPHPに関する話をする所だよ

134:デフォルトの名無しさん
21/05/13 23:38:44.73 TYrG9hF3d.net
>>128
>>129
お二方誠に恐縮です。有り難うございます。
セッションに保持ということですね。
勉強不足でした。
あとは、ユーザーがページに飛ぶごとに
セッションに保持したIDをくっつける、、
ひゃー どうしよ 難しそう

135:デフォルトの名無しさん
21/05/13 23:42:38.02 hlnRPxw+0.net
URLにユーザーIDのような固有情報埋め込むと
手動で編集されてハッキングされてしまわない?

136:129
21/05/14 00:50:25.47 QMgVBpCt0.net
Ruby on Rails では、セッションキーをURL に付けたりしない。
たぶん、フォームの隠しフィールドか何かに入れて、サーバーへ送って確認する
セッションキーは、ブラウザのcookie に入っているから、F12 開発者ツールでも見れる
ログイン・セッションみたいな機能は、自作するものではない。
普通、Rails みたいなフレームワークを使う
フレームワークの最初が、ログイン機能の説明

137:デフォルトの名無しさん
21/05/14 10:47:01.28 ajnT/ZT0d.net
PHPといいますか
APIは、どのように定義して使うものでしょうか? API自体未経験でして。
コントローラ配下に置く?

138:デフォルトの名無しさん
21/05/14 10:47:53.07 ajnT/ZT0d.net
定義と、それの引き出し方(利用するときの記述の仕方)が不明でして

139:デフォルトの名無しさん
21/05/14 14:47:11.74 W0c2ysgD0.net
APIだと返すものがjsonになったりするだけで特に変わりはないです

140:デフォルトの名無しさん
21/05/14 15:35:13.93 WQ7O0jPa0.net
>>131
いや、そんな難しい話じゃないんだけど
セッションに登録した変数をsession_start()した別のページから参照するだけだから
くっつけるっていう発想がおかしい

141:デフォルトの名無しさん
21/05/14 18:00:30.71 WQ7O0jPa0.net
>>131
あとRubyがなんちゃらいってるのは
ほとんど言ってること出鱈目な嵐なんで無視してね

142:デフォルトの名無しさん
21/05/14 18:00:45.30 ajnT/ZT0d.net
>>136
恐れ入ります。ご教授有り難うございました

143:デフォルトの名無しさん
21/05/14 18:01:16.49 ajnT/ZT0d.net
>>137
なるほど、、ちょっと発想が違ったやうです
誠に有り難うございました!!

144:デフォルトの名無しさん
21/05/14 23:35:06.21 jVp+ssGw0.net
XAMPPのMySQLのAdminをクリックしたら、
Fatal error: Maximum execution time of 120 seconds exceeded in C:\xampp\phpMyAdmin\libraries\classes\OutputBuffering.php on line 171
と表示されてしまいました
どう対処すればよいでしょうか?
色々検索してみたのですがいまいちよく分かりませんでした

145:デフォルトの名無しさん
21/05/15 12:14:03.19 JdcAefgZd.net
UNIXtimeを数値に変換したいのですが
どのようにすれば、、
情けない質問でスミマセン

146:デフォルトの名無しさん
21/05/15 14:00:28.25 YuiGgBpOM.net
そんくらい


147:調べたらどうなんだい…? php unixtimeで調べればマニュアルのtime関数にたどり着くでしょう? んでこいつの返り値はintって書いてるんだからこいつが正解よ 数値がfloatさすなら参考関数のmicrotime関数辿ってみればこいつだなぁってのがわかる



148:デフォルトの名無しさん
21/05/15 18:46:47.03 AwGBnieT0.net
unixtimeってもともと数値じゃない?なんか勘違いしてるんじゃ

149:デフォルトの名無しさん
21/05/15 19:46:56.33 PmNYJboY0.net
unixtimeそのものが数値だな

150:デフォルトの名無しさん
21/05/15 20:03:18.67 JdcAefgZd.net
そうでしたか、、お恥ずかしい

151:デフォルトの名無しさん
21/05/17 11:44:20.20 9TCiORhh0.net
>>146
var_dump($_SERVER['REQUEST_TIME']);
もしくは
var_dump(time());
と書いて実行
聞く前にまずは試そうな

152:デフォルトの名無しさん
21/05/17 11:46:55.70 9TCiORhh0.net
>>130
>>2

153:デフォルトの名無しさん
21/05/17 21:27:55.47 dCClJgVhd.net
恐れ入ります。。マイグレーションにて
あるカラムに
$table = integer('uniq_id')->length(20)
にしたのに、このカラムの桁数が何故か11で
各レコードごとに入れている値が
何故か全部2147483647がセットされていた
なにをどうやっても、この値のまま
update文にセットする直前の値は
想定通りの値なのに、、

154:デフォルトの名無しさん
21/05/17 21:36:36.84 dCClJgVhd.net
スミマセン。自己解決しました。
登録しようとしてた数値が全部デカイ
ものばかりで、オーバーフローになって
それを表示してただけでした。
お恥ずかしい

155:デフォルトの名無しさん
21/05/17 23:45:32.45 xsKpz66C0.net
intだからであってbigint等にすればもっと大きな値を扱えるのでは?

156:デフォルトの名無しさん
21/05/21 21:43:21.16 fpWGW1ET0.net
5/20、エンジニアチャンネル・粟島
これからプログラミングをやる人が絶対に学んではいけない技術
URLリンク(www.youtube.com)
Word Press がオワコンと認定されますた!
Word Pressから、ヘッドレスCMS の時代へ

157:デフォルトの名無しさん
21/05/21 22:15:23.78 6DKs/S3x0.net
Word Press Headless でググれないガイジと言う自己紹介か

158:デフォルトの名無しさん
21/05/23 19:53:27.42 83ibJO/A0.net
Nodejs AWSは絶望したけどPHP さくらインターネットはすんなりできたわ。

159:デフォルトの名無しさん
21/05/24 11:04:23.66 qQRUQj1u0.net
type hintingを自動で入れてくれるIDEか
コマンドラインから使えるライブラリってありませんか?
公文チェッカーでtype hintingを指摘されるんですけど
毎回自分で記述するのが面倒なのです

160:デフォルトの名無しさん
21/05/24 23:57:08.18 QCFa71A50.net
昔大学の卒業研究でPHPでデータベースを扱う感じのプログラムを組みました
周りの人全員がMYSQL等のRDBMSを使っていたので、ちょっと違うことをしてみようかなとRDBMSではなく、テキストデータベース…CSVファイルを分割して表にして扱う感じにしました
CSVでもリレーショナルデータベースは作成できるし、わざわざMYSQLと連携しなくても使えます
それぞれのデータを配列に格納すれば、追加や削除等もできます
MYSQL等は専門的な知識がある人しか触れませんが、CSVの場合はただのテキストデータなので文字が打てる人なら誰でも編集可能です
なのにPHP等でデータベースを組むときにほぼ100パーセントRDBMSが使われる理由は何故でしょうか
CSVデータベースより勝ってる所はなんでしょうか?
CSVをforeachとexplodeで配列に格納してarray_searchやarray_spliceその他の配列操作で検索したり削除したりってしてはだめなのでしょうか?
ってこれだとデータベースの質問になってる…?

161:デフォルトの名無しさん
21/05/25 00:55:12.31 OCfeEYNR0.net
規模によるとしか言えないが
何百万、何千万レコードになると配列操作とかメモリが足りなくなるか
うまくメモリ管理した上でやっても爆遅で現実的に使い物にならずデータの管理も大変
MySQLは設定が大変なあなたのために組み込みのSQLiteが用意されてるのでそれを使ってください
SELECT文で高度な選択するときに長ったらしく難しそうなSQL書く場合はあるけど
素人が編集ってSQLでもINSERT文、UPDATE文ぐらいのもんだし
(これらでもサブクエリでSELECT文書いたりするかもしれないが必須ってわけではない)
専門的な知識が要求されるほど難しい操作じゃない
そもそもそんな素人にSQLを直接書かせて実行させるようなことはまずしない
CMSでよく見られるようにそういう人向けに玄人が管理画面(UI)を提供すべき

162:デフォルトの名無しさん
21/05/25 04:51:43.17 ioTiLorQ0.net
>>157
なるほど、小規模ならどちらでもあまり変わらない
大規模になるとCSVなんかでやってると使い物にならなくなる
って感じなんですね
ありがとうございました

163:デフォルトの名無しさん
21/05/25 05:22:12.10 t3oSQf000.net
>>156
排他制御を自前実装するのがめんどくさいから

164:デフォルトの名無しさん
21/05/25 05:32:49.12 OCfeEYNR0.net
規模によるというのは誤解を招く表現だったね
まず小規模であってもインデックスされたRDBのほうが動作は格段に早い
キャッシュ使えばだいぶましになるだろうが
CSVは基本的に都度ファイルの内容を全部読み込む必要があるってのは恐ろしいこと
データが壊れないようトランザクションやらデッドロック回避するための処理も自分で書かないといけない
探せば誰か作ってるのかもしれないけどおとなしくRDB使ったほうが得策

165:デフォルトの名無しさん
21/05/25 09:25:35.01 nqZ7AMuGd.net
偶然10年ほど前の卒業研究のプログラムを見つけたから質問してみたのですが、なるほど…
もしかしてflock関数でCSVファイルをロックするだけでは不十分でしたか?

166:デフォルトの名無しさん
21/05/25 11:19:10.30 mW0d20UP0.net
動作させるOSの機能に依存

167:デフォルトの名無しさん
21/05/25 11:36:19.63 i4fgZWTV0.net
ブロック崩しを作成しようと思い、サイトを見ながら作っているのですが、上手くいかなくどうしようもなくなったので、ご教授いただけると幸いです。
ブロック崩しは、2人で行えるようバーを二つ設置し、「Excel Gamer 」を参考にバーを二つにし、ブロック数を525、横幅を500縦を450に設定しました。
現在はCrossPoint.X = (b1 * c2 - b2 * c1) / (a1 * b2 - a2 * b1)でオーバーフローが発生し、直しようがなくなりました・・・
お力を貸していただけると幸いです。

168:デフォルトの名無しさん
21/05/25 11:38:54.70 i4fgZWTV0.net
163質問場所を間違えました。申し訳ありません。

169:デフォルトの名無しさん
21/05/25 15:24:00.63 1VsrUFXu0.net
xamppで環境作って勉強したいんだけど
windowsとmacってどっちのほうが使いやすい?
ノートPC買うんで迷ってる

170:デフォルトの名無しさん
21/05/26 06:54:00.59 69csG91U0.net
PC初心者ならWindowsの方が分かりやすい気がする
XAMPPは普通にインストールするだけで動くので楽
(勿論XAMPP Controll Panelを起動してApacheや必要ならMySQLのサービスはStartさせないと動かないが)

171:デフォルトの名無しさん
21/05/26 07:12:17.10 XGTO2klA0.net
>>156
DB は2分探索だから、計算量がO(log N)
ある行を探す際、線形探索なら千行は千回だけど、
2分探索なら、2^10 = 1,024 だから、10回で探索できる
その代わり、インデックスが必要。
DBは、探すのに特化してる

172:デフォルトの名無しさん
21/05/26 07:24:40.58 XGTO2klA0.net
Windows 10 Home, WSL2, Linux, Docker,
VSCode(拡張機能・Remote WSL, Remote Container)もある。
Windows Home版でも、Dockerを使えるようになった。
でもプリインストールなら、Pro版は5千円ほど
WSL2 はハイパーバイザーで、本物のLinux サーバーが動く。
ただし、CUI のみ。GUI は無い
CPU は、i-7 みたいに仮想支援機構が必要。
Docker を使うから、メモリは最低でも、16GB は欲しい。
32GBの方が良いけど
Ruby on Rails とかWeb系は普通、Mac で32GB は欲しい。
Vagrant・仮想OS で、Linux, Dockerを使う
Railsで、Windowsで教える学校はない。
10万円の東京フリーランスでも、Macのみ
ただし、最近のMacは、CPU がインテルじゃないらしいから、よく分からないので調べて

173:デフォルトの名無しさん
21/05/26 07:48:33.05 EesGrOHZ0.net
phpやるためにノートPC買うような物好きでもないなら
本来の目的に合わせて購入すればいい

174:デフォルトの名無しさん
21/05/26 08:44:53.04 k/p9+gJD0.net
初心者のうちは情報量の多い方を選ぶのがベター
ぶっちゃけデザイナーならまだしもプログラマーがMac選ぶメリットなんて無い

175:デフォルトの名無しさん
21/05/26 12:05:14.18 i8RXMZKn0.net
しかし、ドライブ毎にカレントがある環境って使いにくいぞ

176:デフォルトの名無しさん
21/05/26 14:57:14.02 Hi5+VMF60.net
そうかなあ

177:デフォルトの名無しさん
21/05/27 15:29:26.40 wacuw9FKd.net
初歩的な質問で大変恐縮ですが、
eloquentを使う際
例えば
test1::with(test2)
といった形で書いた場合
両者のモデルを結合するにあたり、両者の
主キー同士で暗黙的に結合される認識で
良いでしょうか??
inner joinとかのように明示的に
on test1.id = test2.idのように書かれていないために不安になりまして。。

178:デフォルトの名無しさん
21/05/27 16:11:30.18 iH/fNbvA0.net
>>173
スレチ。laravelスレに行くと良いよ
まぁ、その前にドキュメント読んだほうが良さそうだけど

179:デフォルトの名無しさん
21/05/27 16:49:40.32 gBRAegCd0.net
>>173
URLリンク(readouble.com)
でも読め
読んでも分からないとは思うけど、リレーションの設定をしていないとそもそも使えないやろw

180:デフォルトの名無しさん
21/05/28 04:53:14.08 eNCMSwEe0.net
Ruby on Rails のassociation では、
1人の著者は、複数の本を書いている
Author
has_many :books
Book
belongs_to :author
これで、1:多。
デフォルトのキー名、id 同士が結ばれる

181:デフォルトの名無しさん
21/05/28 06:56:54.69 KxrmSnczM.net
>>176
Ruby 初心者スレッド Part 67
スレリンク(tech板)

182:デフォルトの名無しさん
21/05/28 07:26:29.82 oldMWp+o0.net
相手すると喜ぶからまたバカなこといってんなって思いつつスルーが正解デス

183:デフォルトの名無しさん
21/05/28 19:09:27.77 2c5MmCLH0.net
たった5~6人の仲間でも熱い展開はあるのに
その仲間の輪が極限にまで広がった全員救われ、全員幸せになる完全無欠の大団円エンドは
誰も体験したことがないようなすさまじいカタルシスなんだよ 要はすごいんだよ!
俺はその物語の最強の中心メンバーのこの世界の主人公で、宇宙二位の人気者で
宇宙最強の存在なのだ
皆がキャラ覚醒やヒーロー覚醒していく物語  一番好きな自分になれる物語だ

184:デフォルトの名無しさん
21/05/28 19:14:25.30 RSOdsWo80.net
そうだな、物語だな

185:デフォルトの名無しさん
21/05/31 23:46:01.78 r+O+jmpx0.net
比較演算子についてなんですが、
!=と<>は全く同じ意味だと捉えてもいいでしょうか?
本には、自動型変換した上で異なる場合にtrue、と書かれています

186:デフォルトの名無しさん
21/05/31 23:54:03.70 AaIK8h+J0.net
同じ
初期のころ他言語からの移行者向けに色々書き方用意した名残だと思うが
<>は化石なので!=を使ったほうがいいと思う

187:181
21/06/01 00:03:33.59 ClFiADUo0.net
>>182
そうなんですね
ありがとうございました

188:デフォルトの名無しさん
21/06/01 10:10:46.69 nq6MHaxc0.net
>>181
!= や <> は型変換するから
!== を使おう
JavaScriptでも一緒

189:181
21/06/01 17:21:43.11 ClFiADUo0.net
>>184
ありがとうございます
本にもそう書いてありました

190:デフォルトの名無しさん
21/06/01 17:49:07.02 M9c5R8jt0.net
何でもかんでも===等で書くやつはそれはそれでどうかと思う

191:デフォルトの名無しさん
21/06/01 20:28:48.38 8+a6jCev0.net
tlintってあるんですね
使ったことありますか?

192:デフォルトの名無しさん
21/06/03 11:58:08.78 8LmW0nkV0.net
宜しくお願いします

↓の分の最後の?が何でしょうか、ワイルドカードの仲間でしょうか

INSERT INTO テーブル名 SET カラム名=?
--------------------------
例:
    $message = $_POST['message'];
    if (strlen($message) >= 1 && strlen($message) <= 200) {
        $statement = $db->prepare('INSERT INTO posts SET message=?');
        $statement->execute(array($_POST['message']));
        echo '投稿を送信しました';
    } else {
        echo '投稿エラー: 200文字以内で入力してください';
    }

193:デフォルトの名無しさん
21/06/03 12:15:29.93 Ers5yK+g0.net
? は、place holder。
それを使わないと、SQL インジェクションされるから危険
例えば、文字列を連結させて、クエリー文を作っていると、
「1=1 or テーブル削除文」みたいに、関係のない文も入れてくる
?を使うと、そういう危険な文をエラーにしてくれる

194:デフォルトの名無しさん
21/06/03 12:19:52.18 8LmW0nkV0.net
>>189
ありがとうございます、勉強になりました
URLリンク(i.imgur.com)

195:デフォルトの名無しさん
21/06/03 12:36:41.22 RiqJ4UERd.net
広瀬アリスに脳内変換

196:デフォルトの名無しさん
21/06/03 14:16:36.33 BVnHspSa0.net
谷間にインジェクションしてみたい

197:デフォルトの名無しさん
21/06/03 19:15:26.61 7uOjplBO0.net
>>186
著名なプロジェクトの大半で、「ゆるい比較はなるべく使うな」ってのがコーディング規約になってるけどねぇ

198:デフォルトの名無しさん
21/06/03 20:52:43.43 vjm2kGYb0.net
ワイの会社では緩比較を使う理由をコメントに入れておけば許すことにしてる

199:デフォルトの名無しさん
21/06/03 21:39:16.89 x016GdXu0.net
>>194
コメント必須なら間違いは起きにくいかもね

200:デフォルトの名無しさん
21/06/03 22:52:44.29 BVnHspSa0.net
コメントには、自分の名前と電話番号も入れておこう

201:デフォルトの名無しさん
21/06/04 15:59:37.32 KWGLQaPU0.net
preg_match関数は、エラーの時にnullを返すことってあるのでしょうか?
本にそのように書いてありました…
PHPマニュアルによると、原則としてエラーの時はfalseを返すが、
時にfalse相当の別の値を返すこともありうると書いてありました

202:デフォルトの名無しさん
21/06/04 16:31:57.79 cYS3aqAu0.net
マッチしたら 1
しなかったら 0
エラーの場合 false
エラーかどうかを判定するために
if (!preg_match(...))
なんてことをするとエラーじゃないがマッチしない場合も正として評価されると言うことかと
nullの話は本が間違ってるか、または第三引数に入ってくる値のことかも

203:デフォルトの名無しさん
21/06/04 17:08:28.21 9DhQUJf30.net
$_POST['checked'] === 'true'
$_POST['checked'] === '1'
$_POST['checked'] == true
$_POST['checked'] == 1
$_POST['checked'] === 'on'

204:197
21/06/04 18:36:12.37 KWGLQaPU0.net
>>198
やはり誤植のようです
ありがとうございました

205:デフォルトの名無しさん
21/06/05 20:42:13.27 D2bNwRnn0.net
データベースに接続する時についてなんですが、
PDOオブジェクトをインスタンス化する際の第一引数(DSN)では、
文字コードを指定しなくても特に問題ないでしょうか?
本には、
$dbh = new PDO('mysql:host=localhost;dbname=sample_db', (以下略));
と書いてあります

206:デフォルトの名無しさん
21/06/05 21:06:16.71 WZ+0wJ8c0.net
>>201
サーバとクライアントの間で適切な文字コードを設定しないと意図しない挙動を引き起こすことがある
結果として、SQLインジェクションができる場合も
`SET NAMES utf8`とかやるのはダメな例

207:デフォルトの名無しさん
21/06/05 23:32:10.29 aCDMde3X0.net
初歩的な質問ですいません。
WordPressである変数の値をリンク先の別のファイルでも使いたいのですが、うまく取得できません。どういうキーワードでググったらいいのか教えて下さい。一番簡単な方法がいいです。よろしくお願いします。

208:201
21/06/06 00:10:06.42 OZUQa5NH0.net
>>202
回答ありがとうございます
… new PDO('mysql:host=localhost;dbname=sample_db;charset=utf8mb4', …);
とした方がいいですか?

209:デフォルトの名無しさん
21/06/07 07:09:31.45 dVU4kGZr0.net
URLリンク(www.php.net)

210:デフォルトの名無しさん
21/06/08 12:31:49.08 kOEZc78Z0.net
さくらインターネットサーバー契約してターミナルで繋いでVimでプログラミングしているんですが
vscodeとかでプログラミングするにはどういうふうな開発環境を整えたらいいんでしょうか

211:デフォルトの名無しさん
21/06/08 12:50:39.53 RYeCuNYXd.net
mysqli_fetch_assocの質問なのですが"もう存在しない"場合はnullを返す、との事ですが"始めから一行も存在しない"場合でもやはりnullを返すのでしょうか?
自分で試せればいいのですがdbの設計はまだ手をつけてない分野ですのでお聞きしたいです

212:デフォルトの名無しさん
21/06/08 13:35:59.66 xmLRsmnH0.net
手につけてから実際に自分で試したほうがいいよ

213:デフォルトの名無しさん
21/06/08 14:09:30.31 IVQVhItT0.net
>>206
拡張機能からSFTP入れてみてはどうか

214:デフォルトの名無しさん
21/06/08 14:11:40.84 dOMi6vvz0.net
>>206
YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、
Ruby on Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース
Docker Composeまでが初心者用コース
普通はMac で、メモリは32GB以上。
ただし、新しいCPU に変わったから、よくわからない
Windows 10 Pro版, WSL2, Linux, Dockerなら、
メモリは16GB以上で、32GBが推奨
Dockerを使うから、メモリ8GBじゃ足らない
Udemy の山浦清透も、サロンをやってるかも知れない。
PHP の本も出してる、たにぐちまことも有名

215:デフォルトの名無しさん
21/06/08 16:10:19.02 kOEZc78Z0.net
直接本番のphpプログラムをいじってるのが良くないんだな
デプロイとか本番用と開発用の環境作るとかが必要なんやな

216:デフォルトの名無しさん
21/06/08 16:49:06.81 az/B2squ0.net
>>206
URLリンク(code.visualstudio.com)
マケプレから自分にとって最適な拡張機能を入手出来るかはわからないが
vim使いならうまくカスタマイズ出来るじゃろう

217:210
21/06/08 16:50:43.18 dOMi6vvz0.net
Ruby on Rails で良ければ、Docker, CircleCI まで含めた動画ある
Udemy の山浦清透、1/15
Docker超入門講座 合併版 | ゼロから実践する4時間のフルコース
URLリンク(www.youtube.com)
Windows 10 Home版, WSL2, Ubuntu 20.04 LTS,
Docker Compose, VSCode, Heroku, Rails, Git, CI/CD, CircleCI

218:デフォルトの名無しさん
21/06/08 16:56:20.73 6XJLy+sH0.net
NG多すぎワロタ

219:デフォルトの名無しさん
21/06/09 01:40:41.45 6+3NO6mw0.net
xamppよりもdockerの方がナウいんでしょうか

220:デフォルトの名無しさん
21/06/09 09:00:49.39 m05KcYPg0.net
個人でwebアプリ作るなら、PHP+フレームワーク一択?

221:デフォルトの名無しさん
21/06/09 09:32:05.11 ELCmA1Vb0.net
全然一択じゃないと思うけど、なんで一択だと思ったんだ

222:デフォルトの名無しさん
21/06/09 09:38:24.10 m05KcYPg0.net
>>217
単純に小さいWEBアプリをレンタルサーバで公開するのにいいと思ったから
あと、スマホアプリのwebapiをphpで作ってもらった

223:デフォルトの名無しさん
21/06/09 10:54:30.09 CSG59Cdu0.net
>>210,213
業者さん宣伝ご苦労さまです

224:デフォルトの名無しさん
21/06/09 14:07:19.93 suiQmlXU0.net
Zend→CakePHP→Laravelに代わったように、
フレームワークの移り変わりが一定周期でありますが、
その時に作っていたプログラムはどうなりますか?
なかったことにして、新しいFWで作り直すんですか?
車輪の再発明をFWが出るたびに行っているように感じますが
皆さんはどうしてるか気になります。

225:デフォルトの名無しさん
21/06/09 15:37:02.08 cnjxdL8Kr.net
作りっぱなしでほっとくんだよ
改修が必要であれば金貰って改修する
ただし責任は取らない

226:210
21/06/09 15:53:02.92 w6w52mg40.net
>>216
以下のスレに書いた
ぶっちゃけ始めるのにいい言語て何 part5
スレリンク(tech板:120番)-121
Udemy の山浦清透も、PHP・Laravel のおすすめ本は無いと言ってる。
一方、Rails なら、Railsチュートリアル、黒田努の本とか、教育体制が優れている
だから、KENTA も、Railsを推奨してる
優れた教育体制が無いと、効率的に勉強できない。
ドラゴン桜・予備校などと同じ

227:デフォルトの名無しさん
21/06/09 17:17:08.00 mTab7dlX0.net
こいつの相手すると怒られるけど
PHPのおすすめ本はある

228:デフォルトの名無しさん
21/06/09 19:23:26.26 Dz8whFwwa.net
>>223
相手するなよ、と脊髄反射しそうになったけど
キチガイの間違いを正すのは大切だな

229:デフォルトの名無しさん
21/06/09 20:39:22.17 CBbl/boe0.net
>>2を読めないアホが多すぎる

230:デフォルトの名無しさん
21/06/09 20:45:44.78 7MnLem3f0.net
自前でサーバー立てるのとさくらインターネット使うのとAWSとherokuでどれがいんすか

231:デフォルトの名無しさん
21/06/09 22:24:36.07 Qysgy0Bo0.net
学習用なら自分で立ててみると良いかも

232:デフォルトの名無しさん
21/06/09 22:37:04.95 DL0JuXZOM.net
今は金かからないFaaSだな

233:デフォルトの名無しさん
21/06/10 07:13:04.52 q2jU2qVx0.net
PHPで掲示板サイト作ったんだけどアドセンス落ちた…一応ある程度の書き込みもあるのになんでだろ、ちなみに低俗な内容ではない、もっと人集めんと行かんのかね

234:デフォルトの名無しさん
21/06/10 11:39:40.93 oO6awXFS0.net
セキュリティーが危険とか?
PHP と言えば、セキュリティーが危ないイメージ

235:デフォルトの名無しさん
21/06/10 11:51:36.67 wZ1zl+ZN0.net
>>226
今どき自宅サーバなんかしなくていいよw
月額500円未満で借りられるVPSがあるから、それ使うのがお勧め
レンタルサーバを使うのだけはやめとけ
あんなもん使っても何の勉強にもならんから

236:デフォルトの名無しさん
21/06/10 11:52:35.88 wZ1zl+ZN0.net
>>230
頭悪そう
PHPのコード書けない人でしょ?

237:デフォルトの名無しさん
21/06/10 11:54:42.25 wZ1zl+ZN0.net
あーなんだ、こいつRubyガイジかw
相手にしてスマン

238:デフォルトの名無しさん
21/06/10 13:26:11.53 MBvszo0r0.net
PHPの勉強がしたい→ローカル
店の宣伝をしたい→レンタルサーバ~
店の予約管理をしたい・小規模な販売、売上管理をしたい→VPS~
Webサービスを提供したい・スマホアプリのバックエンド→クラウド

239:デフォルトの名無しさん
21/06/10 16:59:07.23 rgwU/HuH0.net
以下PHPの2処理があります。
1.CSVアップロードフォームからユーザー操作でアップロードされる
 場合によっては同一ファイルを更新する目的でアップロードされるときもある
 move_uploaded_fileを使用
2.何かしらのトリガーでCSVを読み込んで処理する(書き込みはしない)
この1.2.の処理は何かの決まりを守って順番に実行されるわけではなく、
1.の処理はユーザー操作で不定期に実行されます。
2.の処理は該当ファイルが無ければ実行しませんし、トリガー発行がなければやはり実行しません。
ここで質問ですが、1.2.の処理が同時に実行される可能性があると思いますが、この場合問題が発生するでしょうか?
move_uploaded_fileを使う1.の処理中はファイルがロックされているようですが、2.では読み取りエラーの
処理を強化するだけでいいでしょうか?
よろしくお願いします。

240:デフォルトの名無しさん
21/06/10 18:19:10.45 kFRSwea40.net
DBUnitがとうの昔に使えなくなっていたことにようやく気付いたのだけど、
これ使わないでDB周りのテストってどうやるん?

241:デフォルトの名無しさん
21/06/10 18:19:50.44 9KIBsohX0.net
>>220ですが、結局は新しいフレームワーク使う時は
車輪の再発明になろうが一から作り直すってことでいいですか?

242:デフォルトの名無しさん
21/06/10 19:13:16.05 MBvszo0r0.net
同じシステムをフレームワーク変えてまで作り直したりは普通しない
>>221も言ってるけど基本作ったら作りっぱなし
セキュリティに問題があって修正パッチ当てる必要があるとかでない限り
保守は必要最低限にとどめたものになる

243:デフォルトの名無しさん
21/06/10 21:30:19.86 9KIBsohX0.net
>>238
いえ、過去に作ったものの保守ではなく、これから作るものについてです。
例えば、お問い合せフォームとか会員管理とか
どの言語・フレームワーク使おうが必要な機能ってあります


244:よね? そういうライブラリであったりプラグインであったりを、 フレームワーク毎にまた作るのか?って質問です。



245:デフォルトの名無しさん
21/06/11 05:41:30.60 eoxxjzbN0.net
テンプレート(view)の変数名を変える作業を車輪の再発明とは言わない

246:デフォルトの名無しさん
21/06/11 10:24:02.71 llLxlLmn0.net
フレームワーク変えるわけですから
変数変える程度で済まないのではないかと

247:デフォルトの名無しさん
21/06/11 11:26:58.50 obuHWxLk0.net
気づけばプロ並みPHPはゴミ
徳丸先生協力って書いてあったから一緒に本作ったのかと思ったら大間違いw

248:デフォルトの名無しさん
21/06/11 11:46:50.82 0v+h5w7s0.net
俺もアマゾンレビューでの評価が高かったいきなりはじめるPHPを買ったが、
なんか合わなかった 本のノリが嫌い
載っている情報も古い
エディタはテラパッドを使っているし、echoでなくprintを使っている

249:デフォルトの名無しさん
21/06/11 12:02:16.66 +ogjkljv0.net
お昼時にゴメンナサイ、よろしくお願いいたします
PHPのバージョンを 5.6.40 から 7.3.27 に上げたら↓がエラーするようになりました
【PHP文】
ループ
  $hage[$id][0]=$row[name];
  $hage[$id][1]=$row[age];
  $id++;
ループ終わり
【エラーメッセージ】
arse error: syntax error, unexpected ',', expecting ']' in /home/xxxx

250:デフォルトの名無しさん
21/06/11 12:21:06.82 1TMBp1KK0.net
>>244
nameとageをクオーテーションで囲う

251:デフォルトの名無しさん
21/06/11 13:39:01.07 eoxxjzbN0.net
>>241
そんな大げさな話じゃないだろう
書き方が違うだけでやることは同じなんだから
やろうと思えば自分でマイグレーション用スクリプトだって書けるでしょ

252:デフォルトの名無しさん
21/06/11 13:48:23.23 +ogjkljv0.net
>>245
ありがとうございます!

253:デフォルトの名無しさん
21/06/11 14:56:36.56 Nrr2zqrZr.net
いえいえ

254:デフォルトの名無しさん
21/06/11 15:52:24.78 2+S4K7N30.net
>>235
同期用ファイルでも作って、
それを2つの処理で、mutex みたいに使って排他処理すれば?
mutexは1つだけあって、2つの処理の内、mutexを獲得できるのは、常に1つの処理だけ

255:デフォルトの名無しさん
21/06/11 18:38:14.01 llLxlLmn0.net
>>246
マイグレーションにしても、CakeとLaravelで大きく違うし、
CRUDの書き方も違うのに、変数変える程度で済むとは意外です。
というか、変換プログラムみたいなのを作るなら
車輪の再発明と言っても良いんじゃないですか?

256:デフォルトの名無しさん
21/06/11 20:47:03.14 jsMTDkupM.net
自分で作ってたものをFWに合わせて作りなおすってのはただの改良
PHPのバージョンアップに合わせて動かなくなったコードを書き直すのと全く同じこと
ていうか車輪の再発明が嫌そうなのに自分で作る前提がそもそもおかしいのでは
探せばあるでしょうに

257:デフォルトの名無しさん
21/06/11 21:23:49.98 llLxlLmn0.net
いえ、嫌かどうかじゃなくて、みなさんはどうしてるのか気になるのです。
PHPのバージョンが変わるから書き換えるのと、
フレームワークが変わるから作り直すのでは明らかに手間が違うわけで、
同じような作業をまたやるという行為が、プログラマとして正しいのか知りたいだけです。

258:デフォルトの名無しさん
21/06/11 21:30:08.39 kzDclVsl0.net
下らねぇ質問をここに書き込みやがって

259:デフォルトの名無しさん
21/06/11 22:20:07.19 jsMTDkupM.net
手間の問題じゃなくて
そうしないと動かないからそうするという話であって
それを車輪の再発明とは言わない
移行先で前のものがそのまま使えるような場合もあるだろうけど
そうでない場合は使えないのだから作り直すのは当たり前

260:デフォルトの名無しさん
21/06/11 22:39:30.70 llLxlLmn0.net
わかりました。つまり、作り直すのが一般的(普通)という受け取り方で良いわけですね。
自分もそうなので、他の人はどうしているか気になりましたが
別におかしなことではないと知って安心しました。

261:デフォルトの名無しさん
21/06/12 20:17:18.78 S66YQD530.net
wordpressのogpに関する出力ですが
$ogp_type = ( is_front_page() || is_home() ) ? 'website' : 'article';
フロントページやホームでなければ○○だと思うのですが
「?」が何をしているかわからないのと、
2つの文字列がコロンで繋がれているのがわかりません。
動かして見ると articleが出力されています。

262:デフォルトの名無しさん
21/06/12 21:08:16.54 S66YQD530.net
わかりました。
三項演算子というものですね、生まれて始めて見ました。

263:デフォルトの名無しさん
21/06/12 21:33:24.33 GDzf8H390.net
三項演算子は見慣れないと読みづらいけど別にPHP固有でもないし、
早めに慣れておくのが吉

264:デフォルトの名無しさん
21/06/13 02:08:44.02 bl7tXQVC0.net
if使った方が感覚的にわかりやすいのですが、
あえて三項演算子を使う理由は1行で済む以外にメリットはありますか?

265:デフォルトの名無しさん
21/06/13 03:13:44.77 oPgmrpm20.net
const HOST = 'localhost';
echo $HOST;
自学の為一纏めにしたいのですが上記のソースですとHOSTにnoticeが出てしまいます
調べたのですがconstを使う方法が乗ってるサイトにこれ以上の情報が無かったのでお聞きしたいです

266:デフォルトの名無しさん
21/06/13 03:26:48.32 NFGlH9a70.net
>>259
ちょっと慣れれば、シンプルなケースでは三項演算子も感覚的にif文より見やすくて分かりやすくなる。
ケースバイケース。

267:デフォルトの名無しさん
21/06/13 05:09:07.64 bl7tXQVC0.net
>>261
ありがとうございます。
やはり慣れですね

268:デフォルトの名無しさん
21/06/13 05:11:59.73 er0CkKAQ0.net
>>259
その「一行で済む」ってのが最大のメリットだろうね
for(;@$i++<100;)echo$i%3?!$$i=$i:@Fizz,$i%5?@$$i:@Buzz,'
';
みたいに書ける
これは8系じゃ動かないけどw
>>260
変なサイト見てないでマニュアル嫁
URLリンク(www.php.net)
ただ、やりたいことと違うんじゃないかなぁ

269:デフォルトの名無しさん
21/06/13 05:14:07.02 er0CkKAQ0.net
げ、なんか余計な改行が入ってるw

270:デフォルトの名無しさん
21/06/13 06:09:18.51 d/vYrCOI0.net
5ch のバグ。
URL などを投稿すると、; が付いたりする
5chの書き込みには、表示を変えるような特殊な命令があったりして、
それを解析する箇所に、バグがあるのだろう

271:デフォルトの名無しさん
21/06/13 12:08:56.26 h3r9Ktq+0.net
三項演算子は条件次第で$varが変化するような場合には使っていいけど
それ以外のことやelseifが入る場合は使わないほうがいい
改行駆使して読みやすくする手法もあるがそんなことするなら普通にかけばいいし
読みづらいコードは保守の妨げになったりバグうむ原因になる

272:デフォルトの名無しさん
21/06/13 14:06:10.67 V1lM1Rfw0.net
教えてください。
<?php
print("接続開始");
pg_connect("user=pet930 password=h17174422");
# if($dbconn == false){
# print("<p>接続失敗</p>");
#
# }
print("<html><p>接続成功</p></html>");

?>
なんか、pg_connect()で止まっちゃってるみたいで、「接続成功」の表示まで行けません。
pg_connect()でエラーメッセージ吐いてくれないんで原因が解らないです。
何処が悪いとエスパーできますか?
よろしくお願いします。

273:デフォルトの名無しさん
21/06/13 14:10:31.45 ikXPzBM50.net
>>267
$dbconn = pg_connect("user=pet930 password=h17174422");

274:267
21/06/13 14:26:02.54 V1lM1Rfw0.net
>>268
ありがとです。
ちょっと試します。

275:デフォルトの名無しさん
21/06/13 14:26:08.18 h3r9Ktq+0.net
pgsql使ったことないからわからないけど
host port dbnameまでパラメーターちゃんと入れてみたら?
あとPHPの設定やバージョンがどうなのかわからんけど
error_reporting(E_ALL);を先頭に追加してエラーメッセージ出るようになるかどうか確認する
本当にpg_connectが原因なのか判断するには
pg_connect(略) or die("接続失敗");に変えるのがてっとり早いと思うけど

276:267
21/06/13 14:34:36.14 V1lM1Rfw0.net
>>270
PHPのバージョンは807です。
ありがとです。
ちょっと試してみます。

277:267
21/06/13 14:51:02.33 V1lM1Rfw0.net
>>270
設定を調べてみます。
でも、かなり勉強になりました、エラー設定とかDieとか知りませんでした。
5chにコード書き込めないみたいですが、pg_connect()以降は表示されなかったです。
設定関係調べてきます。

278:267
21/06/13 16:36:28.97 V1lM1Rfw0.net
phpinfo()でpostgresqlのセクションがありませんでした。
正常ならセクションが有るらしいので、調べてみます。
情報が豊富なphp7系にするべきかなぁ;

279:デフォルトの名無しさん
21/06/13 17:12:59.44 h3r9Ktq+0.net
URLリンク(www.php.net)
ソースからなら上記みたいにインストールが必要かもしれないし
なんかのパッケージ使ってるならphp.iniに
;extension=pgsql
っていうラインがあれば先頭の;取り払ってみるだけで使えるかもしれない
将来pdoも使うだろうからついでに
;extension=pdo_pgsql
も有効にしといたほうがいいかもね

280:267
21/06/13 17:31:29.77 V1lM1Rfw0.net
>>274
ありがとうございます!!
リンク先読みました。
Apacheのhpd.confに、LoadFile "C:\Program Files\PostgreSQL\13\bin\libpq.dll"を書き足してphpinfo()に、postgresql反映されました。
助かりましたorz

281:267
21/06/13 17:33:44.93 V1lM1Rfw0.net
>>274
pg_connect()も、無事動いて、想定どうりスクリプトが動きました。
お世話になりました~

282:デフォルトの名無しさん
21/06/13 21:34:10.90 JupjNNoP0.net
どうでもいいけどPDO使えよ

283:267
21/06/14 02:37:29.72 926agaQr0.net
>>277
手探りでPDO認識できました。
今はPDOで書くべきですよね。ありがとです。

284:267
21/06/16 15:53:30.79 +Q5Hm82n0.net
何度も失礼します!
iframe先にPOTしたいのですが、飛ばせてないみたいです。
検索したら、これで動くのが一般的みたいですが…
<iframe src="URLリンク(localhost) id="frame_1"></iframe>
<form method="post" target="frame_1" action="URLリンク(localhost) id="edit_form">
<input type="hidden" name="id" value="3">
<input type="button" value="追記">
</form>
frame.phpには、
sleep("2");
print("page2_post".$_POST["id"]);
と、書いて待っているのですが、ボタンを押してもifram側に何もしていない様子です。
検索先を何度も調べたのですが…
よろしくお願いしますorz

285:デフォルトの名無しさん
21/06/16 16:26:27.31 ipoppQf40.net
>>279
id="frame_1" > name="frame_1"
余談だがsleepの引数はintだから " いらない

286:267
21/06/16 16:33:45.31 +Q5Hm82n0.net
>>280
ありがとうございます!
しかし、修正しましたが、動きませんでした…

アパッチの設定見てきます。
>引数はintだから”要らない
ありがとです。

287:267
21/06/16 17:15:07.61 +Q5Hm82n0.net
すいませんでした。
<input type="button" …> のbuttonをsubmitに変更したら動きました!
ありがとうございました!

288:デフォルトの名無しさん
21/06/16 17:55:12.30 u+PEF3EC0.net
データベースを扱う際の例外処理で、本に、

} catch (PDOException $e) {
echo "エラー:" . htmlspecialchars($e->getMessage(), …) . "<br>";
exit;
} // 一部改変
とあったのですが、$e->getMessage()を無害化する必要性がよく分かりません
ここはPHP製作者の側で用意した文字列が表示されるのではないでしょうか?

289:デフォルトの名無しさん
21/06/16 18:39:41.81 o6SqvTfC0.net
>>283
そうだよ、無害化する意味ない。
さらに言うと、エンドユーザーにシステムがそのまま出力するメッセージを見せるとかありえないから、あくまで開発者向けのデバッグ用という意図で書かれているんだろうけど、それを無害化する意味も分からない。


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