[表示 : 全て 最新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

357 名前:デフォルトの名無しさん mailto:sage [2021/06/27(日) 11:50:32.87 ID:r75U+hPN0.net]
>>350

https://mevius.5ch.net/test/read.cgi/tech/1591334726/956

358 名前:デフォルトの名無しさん mailto:sage [2021/06/27(日) 12:25:12.65 ID:pjTb3Z/m0.net]
>>348
html中に変数を埋め込む時は{}を使いましょうという基本的なことをやらないと

つうか最近エラー内容かかないの流行ってんか

359 名前:デフォルトの名無しさん [2021/06/27(日) 12:46:28.79 ID:ItQV7X9X0.net]
>>351
curlは使わないのでしょうか?
複数サイトの場合はcurlのほうがいいと聞いたのです。

360 名前:デフォルトの名無しさん mailto:sage [2021/06/27(日) 13:19:37.68 ID:r75U+hPN0.net]
>>353
curl使った所でどうせsimplexml_load_stringに食わせるんでしょ?
だったら最初からsimplexml_load_fileでいいじゃない

361 名前:デフォルトの名無しさん mailto:sage [2021/06/27(日) 13:32:19.99 ID:eeXftvTT0.net]
複数サイトの場合はcurlがいいってのはcurlを子プロセスとして複数同時に動かせるからってことじゃないの?
いずれにしても、curlがやってくれるのはhtmlを取ってきてくれるまで、よ?

362 名前:デフォルトの名無しさん mailto:sage [2021/06/27(日) 13:59:51.79 ID:tkVDl+qA0.net]
例えば、Ruby でも、普通に書くと、
open-uri モジュールのopen でファイルを取得する

require 'open-uri'
require 'nokogiri'

url = "https://example.com/"
doc = Nokogiri::HTML( open( url ) )

elements = doc.css( "h1" )
puts elements.first.content #=> Example Domain

これを、外部コマンドのcurl に書き換える事もできるが、
外部コマンド(プロセス)を呼ぶ必要がない

html = `curl https://example.com/`
doc = Nokogiri::HTML( html )

外部コマンドは、OS に左右される

特に、Windows では、curl.exe なのか、
PowerShell のcurl(curlモドキ)なのか、
アプリごとに微妙に挙動が異なるかも

(そもそもシステムに、Windowsを使うこと自体が間違いだけど。
すべての言語は、Linux用だから)

363 名前:デフォルトの名無しさん [2021/06/27(日) 14:45:24.55 ID:ItQV7X9X0.net]
>>354
simplexmlだと複数対応出来ないと思ってました。
なしでやってみるです

>>355
並列処理云々と聞きました。
詳しくは分かりませんが、、、。

364 名前:348 mailto:sage [2021/06/27(日) 14:55:13.19 ID:X9FVTu1L0.net]
>>349
>>352
回答ありがとうございます

>>349
使ってないです

>>352
失礼しました 3ページ目で、$_POST['hoge']、という文字列が表示されてしまいます
{}をつけて、<(略) value="{$_POST['hoge']}"としてみましたがダメでした(上と同様に文字列が表示されてしまいます)

365 名前:デフォルトの名無しさん mailto:sage [2021/06/27(日) 15:50:44.18 ID:r75U+hPN0.net]
>>358
value="<?php echo $_POST['hoge']; ?>"



366 名前:348 mailto:sage [2021/06/27(日) 16:08:52.70 ID:X9FVTu1L0.net]
>>359
$_POST[]はphpのタグで囲わないといけないんですね
ありがとうございました

367 名前:デフォルトの名無しさん mailto:sage [2021/06/27(日) 17:11:37.21 ID:Cz2fHMTfd.net]
ローカルホストで練習中にphpmyadminでSQLにWHERE文をつけ忘れupdateして全データが更新されてしまいました。
本番でやったら恐ろしい事だと思うんですが、ロールバックのやり方等あったら教えてもらえませんか。

一応ターミナルでログインしてROLLBACK;はしましたが戻らなかったです。

368 名前:デフォルトの名無しさん mailto:sage [2021/06/27(日) 17:45:47.61 ID:tkVDl+qA0.net]
バックアップを取っておけば?

snap shot とか

369 名前:デフォルトの名無しさん mailto:sage [2021/06/27(日) 18:37:11.40 ID:Hik46M4e0.net]
>>361
オートコミットきっとけば

370 名前:デフォルトの名無しさん mailto:sage [2021/06/27(日) 18:39:50.32 ID:pjTb3Z/m0.net]
>>360
いやいや…
>>352はhtmlをechoしてるのかと思ってそう答えたんだけど
$_POST関係なくPHPの変数をHTMLテンプレートに書く時はそうなるよ
ショートタグも調べてみるといい

371 名前:デフォルトの名無しさん mailto:sage [2021/06/27(日) 18:46:38.38 ID:pjTb3Z/m0.net]
>>361
ロールバックはトランザクション開始してないとできないから
begin(トランザクション開始)してから書いて
updateしたらselectで確認したのちに問題があればrollback
問題がなければcommitする
つうかphp関係ないで…

372 名前:360 mailto:sage [2021/06/27(日) 19:07:30.25 ID:X9FVTu1L0.net]
>>364
分かりました
何となくそんな気はしてました
ありがとうございました

373 名前:デフォルトの名無しさん mailto:sage [2021/06/27(日) 19:55:35.97 ID:Cz2fHMTfd.net]
>>362,363,365
色々アドバイスありがとうございます。
全部試してみますね。トランザクションやオートコミット、snap shot等知らなかったので勉強になりました。

374 名前:デフォルトの名無しさん mailto:sage [2021/06/28(月) 08:58:02.88 ID:GRcsjrE80.net]
>>357
たしかに curl_multi_init() で初期化してからの一連の流れで複数の通信を非同期実行できるから、
それを「使いこなせば」、直列的に複数のサイトからデータ取得するよりは圧倒的に速くはなる
使いこなせば…ね

375 名前:デフォルトの名無しさん [2021/06/28(月) 12:05:36.38 ID:SRAdQ7Kv0.net]
>>368
どうも
とりあえずsimplexmlでやるdeath



376 名前:デフォルトの名無しさん [2021/06/28(月) 12:30:55.32 ID:SRAdQ7Kv0.net]
simplexmlloadfileで取得したxmlなんですが、見やすいように整形出来ないでしょうか?非常に見づらいです。
var_dumpを使用しています。
$url_arr = ["blog.livedoor.jp/dqnplus/index.rdf","http://jin115.com/index.rdf"];


foreach($url_arr as $url){
$xml_elm = simplexml_load_file($url);
var_dump($xml_elm);
}

377 名前:デフォルトの名無しさん mailto:sage [2021/06/28(月) 12:42:58.79 ID:GRcsjrE80.net]
>>370
var_dump($xml_elm);
までやってるのに自分で解決できないなら、それはもう「PHPの書き方自体がわかってない」って事じゃんw

とりあえず
$xml_elm を foreach() で回せ
foreachの対象は配列だけじゃない

378 名前:デフォルトの名無しさん [2021/06/28(月) 12:53:32.28 ID:SRAdQ7Kv0.net]
>>371
$xml_elmをforで回すということは、自分でhtmlなりで整形しないとだめってことですかね
サクッと構造わかりやすく表示してくれればよかったんですが

379 名前:デフォルトの名無しさん mailto:sage [2021/06/28(月) 12:55:48.26 ID:flv9QEa50.net]
ワロタw

380 名前:デフォルトの名無しさん mailto:sage [2021/06/28(月) 13:32:04.00 ID:GRcsjrE80.net]
>>372
print_r($xml_elm);

そういえば前にも似た感じの質問してた人いたが同一人物?
もし同一人物なら諦めた方がいいぞ
スキップできない人が100M走のオリンピック選手目指してるレベル

381 名前:デフォルトの名無しさん mailto:sage [2021/06/28(月) 13:42:08.81 ID:quG4wdoj0.net]
Ruby では、

p obj で、オブジェクトの中身を表示できる。
pp obj で、きれいに表示できる

PHP には、pretty print みたいな機能が無いの?

382 名前:デフォルトの名無しさん mailto:sage [2021/06/28(月) 13:44:54.19 ID:GRcsjrE80.net]
お前ら>>2をよく読むように

383 名前:デフォルトの名無しさん [2021/06/28(月) 16:18:41.46 ID:SRAdQ7Kv0.net]
>>374
print_rで見やすくはならないのですが
xmlの階層構造を知りたいのです

384 名前:デフォルトの名無しさん mailto:sage [2021/06/28(月) 17:06:46.28 ID:GRcsjrE80.net]
>>377
https://paiza.io/projects/fc7vKio02RwSVdL2ggmyLg
これ見ても分からないの?
1行で書けるけどw

385 名前:デフォルトの名無しさん [2021/06/29(火) 12:43:13.08 ID:QFJ3/yA+r.net]
条件分岐して
$user_id = $comment->comment_author; (投稿に名前を入力された場合)

$user_id = empty($comment->user_id) ? "default" : $comment->user_id;  (投稿に名前を入力せずにコメントが投稿された場合)
に分岐させる場合、
if foreach でどう構文を書けばよいのでしょうか?



386 名前:デフォルトの名無しさん mailto:sage [2021/06/29(火) 14:13:26.09 ID:jcOSDUmu0.net]
>>379
// 最初にこうやってデフォルト値で初期化して
$user_id = 'default';

// こうすればいいだけでは?
if (!empty($comment->comment_author)) {
$user_id = $comment->comment_author;
} elseif (!empty($comment->user_id)) {
$user_id = $comment->user_id;
}

三項演算子は便利だけど、こういう質問をしている段階で無理して使わなくていい
この質問でなぜ foreach がいきなり出てくるのかは理解不能w

387 名前:デフォルトの名無しさん mailto:sage [2021/06/29(火) 15:56:17.02 ID:3ACgfFjZ0.net]
名無しで投稿したいのに
ログイン済みだからってわざわざ身バレさせてあげるってことか?
鬼畜やな

388 名前:デフォルトの名無しさん [2021/06/29(火) 16:14:27.35 ID:QFJ3/yA+r.net]
>>380
勉強になりました。ありがとうございます。
実装できました!

389 名前:デフォルトの名無しさん [2021/06/30(水) 00:45:39.78 ID:9XHMQjkRr.net]
すみません調べてもわからなかったことがあるんですが、
$date = get_comment_date( 'Y/n/d', $comment->comment_ID);
<span class="my_author"><= $date ></span>
で日付けを取得してるんですが (Y/n/d)と出力したい場合どうすればいいんでしょうか?
日付けを()でくくる方法をネットで調べたんですがどうしてもわかりません...

390 名前:デフォルトの名無しさん mailto:sage [2021/06/30(水) 01:04:12.91 ID:iVkkZXbL0.net]
そういうフォーマットが無いなら、
$date の前後に、文字列を連結して、( ) を付ければ?

それか、それを関数化して使うとか

391 名前:デフォルトの名無しさん mailto:sage [2021/06/30(水) 01:08:32.08 ID:+uONOblq0.net]
$date = get_comment_date('(Y/n/d)', $comment->comment_ID);
でよいのでは?

392 名前:デフォルトの名無しさん mailto:sage [2021/06/30(水) 06:56:15.60 ID:gHjUFFSPM.net]
日付扱うなら nesbot/carbon が楽だよ

393 名前:デフォルトの名無しさん [2021/06/30(水) 15:33:44.49 ID:E5lZLJuwr.net]
>>384
>>385
大かっこ中かっこみたいに連結できるんですね、勉強になりました。
ありがとうございます。

394 名前:デフォルトの名無しさん [2021/07/01(木) 16:07:46.68 ID:/VJoNeIAp.net]
VBで二限一次方程式のツール作るとしたら使う文法教えてくれ

395 名前:デフォルトの名無しさん [2021/07/01(木) 17:07:12.29 ID:rtzdpng60.net]
>>388
ここに詳細な解説が載っているよ!
https://www.ruby-lang.org/ja/



396 名前:デフォルトの名無しさん mailto:sage [2021/07/01(木) 22:30:32.59 ID:FtQP+R2v0.net]
>>389
ありがとうございます!
きっとあの変人も喜んでいます!

397 名前:デフォルトの名無しさん mailto:sage [2021/07/02(金) 05:15:42.19 ID:8vqpw3og0.net]
古いwordpressで徐々にレスポンシブ対応ページに変更しているのですが、
特定のurl(ドメイン/news/, ドメイン/blog/・・・など増加予定)の場合というifを作って
echoでレスポンシブのcssを出力したいです。
IPアドレスなどでレスポンシブ用cssを出すのはすでに実現しています。

$url = esc_url($_SERVER['REQUEST_URI']);
複数のURIの中からマッチさせたいです。

足していくので改行を使った配列を使うのが良いのか、strpos, strstrを使えば良いのか
どのような判定をすればいいでしょうか?

$responsive_url = array(
/news/,
/blog/
};

if(判定する関数($url, $responsive_url)){
echo "cssを出す処理";
}

みたいな感じになるのでしょうか

398 名前:デフォルトの名無しさん mailto:sage [2021/07/02(金) 10:13:53.35 ID:zJt0vXnM0.net]
>>391
実際に書いてみればいいじゃん
PHPはスクリプト言語なんだから、悩んでる暇があったら書いた方が早い

https://paiza.io/projects/2BR9QkERR6BrplG1Ym3P0w

上記の例ではテストのために $uri の値を固定しているが
本番環境なら
$uri = getenv('REQUEST_URI');
を使えばいい

こういう実行環境をローカルに用意できてないなら、先にそっちを何とかした方がいいぞ
スクリプト言語のメリットが全く活かせてないから

399 名前:デフォルトの名無しさん mailto:sage [2021/07/02(金) 14:20:08.79 ID:8/5dBHDt0.net]
>>391
urlからディレクトリ名抽出してその名前のファイル名.cssをCSSファイルとすればそこまで色々悩む必要は無い気がする

400 名前:デフォルトの名無しさん mailto:sage [2021/07/03(土) 04:35:11.36 ID:XWbbAf/z0.net]
>>392-393
ありがとう、paizaというものがあるのね。
すごい便利でびっくり
そう、実はローカル環境が無くて、公開している本番サイトをちょっと触ったら白くなって慌てて戻してとかダメダメなやり方してる
ローカル環境作らないとダメよね。

https://paiza.io/projects/37-EQNMdOt_AlBtXvaS0bQ

やってみたけど出来ていそうで上手くいかないorz
true, falseのところが間違っているのかな
フラグ用の変数を設けて、自宅用の固定IPか、レスポンシブ用のURIならcssを追記するってことなんだけど
無条件にcssが付加されてしまう

401 名前:デフォルトの名無しさん mailto:sage [2021/07/03(土) 06:03:10.13 ID:WJPssPjr0.net]
オイオイ、最後trueを代入しちゃってるよ

402 名前:デフォルトの名無しさん mailto:sage [2021/07/03(土) 07:16:32.91 ID:+vCA0zbWM.net]
メンテ担当に逃げられた無能っぽいな

403 名前:デフォルトの名無しさん [2021/07/04(日) 21:04:35.74 ID:wDVNm/sr0.net]
入力項目の中で生年月日が入力されてなかったらdb側の生年月日にはnullを入れるシステムがどうしても作れなくてアイディアに詰まってるので助けてください
data型でdefault nullで作ってます

404 名前:デフォルトの名無しさん mailto:sage [2021/07/04(日) 23:05:18.46 ID:GsYUOVMj0.net]
table create文をここに書いて
実際にデータをinsertするときの文も

>入力されてなかったら...nullを入れる

ここに落とし穴がありそう

405 名前:デフォルトの名無しさん [2021/07/05(月) 01:27:32.49 ID:fHx0Uh9Wd.net]
めちゃくちゃ素人質問で申し訳ないんですけど入力された値が数値では無い場合と指定文字数じゃない場合にエラーを出したいんですけどどこが間違ってますでしょうか?
if(!is_numeric($_POST['te']) ||
!mb_strlen($_POST['te'])==8){
$err ='正しい数値を入力して下さい';
}



406 名前:デフォルトの名無しさん mailto:sage [2021/07/05(月) 02:01:16.11 ID:vro+Akhn0.net]
>>399
$errはどこかでechoするんですよね?

407 名前:デフォルトの名無しさん mailto:sage [2021/07/05(月) 02:16:11.46 ID:gY5D6WDn0.net]
>>399
is_numericとmb_strlenを一緒に使っているが、$_POSTに入力されるのは全角、半角どちらを期待しているのか?
半角ならばstrlen使うべきだし、全角ならis_numericではなくpreg_matchなどで処理する必要がある

解決方法としては、一旦$_POSTを変数に入れて全角か半角どちらか必要な方に統一した後、然るべき処理を行うのがよいと思われる

408 名前:デフォルトの名無しさん [2021/07/05(月) 11:03:40.35 ID:fHx0Uh9Wd.net]
>>400
そうですね、その予定です!

>>401
ありがとうございます
1つずつ確認してみます

409 名前:デフォルトの名無しさん mailto:sage [2021/07/05(月) 11:09:11.53 ID:W/ubV+NK0.net]
>>399
要件を整理すると「特定の範囲内の数値を正とする」ってことだと思うので、filter_input()使うのが楽だと思う

410 名前:デフォルトの名無しさん mailto:sage [2021/07/05(月) 11:55:59.13 ID:Fmkhs1Zc0.net]
必要桁の数値による正規表現が簡単だぞ

411 名前:デフォルトの名無しさん mailto:sage [2021/07/05(月) 12:18:25.72 ID:kyq5FLmC0.net]
>>394
strpos()で「〜を含む」という処理を書きたいならこう書くこと
※理由はPHPマニュアルに書いてある筈
×:strpos($now_url, $res_url)
○:strpos($now_url, $res_url) !== false

極めつけはこれ
×:$match_responsive = true
○:$match_responsive ==== TRUE
$match_responsiveに true を入れてるのだから、結果は常に真になるぞ?

412 名前:デフォルトの名無しさん mailto:sage [2021/07/05(月) 12:19:27.72 ID:kyq5FLmC0.net]
>>399
>>402
色々間違ってる

・$_POST['te'] が null(未定義) だった場合にそのコードはエラーになる(もしエラーにならないならエラー設定を見直すこと)
・半角数字の入力を期待しているのだから、使うのは mb_strlen() ではなく strlen()
・書くなら !mb_strlen($_POST['te']) == 8 ではなくて mb_strlen($_POST['te']) !== 8
・== ではなく === で問題なく動くコードを書くくせを付けた方がいい
・省略しただけかもしれないが、$err をきちんと初期化しよう

以上を修正したサンプル
https://paiza.io/projects/9C1pkzuMh9Q3ao3M7q6pCA

エラー設定のやり方
https://qiita.com/fallout/items/31f793708b243033fab1

413 名前:デフォルトの名無しさん mailto:sage [2021/07/05(月) 12:20:57.53 ID:kyq5FLmC0.net]
>>405訂正
×:$match_responsive ==== TRUE
○:$match_responsive === true

414 名前:デフォルトの名無しさん [2021/07/06(火) 14:16:58.59 ID:K/Yz4VXdr.net]
//ここにメイン部分のコードを記述 ループしないので <php if (have_posts()) : the_post(); >
<!--クラスつきのタイトルを追加-->
<h3><php the_title(); ></h3>
<!--クラスつきの日付けを追加-->
<div class="posted_date">
<php echo get_the_date(); ?> </div>
<!--リンククラス付きのカテゴリーを追加-->
<php
$categories = get_the_category();
if ( $categories ) {
echo '<ul>';
foreach ( $categories as $category ) {
echo '<li class="cat2"'.$category->slug.'"><a href="'.esc_url(get_category_link($category->term_id)).'">'.$category->name.'</a></li>';
}
echo '</ul>';
} ?>
<!--リンククラス付きのコメント数を追加-->
<php $num_comments = get_comments_number();
if ( $num_comments == 0 ) {
$comments = __('No Comments'); // 댓글이 없을 경우
} elseif ( $num_comments > 1 ) {
$comments = $num_comments . __(' Comments'); // 댓글이 2개 이상일 경우
} else {
$comments = __('1 Comment'); // 댓글이 1개일 경우
}
$write_comments = '<span class="singlecomments2"><a href="' . get_comments_link() .'">'. $comments.'</a></span>';
echo $write_comments;?>
<!--クラス付きの内容を追加-->
<div class="posted_content">
<php echo the_content(); > </div>
<php
endif;?> で出力してるんですが<!--クラス付きの内容を追加-->の部分のみ繰り返し出力する場合どうすればいいんでしょうか?

415 名前:デフォルトの名無しさん [2021/07/06(火) 14:57:40.96 ID:EJPu27Tj0.net]
暇つぶしに過去作っていたプログラムを改修していたのですが、
関数ばかりのライブラリが、わりと使い勝って良くて軽量だったりします。

セキュリティを考慮すること無く、CRUD程度の操作なら
フレームワーク使わなくても良いと思ったりしたのですが、
みなさんはやっぱり自作の物は使わないようにしてますか?



416 名前:デフォルトの名無しさん mailto:sage [2021/07/07(水) 01:26:08.59 ID:bUHYGk470.net]
Ruby のERB(埋め込みRuby)みたいに、
文字列をつなげて、HTML を作るのではなく、
逆に、HTML中に、Rubyの式を埋め込めば?

<%= 〜 %> は出力される。
<% 〜 %> は出力されない

<table border="1" cellpadding="4">
<% @items.each do |fruit, price| %>
<tr>
<th><%= fruit %></th>
<td><%= price %>円</td>
</tr>
<% end %>
</table>

417 名前:デフォルトの名無しさん mailto:sage [2021/07/07(水) 01:32:32.70 ID:7x6smrJ30.net]
>>395,405
ありがとう、代入はダメね全然気付かなかった。
strposも位置を数字で返すのね。
あるあるなミスなようで俺もミスってしまった。
期待通りに動くようになりました。

418 名前:デフォルトの名無しさん mailto:sage [2021/07/07(水) 14:02:49.29 ID:Mv2t2pQw0.net]
>>409
自分がずっとメンテするものなら使うし
そうではないなら、将来自分が面倒くさい事にならないようになるべく使わない
プログラマなんか楽してなんぼ

419 名前:410 mailto:sage [2021/07/07(水) 21:21:40.74 ID:bUHYGk470.net]
趣味・遊びなら、好きにすればよい

プロ・仕事なら、Ruby on Rails

420 名前:デフォルトの名無しさん mailto:sage [2021/07/08(木) 08:53:13.93 ID:Yr3Bg0Mz0.net]
本当のプロならPHPのスレで他の言語を推したりしないw
本当のプロならRuby(笑)なんて採用しないw

421 名前:デフォルトの名無しさん mailto:sage [2021/07/08(木) 19:06:14.53 ID:yX5z+H5y0.net]
相手にしなさんな

422 名前:デフォルトの名無しさん [2021/07/09(金) 18:15:18.49 ID:KkNlGqxZr.net]
<php $args = array('posts_per_page' => 2,
'orderby' => 'date',);$posts_array = get_posts( $args );if (!empty($posts)):>

<php foreach($posts_array as $post):setup_postdata($posts_array);>
<a href="<php echo get_permalink();>"><div class="img-wrap">
画像
<php if ( has_post_thumbnail()){
//存在
the_post_thumbnail();}
else {
//存在しない
echo '<img src="noimage.jpg">';}></div>
タイトル
<h2><php the_title(); ></h2>
日付け
<php the_time('Y/m/d');>
カテゴリー
<php $categories = get_the_category();if ( $categories ) {echo '<ul>';
foreach ( $categories as $category ) {echo '<li class="cat1"'.$category->slug.'"><a href="'.esc_url(get_category_link($category->term_id)).'">'.$category->name.'</a></li>';}
echo '</ul>';}>
コメント数
<php $num_comments = get_comments_number();if ( $num_comments == 0 ) {$comments = __('No Comments');
} elseif ( $num_comments > 1 ) {$comments = $num_comments . __(' Comments'); } else {$comments = __('1 Comment');
$write_comments = '<span class="singlecomments"><a href="' . get_comments_link() .'">'. $comments.'</a></span>';echo $write_comments;>
コメントの抜粋
<php the_excerpt();>
記事を読む
<a href="<php the_permalink();>">記事を読む</a> <php endforeach;>
<php else:>
<div class="newarrival_nodata"><p>記事</p></div>
<php endif;wp_reset_postdata();>
ページナビを実装したいんですが、$nextpostと$prevpostを使って2ページ目を表示させる場合どういうコードを書けばよいのでしょうか?

423 名前:デフォルトの名無しさん mailto:sage [2021/07/09(金) 18:28:51.80 ID:Bz949MzB0.net]
wordpressの話はwordpressスレへ

424 名前:デフォルトの名無しさん [2021/07/09(金) 19:09:49.46 ID:KkNlGqxZr.net]
>>417
向こうで聞いても教えて貰えなくて…

425 名前:デフォルトの名無しさん mailto:sage [2021/07/09(金) 19:23:26.52 ID:aS/fIL1f0.net]
>>418
ナビに関係ないコードばかりだし
ブロックに波括弧とコロンが混在してて見づらいし
$nextpostと$prevpostを使ってとか言いながら、$nextpostと$prevpostがそもそもコード内に存在しないし

質問の仕方が悪い



426 名前:デフォルトの名無しさん [2021/07/09(金) 20:07:03.69 ID:KkNlGqxZr.net]
>>419
コードに付けたいんですが文字数制限があって書けないんです…
code penを見ていただけるなら書きますが…

427 名前:デフォルトの名無しさん [2021/07/09(金) 20:18:24.64 ID:KkNlGqxZr.net]
https://codepen.io/sadsfff/pen/bGWeOOo
このコードを書くとエラーが出ます。どこが間違っているのでしょうか?
syntax error, unexpected end of file, expecting elseif (T_ELSEIF) or else (T_ELSE) or endif (T_ENDIF)

428 名前:410 mailto:sage [2021/07/09(金) 20:57:16.85 ID:TIX9j1Dy0.net]
>>410
に書いたみたいに、HTML 内に、PHP の構文を埋め込めば?
逆に、PHPで文字列をつなげて、HTMLを作ると分かりにくい

Ruby on Rails では、全部そう。
HTML内に、Rubyの式を埋め込む

<%= 〜 %> は、HTMLに出力される。
<% 〜 %> は出力されない

Rubyで文字列をつなげて、HTMLを作らない

なぜかと言うと、パーシャル・部分テンプレートにして、
その部分だけを別ファイル

429 名前:ノして切り出せないから

それに文字列でつなげて、HTMLを作ると、
SQL インジェクションみたいに、
相手が情報を抜くような命令を入れてくるので、超危険!

だから、Railsでは、a.html.erb みたいに、
ERB(埋め込みRuby)で書いて、それをHTMLにする
[]
[ここ壊れてます]

430 名前:デフォルトの名無しさん mailto:sage [2021/07/09(金) 21:46:12.63 ID:aS/fIL1f0.net]
>>421
そもそも動かないコードとかさぁ
仮にナビができたとしても動かないじゃん

エラーの内容IFのタグの問題だよね
タグが合わないのはRSSの時に、タグ統一して不要な部分一旦コメントするなりして流れを追えって言われたよね?

何も進歩してないな、やれやれ…

431 名前:デフォルトの名無しさん [2021/07/09(金) 22:34:16.27 ID:SqCApkwQa.net]
>>423
元のコードが動いていて、ページ要素を加えるために$next postを加えたときにエラーが起きました

タグを統一って具体的にどこでしょうか?

432 名前:デフォルトの名無しさん mailto:sage [2021/07/09(金) 22:39:05.83 ID:nNC4f6Lr0.net]
文法エラーくらいは自分で見つけられないと

433 名前:デフォルトの名無しさん mailto:sage [2021/07/09(金) 23:06:03. ]
[ここ壊れてます]

434 名前:20 ID:aS/fIL1f0.net mailto: >>424
if やら foreach やらのブロック開始終了タグが波括弧だったりコロンだったりってのを直していくってことね

wordpress触る以上埋め込みが混在するコードを追う能力は必須になるから、この程度のこと自力で解決できないならwordpress触るの諦めたほうがいいよ
[]
[ここ壊れてます]

435 名前:デフォルトの名無しさん mailto:sage [2021/07/09(金) 23:58:42.15 ID:TIX9j1Dy0.net]
Web制作管理板のWordPress のスレで、やってるみたい

5ch ではマルチポストは禁止だから、このスレでは話を続けない方がよい。
向こうのスレで議論してください!

1つのスレだけにしないと、答える人も同じ事を調べたりするので、無駄



436 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 02:46:38.45 ID:gwvQHAgv0.net]
Rubyバカが自分を棚にあげて何か言ってる

437 名前:デフォルトの名無しさん [2021/07/10(土) 02:53:56.58 ID:etRC44er0.net]
>>5ch ではマルチポストは禁止

いつそんなこと決まったんだ?

438 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 06:01:14.33 ID:BwwaALiC0.net]
https://info.5ch.net/index.php/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%9D%E3%82%B9%E3%83%88%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F

