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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2021/04/29(木) 12:39:39.75 ID:P0iZ4CYt0.net]
!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
★スレ立て時 ↑ が3行以上になるようコピペ

PHPに関する質問スレです

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

次スレは>>980以降
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured

2 名前:デフォルトの名無しさん mailto:sage [2021/04/30(金) 12:01:11.72 ID:6f1slJ3x0.net]
NG推奨ワード: Ruby

この単語を含むレスは一切相手にしないように

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

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

5 名前:デフォルトの名無しさん mailto:sage [2021/05/01(土) 14:10:09.09 ID:hhTcbcPJ0.net]
「html 画像 タグ」で検索!

<img> 要素

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

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

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

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

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



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

12 名前:デフォルトの名無しさん mailto:sage [2021/05/01(土) 21:02:01.19 ID:womjwnFK0.net]
https://www.php.net/manual/ja/function.return.php

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

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

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

16 名前:デフォルトの名無しさん [2021/05/01(土) 22:17:05.23 ID: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 名前:蟻人間 mailto:sage [2021/05/01(土) 22:29:37.42 ID:CNjeTyKed.net]
>>14
incloudeって何? includeだよね。

18 名前:デフォルトの名無しさん mailto:age [2021/05/02(日) 02:55:22.64 ID:eESL2rf00.net]
なんでXAMPP環境だと、STDINはエラーになるのですか?

19 名前:デフォルトの名無しさん mailto:sage [2021/05/02(日) 16:05:44.15 ID:mGuGuO120.net]
>>17
そもそも何がしたいの?

20 名前:17 mailto:age [2021/05/02(日) 17:27:19.42 ID:eESL2rf00.net]
>>18
ユーザーから文字列を受け取り、コード内で使いたいです



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

22 名前:17 mailto:age [2021/05/02(日) 22:55:09.90 ID:eESL2rf00.net]
>>20
ありがとうございます
まだよく理解出来ていないのでいろいろ調べてみようと思います

23 名前:デフォルトの名無しさん [2021/05/03(月) 20:41:30.42 ID: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 名前:デフォルトの名無しさん [2021/05/03(月) 20:55:59.41 ID: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 名前:デフォルトの名無しさん [2021/05/03(月) 21:03:01.51 ID:N1nfC+z1r.net]
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13242533143?notice_type=new_ans
これが全体のコードです。

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

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

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

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

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



31 名前:11 mailto:sage [2021/05/03(月) 22:39:39.80 ID:Cpgqkk+d0.net]
>>28
functions.phpから直接returnして一体どこでどうその値が扱われるの?
先のことがわからないコード貼って動きませんは無いでしょ

yahooに上げたのが最新だとすると、return $first_img;の後ブロック閉じてないし、閉じたとするとその5行下のendiの開始が見つからない
あとブロックが波括弧とコロンが混在してるし

安易に他人のコード切り貼りするからこう言うことになる


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

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

33 名前:デフォルトの名無しさん [2021/05/03(月) 22:51:45.18 ID:N1nfC+z1r.net]
https://oku-log.com/blog/post-thumbnails/
このコードのダミー部分と
https://midorinz.com/app/2018/05/20/wordpress%E3%81%A7%E5%A4%96%E9%83%A8rss%E3%82%92%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%93%E3%81%A7%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B/
このコードを合わせたので変になってます。
もとはこうなってました。{ $first_img = $matches[1]; } ?> <php if ( !empty( $first_img ) ) : ?>

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

functionに書くやり方ですとreturnをかいて別のphpファイルに書いてますが、そもそも他サイトから情報をもらってRSSを表示するならfunctionを通さないはずです。

35 名前:デフォルトの名無しさん mailto:sage [2021/05/04(火) 00:05:26.78 ID:q/VBEoPh0.net]
じゃんけんをするスクリプトを、htmlファイルとphpファイルに分けて書き、
XSS対策としてhtmlspecilschars関数を使いたいのですが、
以下のphpファイルのどこに使えばよいでしょうか?
https://pastebin.com/8VBzn7PB

入力値は12行目の$_POST['handnum']で受け取っています

36 名前:デフォルトの名無しさん mailto:sage [2021/05/04(火) 00:13:57.09 ID:yFx0moer0.net]
>>33
>本来完結してる文に句読点をつけて同じ処理を書いてるのだと思います。

>>32 前者のコードはfunctions.php内の関数内の処理なのだからreturnで値返すよね
それを後者の関数では無いプラグインの処理をベースにしてreturnするって、おかしいと思わない?

後者のコードでempty($first_img)で判別してるんだから、ある場合と無い場合でそれぞれ処理して終わる話では?(あくまでプラグイン作ってるとしたらの話)

37 名前:デフォルトの名無しさん mailto:sage [2021/05/04(火) 00:47:59.15 ID:yFx0moer0.net]
>>34
filter_inputを使ってみてはどうか?

$handnum = filter_input(INPUT_POST, 'handnum', FILTER_SANITIZE_NUMBER_INT);
$player_hand = intval($handnum);

38 名前:34 mailto:sage [2021/05/04(火) 01:37:39.10 ID:q/VBEoPh0.net]
>>36
ありがとうございます
あとは特徴とか自分で調べてみようと思います

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



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

42 名前:34 mailto:sage [2021/05/04(火) 01:58:27.33 ID:q/VBEoPh0.net]
>>38
助言ありがとうございます

handtype関数はコンピュータの手(int型)にも利用するので
引数はint型にしたんですが…


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

43 名前:デフォルトの名無しさん mailto:sage [2021/05/04(火) 02:58:16.62 ID:yFx0moer0.net]
>>39
>どのような修正が必要なのでしょうか?

ぶっちゃけ全部

functions.phpに処理を加えたいならfunctions.phpの作法を最低限勉強しないと

https://www.google.com/search?q=wordpress+functions.php+%E6%9B%B8%E3%81%8D%E6%96%B9

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

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

46 名前:デフォルトの名無しさん [2021/05/04(火) 04:48:08.45 ID: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 名前:デフォルトの名無しさん [2021/05/04(火) 04:48:44.92 ID:blbvBx1gM.net]
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13242533143?notice_type=new_ans

48 名前:デフォルトの名無しさん mailto:sage [2021/05/04(火) 04:54:00.37 ID:i9uz7Z8I0.net]
>>41
> handtype関数はコンピュータの手(int型)にも利用するので
> 引数はint型にしたんですが…
逆にそっちをstrにキャストすればいいだけでは?(string)rand(0,2)

intキャストしたところでintvalと結果は同じだから>>38の問題はなおらないよ
適当なの入力してグーになるのは想定してない文字を入力するお前が悪い!
ってなら別にそれでもいいけど普通はバグとみなされる

49 名前:デフォルトの名無しさん mailto:sage [2021/05/04(火) 05:34:11.51 ID:yFx0moer0.net]
>>43
functions.phpはそう言う垂れ流しコードを書く場所じゃないってこと

それでも敢えて書くなら、まずHTML取り払って、ブロックを波括弧で統一して、流れを追えるようにする

50 名前:デフォルトの名無しさん mailto:sage [2021/05/04(火) 05:55:37.74 ID:yFx0moer0.net]
>>45
define('NO_IMAGE', '/images/default.jpg');

include_once(ABSPATH . WPINC . '/feed.php');
$rss = fetch_feed('https://adgene.net/feed/');
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 mailto:sage [2021/05/04(火) 12:55:40.74 ID:q/VBEoPh0.net]
>>47
ありがとうございます
検討してみます

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

53 名前:デフォルトの名無しさん mailto:sage [2021/05/04(火) 13:39:25.26 ID:k79tTEvW0.net]
>>51
仕事としてできる人に依頼するといいよ

54 名前:デフォルトの名無しさん [2021/05/04(火) 13:41:03.60 ID:blbvBx1gM.net]
https://yugiou.me/
作成中のサイトはアダルトサンプルサイトです。

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

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

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

58 名前:デフォルトの名無しさん mailto:sage [2021/05/04(火) 14:18:43.33 ID:yFx0moer0.net]
>>51
>これだと実用できません。どうすればよいのでしょうか?

echoしてる箇所箇所に自分で好きなタグ差し込めばいいだろ?
あなたがどんなタグ使うかどんなclassで装飾するかなんて誰もわかんよ

>>56
>非常に困難なので

仮にこれでhtml出力できてもfunctions.phpの使い方が間違ってるから次は「任意のタイミング出力したいですがどうすれば」とか言い出すのが目に見えてる

金で解決が正解、お疲れ様

59 名前:デフォルトの名無しさん mailto:sage [2021/05/04(火) 15:29:53.83 ID:Z3Fw33AT0.net]
>>51
>ただ自分が目指すのはあくまでhtmlで形にすることですので

別のファイルにモジュール化して、
HTML で、その関数を使えば?

例えば、Ruby on Rails では、
ヘルパー用のファイルに、自分でヘルパー関数を定義すると、
自動的に読み込まれて、定義したヘルパー関数を、HTML 内で使えるようになる

60 名前:デフォルトの名無しさん mailto:sage [2021/05/04(火) 15:42:56.52 ID:105dsh2D0.net]
WordPressの話でRails出してくる奴って頭おかしいだろwwww



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

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

63 名前:デフォルトの名無しさん mailto:sage [2021/05/04(火) 18:19:56.23 ID:3mVKEEbM0.net]
いやもう諦めろ

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

コードは以下です
https://pastebin.com/ERrUf4Ga

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

66 名前:デフォルトの名無しさん mailto:sage [2021/05/04(火) 18:45:46.00 ID:3mVKEEbM0.net]
>>63
キャストする理由が無いのでその本がおかしい
そのコードはintにキャストした後、文字列結合する為にすぐstringにキャストされてる

さらに言うと0から始まる郵便番号をintにキャストすると0埋めが消えるのでただのバグにしからならない
例えば北海道北区の郵便番号 '001-0000' をintにキャストすると 1 になって最終的にこうなる
https://zipcloud.ibsnet.co.jp/api/search?zipcode=1

67 名前:デフォルトの名無しさん [2021/05/04(火) 18:55:00.43 ID:105dsh2D0.net]
>>63
糞本のタイトル教えてください

68 名前:63 mailto:sage [2021/05/04(火) 19:05:36.40 ID:q/VBEoPh0.net]
答えてくれた方、ありがとうございます

>>64
バリデーションの項目は、後のページに記述されているみたいです

>>65
それは困りますね…

>>66
これだけでクソ本かを判断してもらいたくないですが、
MdNコーポレーションの本です

69 名前:デフォルトの名無しさん [2021/05/04(火) 19:32:59.61 ID:oSclcFmd0.net]
>>67
コード見たけど紛れもない糞本
PHPってほんとロクな本がないから、他の言語の基礎がない人がいきなりPHPやると罠にハマりやすい

他の人も書いてる通り、安易な型キャストはバグや脆弱性の元になるから絶対にやったら駄目
具体例として有名なのは以下のWordPressの脆弱性
https://blog.tokumaru.org/2017/02/wordpress-4.7.1-Privilege-Escalation.html

70 名前:63 mailto:sage [2021/05/04(火) 19:46:58.61 ID:q/VBEoPh0.net]
>>68
警告をしてくれたことには感謝します

ですが俺はこの本は(入門本としては)悪い本だとは思わないので
しばらく続けようと思います



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

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

73 名前:デフォルトの名無しさん [2021/05/04(火) 21:42:23.00 ID:oSclcFmd0.net]
俺はPHPも好きだからあんま悪くは書きたくないが、まぁPHPerが馬鹿にされる理由がこういうレスから何となく分かるのは確か
他の言語の経験がない初学者だからこそ、「型」みたいな「基礎的な概念」の理解が大事なんだがな

PHPの本人はマジでウンコだらけだよ
公式のPHPマニュアルの出来は素晴らしいが

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

75 名前:63 mailto:sage [2021/05/04(火) 23:25:42.85 ID:q/VBEoPh0.net]
>>70
いえ、アドバイスを無視はしてません
全て自己流でやるつもりもありません

ただ本に関しては、お金を出して買ったものですし、
俺のフィーリングとはマッチするので、勉強をストップはしないというだけです

>>72
ありがとうございます
辛口ですね

>>73
とても寛容な方ですね
ありがとうございます

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

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

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

79 名前:デフォルトの名無しさん [2021/05/05(水) 02:11:13.71 ID:0GVtuCHcM.net]
自分の分析ではhttps://designsupplyweb.com/media/knowledgeside/5563/
のように。
<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について少し理解ができました。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13242533143

80 名前:デフォルトの名無しさん [2021/05/05(水) 02:39:25.83 ID:0GVtuCHcM.net]
ifより下にサムネイルを取得する方法(A)

else?より下にサムネイルがない場合1番目の画像パーマリンクタイトルを取得する方法(B)
endifより下にサムネイル(A)、記事の1番目の画像がない場合(B)の取得方法(C)

こういう風な書き方だと考えました。



81 名前:デフォルトの名無しさん mailto:sage [2021/05/05(水) 10:51:17.50 ID:U3p71Gkr0.net]
>>56

82 名前:デフォルトの名無しさん mailto:sage [2021/05/05(水) 14:53:48.11 ID: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 名前:デフォルトの名無しさん mailto:sage [2021/05/05(水) 18:32:07.40 ID:xoz9BxNqM.net]
>>81
こいつスレ違いの指摘無視して書き込んで印象悪いから、こいつの宣伝する奴は絶対見ない

84 名前:デフォルトの名無しさん mailto:sage [2021/05/05(水) 18:51:38.01 ID:U3p71Gkr0.net]
https://www.google.com/search?q=KENTA+5ch+ruby
病気だから触っちゃだめ

85 名前:デフォルトの名無しさん [2021/05/05(水) 20:13:49.37 ID: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 名前:デフォルトの名無しさん [2021/05/05(水) 20:14:07.11 ID: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 名前:デフォルトの名無しさん [2021/05/05(水) 20:23:39.13 ID: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 名前:デフォルトの名無しさん [2021/05/05(水) 20:24:45.03 ID:VRLPB9Rcr.net]
今回で最後にします。連投すみません。どうしてもコードを調べてスキルアップしたく、ご質問しました。

90 名前:デフォルトの名無しさん mailto:sage [2021/05/05(水) 21:51:12.30 ID://JWI9di0.net]
>>87
もう諦めて
>>52



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

92 名前:デフォルトの名無しさん mailto:sage [2021/05/05(水) 22:22:19.87 ID:CkXeLifR0.net]
>>87
だから自分でブロック追えるようになるまでHTMLタグ除去していきなって
それでコード追えたら望みの処理加えてタグ戻すだけだろ?

初心者がろくに手も動かさずにあれこれ推測したって1mmもスキルアップしないよ

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

94 名前:デフォルトの名無しさん mailto:sage [2021/05/05(水) 23:13:07.40 ID:PLXlK8zu0.net]
あなたの理解では10年掛かっても無理そう

95 名前:デフォルトの名無しさん mailto:sage [2021/05/05(水) 23:13:30.83 ID:CkXeLifR0.net]
>>91
そうだよ! >>48 >>49

また実用できませんとかぬかす様ならもう諦めて

96 名前:81 mailto:sage [2021/05/06(木) 12:37:29.96 ID:b7Mkjg0R0.net]
>>81
に書いたけど、Ruby on Rails では、
未経験者が1年ぐらいで、10年以上のプロよりも、技術力が上になる!

それは、KENTA も言ってるように、Rails の教育体制があるから

Rails 6 だけでも数冊の本が出る。
他にも、Rails ガイド・Rails チュートリアルなど

一方、WordPress では、まともな本が無い。
デザインの本ばかりで、プログラミングする本が無い

教育体制がないから、勉強もできない。
だからKENTAも、PHP は、やる必要がないと言ってる

ちなみに、WordPressのスレは、web制作管理板の方にある。
このスレよりも、そちらで聞いた方がよい

97 名前:81 mailto:sage [2021/05/06(木) 12:58:09.14 ID:b7Mkjg0R0.net]
>>85
if (条件式)
実行する文;

この1. のif は、挙動が怪しい。
endif が無いのか、構文が次へ続くのか、はっきりしない

素人は、使わない方がよい。
バグるだけ

98 名前:デフォルトの名無しさん mailto:sage [2021/05/06(木) 15:13:01.82 ID:vADWO+XJ0.net]
アホー知恵遅れにこんな質問があったが、このスレの奴じゃね?w

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11242758436
テラテイルでプログラミングのわからないところを質問すると高確率でもう批判されます。
知恵袋民は親切で優しいのに何故テラテイルは尖った人が多いのでしょうか?

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

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








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

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

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