これ何て呼びますか

先日こちらでPHPに関する質問をさせていただき解決したばかりですが、早々に壁にぶつかったので、投稿させていただきました。

商品番号を入力してDB内から一致した商品番号に関する情報がブラウザ上に表示されるのですが、この表示されている情報を、次のページに受け渡しをしたいのです。
検索結果をlist.phpからpostでbc_est.phpに情報を渡してるつもりが、「Arrayでよろしいですか」と表示されます。最終的には、テーブル表示にする予定ですが、まずはPHPが正しく動いてからと思っていますので、文章にしてあります。まったく機能していないのですが、どの文が足りないのか間違っているのかも検討がつきません。どうかご教示下さい。

list.php(前半省略・・・下記、値がブラウザに表示されている部分)
<?php
while ($row = $stmh->fetch(PDO::FETCH_ASSOC)) {
?>
<TR>
<TD align="center"><input type="checkbox" name="pickup"></TD>
<TD align="center"><?=htmlspecialchars($row['syohin_bango'])?></TD>
<TD align="center"><?=htmlspecialchars($row['name'])?></TD>
<TD align="right"><?=htmlspecialchars(number_format($row['price']))?></TD>
<TD align="center"><?=htmlspecialchars($row['qty'])?></TD>
</TR>
<?php
}
?>
<form action="bc_est.php" method="post">
<input type="hidden" name="syohin_bango" value="<?php echo ['syohin_bango'],['sname'];?>">
<input type="submit" value="確認">
</form>

※チェックボックスにチェックが入った部分の"syohin_bangou"&"name"&"price"の部分だけを次のページに渡す。(現在、チェックボックスについての指示文はまだ作成していません。)

bc_est.php
<body>
<?php

//$POSTで受け取る
$syohin_bango = $_POST['syohin_bango'] ;
$name = $_POST['name'];

?>

<?php echo ['$syohin_bango'] . "でよろしいですか";?>

</body>

上記で実行すると「Arrayでいいですね」と表示されます。

よく配列を指定する時に「xxx=$array(...)」はよく見ますが、上記のなかで「array」は使用していません。
なのに「array」が表示されているのかも全くわかっていません。

長文になってしまいましたが、どうかご教示いただければ幸いです。

質問者からの補足コメント

  • 現時点でブラウザ上に表示されている結果(TABLEに表示されている部分)をページ遷移がしたいのですが「$row['syohinn_banngo'](略)」で処理できるのであれば・・・。

    No.1の回答に寄せられた補足コメントです。 補足日時:2017/10/24 14:25

A 回答 (2件)

なんか勘違いしていえるみたいですが



print_r(['syohin_bango']);
すればわかりますが、これは「syohin_bango」という要素が一つだけはいった配列ですよ
ページ間でデータを共有したいならセッションを使って下さい
    • good
    • 0
この回答へのお礼

回答ありがとうございました。SESSION関数ですね。そうですね。ログイン時に使用するものっていう固定観念が強かったです。ログイン情報をログアウトするまで複数ページに渡って保持する=値を保持すると考えれば同じことでしたね。ありがとうございました。

お礼日時:2017/10/24 15:31

> echo ['syohin_bango'],['sname'];



の時点で配列をスタティックに指定しています
(変数の参照さえしていません)

$row['syohin_bango'].",".$row['sname']

的な処理をご希望なのでしょうか?
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!