439 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 08:21:25.24 ID:l5rpHYDO0.net]
>>430
それとはマルチポストの意味が違う
それに禁止されてるわけではない

440 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 10:30:31.94 ID:BPX48WFJ0.net]
同じ質問を至るところでして、回答者がいても返信すらしないというのはよくある事
書き捨てする様な質問には誰も答えないし、迷惑千万

441 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 12:57:51.58 ID:B4xS3BY90.net]
俺はヒールに徹するルビー君が結構好きだったんだけど
常識を語るようになったら終わりだね

442 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 13:45:53.05 ID:npYW/9LsM.net]
>>431
マルチポストの定義すら分からんのか

443 名前:デフォルトの名無しさん [2021/07/10(土) 17:15:08.23 ID:xuQr++Bu0.net]
>>434
お前がな

444 名前:デフォルトの名無しさん [2021/07/10(土) 23:37:27.16 ID:L/F3nxmer.net]
原因が少しわかりました
get_posts()は取得した投稿データを配列として返すのに対し、WP_Queryクラスを利用した場合は、データベース検索の条件やその結果がデータとして保持されるため、ループ内での条件分岐など、より高度なサブループの制御が可能です。

昨日書いたコードは$args = array()を2度分けて書いていたこと、
$posts_array = get_posts( $args );で投稿内容の取得をしているのに対し、
$the_query = new WP_Query( $args );でページナビの内容を取得しているので、

ひもずけされておらずページ番号と内容がマッチしておらず2ページ目をクリックしても内容のリロードができてませんでした。
一つ聞きたいのは、
WP_Queryとget_postsの違いは何でしょうか?
投稿内容をページナビ付きで表示する場合WP_Query() get_thumnailとかで投稿画像など取得できるのでしょうか?

445 名前:デフォルトの名無しさん mailto:sage [2021/07/11(日) 02:17:32.48 ID:lZiRxAj00.net]
WordPress の質問ですか?
WordPressの事なら、Web制作管理板のWordPressのスレに書き込んでください!

5ch はマルチポスト禁止だから、
同じ質問を、複数のスレに書くのは禁止!

このスレではなく、WordPressのスレの方で聞く方がよい



446 名前:デフォルトの名無しさん [2021/07/12(月) 01:09:59.12 ID:cRbCoWRWr.net]
https://teratail.com/questions/348616
何とか作り上げることができました。
頭痛いのでねます。

447 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 16:45:41.95 ID:ihSDWtOf0.net]
Po@「

448 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 17:49:52.30 ID:ZPBMd6Y/0.net]
>>439
コラコラ

449 名前:デフォルトの名無しさん [2021/07/12(月) 22:17:47.32 ID:SYagZpGJd.net]
アップロードされた画像をconstで定義されてるパス先に移動させたいんですが上手く出来ないので教えてください
move_uploaded_file($upload_file['tmp_name'],DIR_IMG.$new_file_name);

DIR_IMGには相対パスが入ってます('../img/など)

450 名前:デフォルトの名無しさん mailto:sage [2021/07/13(火) 13:02:35.06 ID:I15vJP3h0.net]
そもそもアップロードされたファイルなのかどうか
is_uploaded_file()でチェック出来る
そうじゃないならrename()使え

その相対パスあってる?
realpath()で確認してみる

相対パスがあってたとして、パーミッションチェックした?

451 名前:デフォルトの名無しさん [2021/07/14(水) 19:07:13.52 ID:dWCeWde70.net]
$fruits = array(
'banana' => 'yellow',
'apple' => 'red',
);

$coffee = 'cocacolla:geogia';

function morning($fruits,$coffee) {
$fruits['strawberry'] = 'red';
$coffee = 'suntory=boss';
return $fruits;
}

$fruits = morning($fruits,$coffee);

var_dump($morning);
echo '<br>'.$coffee;

?>


すいません。
phpでは、他の言語のように、関数外で定義された変数も
関数内では有効ではないのですね。。
で、関数外で定義された変数は、引数で受け取り、
returnで返すと、有効になることもわかりました。
=という認識であっていますか?

では、更新したい変数が2つあった場合どのようにすればいいでしょうか?
たとえば、上でいうところの$coffeeを更新したいのです。

452 名前:デフォルトの名無しさん [2021/07/14(水) 19:09:54.91 ID:dWCeWde70.net]
訂正::すいません。
×var_dump($morning);
〇var_dump($fruits);

453 名前:デフォルトの名無しさん mailto:sage [2021/07/14(水) 19:40:05.21 ID:b60WN8TB0.net]
グローバル変数なら別にスコープ関係無い筈だがそれ前提は設計的にどうかと思うので
以下の方法のどちらかを使う方が良いだろう

参照で渡す
function test(&$a) {
$aへの代入は関数で渡した変数に及ぶ
別にreturnする必要は無い
}

複数の結果をリターンする
function test2()
{
return [1,2];
}

list($a,$b) = test();
$aと$bに結果が入る

454 名前:デフォルトの名無しさん [2021/07/14(水) 20:25:55.80 ID:dWCeWde70.net]
よくわかりました。
関数外に変数を定義したからといって、
global変数になるわけじゃないんですね。
ありがとございました。

参照渡しか、global変数の定義か、どちらかでやっていきます。

455 名前:デフォルトの名無しさん mailto:sage [2021/07/15(木) 00:16:59.54 ID:gFOIdhYR0.net]
Ruby も珍しく、厳格な関数スコープ。
関数外の変数を、関数内で参照できない

引数渡しか、クラス・モジュール化して使うなどする



456 名前:デフォルトの名無しさん mailto:sage [2021/07/15(木) 14:33:47.08 ID:Hy5PN9MF0.net]
>>446
まず「スコープ」という概念について勉強しよう
https://www.php.net/manual/ja/language.variables.scope.php

それが理解できたら次は「グローバル空間」について
https://www.php.net/manual/ja/language.namespaces.global.php

それが理解できたら次は「名前空間」について
https://www.php.net/manual/ja/language.namespaces.php

今は野球のルールを知らないのに野球やってる状態
PHPマニュアルは優秀だから大抵の事は書いてある
最低限のルールは覚えよう

457 名前:デフォルトの名無しさん mailto:sage [2021/07/15(木) 14:39:40.15 ID:Hy5PN9MF0.net]
>>441
その質問には超能力者しか答えられない

とりあえず、以下を参考にエラーを出力させよう
https://qiita.com/fallout/items/31f793708b243033fab1

次に、そのエラー内容をきちんと読もう
中学レベルの英語力で読めるので

そのエラーを読んでも意味が理解できないなら、エラー内容を転載して質問
俺らはエスパーじゃないw






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

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

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