質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1491閲覧

お買い物カートに一括で商品を追加したい。

Tsukumo_Aoi

総合スコア21

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2018/02/06 05:30

formより商品コードとその個数を取得し、cart.phpへとまとめてpostしたいのですが、
現段階でカートへ商品が追加されません。
何が原因でこうなってるのかもわからず困っております。流れとしては、

  • main.phpで追加する商品のコードを発行
  • view.phpで追加する商品の個数を発行
  • main.phpのsubmitでその二つをcart.phpへpost

となってます。

php

1main.php 2 3 4<?php 5session_start(); 6 7?> 8<html> 9 <head> 10 <link href=" ../bootstrap.min.css" rel="stylesheet"> 11 <link rel="stylesheet" href="two_cullum.css"> 12 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 13 <script src=" ../bootstrap.min.js"></script> 14 15<script type="text/javascript"> 16 17function cartin() { 18 var num = document.forms['ko'].elements['num'].value; 19 var code = document.forms['muni'].elements['code'].value; 20 21 num.method = "post"; 22 num.action = "o_cart.php"; 23 num.target = "_top"; 24 num.submit(); 25 code.method = "post"; 26 code.action = "o_cart.php"; 27 code.target = "_top"; 28 code.submit(); 29 30} 31 32 33</script> 34 35 <meta charset="utf-8"> 36 <title>商品選択</title> 37 38 39 </head> 40<body> 41 <div id="wrap"> 42 <header> 43 44 <h1>商品選択</h1> 45 </header> 46<div id="sidenavi"> 47 48<br> 49<?php if (isset($_SESSION['NAME'])){ 50 echo "ようこそ{$_SESSION["NAME"]}さん"; 51 } ?> 52 <h2>商品種目</h2><br> 53 お探しの商品の種目を選択してください。 54 55 <br> 56 <br> 57 <ul class="nav nav-tabs"> 58 <li><a href="#ContentA" data-toggle="tab">野菜</a></li> 59 <li><a href="#ContentB" data-toggle="tab">肉類</a></li> 60 <li><a href="#ContentC" data-toggle="tab">鮮魚</a></li> 61 <li><a href="#ContentD" data-toggle="tab">パン・米・乳製品</a></li> 62 <li><a href="#ContentE" data-toggle="tab">惣菜</a></li> 63 <li><a href="#ContentF" data-toggle="tab">飲料</a></li> 64 <li><a href="#ContentG" data-toggle="tab">調味料</a></li> 65 <li><a href="#ContentH" data-toggle="tab">菓子</a></li> 66 <li><a href="#ContentI" data-toggle="tab">日用品</a></li> 67 <li><a href="#ContentJ" data-toggle="tab">衣類</a></li> 68 </ul> 69</div> 70 71 <div id="contents"> 72 <frame name="cont"> 73 <div class="tab-content"> 74 <div class="tab-pane" id="ContentA"> 75 <br> 76 <?php require_once"new_store_yasai.php"; ?> 77 </div> 78 <div class="tab-pane" id="ContentB"> 79 <br> 80 <?php require_once"new_store_niku.php"; ?> 81 </div> 82 <div class="tab-pane" id="ContentC"> 83 <br> 84 <?php require_once"new_store_sakana.php"; ?> 85 </div> 86 <div class="tab-pane" id="ContentD"> 87 <br> 88 <?php require_once"new_store_pan.php"; ?> 89 </div> 90 <div class="tab-pane" id="ContentE"> 91 <br> 92 <?php require_once"new_store_souzai.php"; ?> 93 </div> 94 <div class="tab-pane" id="ContentF"> 95 <br> 96 <?php require_once"new_store_inryou.php"; ?> 97 </div> 98 <div class="tab-pane" id="ContentG"> 99 <br> 100 <?php require_once"new_store_tyoumiryou.php"; ?> 101 </div> 102 <div class="tab-pane" id="ContentH"> 103 <br> 104 <?php require_once"new_store_kasi.php"; ?> 105 </div> 106 <div class="tab-pane" id="ContentI"> 107 <br> 108 <?php require_once"new_store_nitiyou.php"; ?> 109 </div> 110 <div class="tab-pane" id="ContentJ"> 111 <br> 112 <?php require_once"new_store_irui.php"; ?> 113 </div> 114 </div> 115 </frame> 116 </div> 117 118 <footer> 119 120 <a href="o_storetop.php"> 121 <input type="button" style="WIDTH: 200px; HEIGHT: 100px;" value="トップに戻る"> 122 </a> 123 124 <span style="float: right"> 125 <form action="o_cart.php" method="post" name="muni" onsubmit="cartin();"> 126 <input type="hidden" name="code" value="<?php echo $g['code'] ?>" id="<?= 'co' . $g['code'] ?>"> 127 <input type="submit" style="WIDTH: 200px; HEIGHT: 100px;" 128 value="カゴに入れる""> 129 <a href="o_t_cart.php"> 130 <button type="button" style="WIDTH: 200px; HEIGHT: 100px;">かごの中を見る<span class="badge"></span></button> 131 </a> 132 </form> 133 </span> 134 </footer> 135 136</body> 137</html> 138

php

1view.php 2 3 4<html> 5<head> 6<meta charset="utf-8"> 7<title>商品選択</title> 8<script> 9function minus($code){ 10 11 var quant = document.getElementById("kosu" + $code); 12 13 if(quant.value > 0){ 14 quant.innerHTML = quant.value--; 15 } 16} 17function plus($code){ 18 19 var quant = document.getElementById("kosu" + $code); 20 21 quant.innerHTML = quant.value++; 22} 23</script> 24</head> 25 26<body> 27 28<table> 29 <?php foreach ($goods as $g) { ?> 30 <tr> 31 <td> 32 <?php echo img_tag($g['code']) ?> 33 </td> 34 <td> 35 <p class="goods"><?php echo $g['name'] ?></p> 36 <p><?php if ( $g['zaiko'] == 0 ) { 37 echo "在庫切れ"; 38 } 39 ?></p> 40 </td> 41 <td width="80"> 42 <p><?php echo $g['price'] ?></p> 43 44 45<form action="o_cart.php" method="POST" name="ko"> 46<div style="display:inline-flex"> 47<input type="button" id="<?= 'mi' . $g['code'] ?>" value="" class="btn btn-default btn-sm" onClick="minus('<?= $g["code"] ?>');" 48<?php 49if($g['zaiko'] == 0){ 50 echo 'disabled'; 51} ?> 52> 53<input type="number" name="num" id="<?= 'kosu' . $g['code'] ?>" size="1" maxlength="3" value="0" min="0" 54<?php 55if($g['zaiko'] == 0){ 56 echo 'disabled'; 57} ?> 58> 59<input type="button" id="<?= 'pl' . $g['code'] ?>" value="" class="btn btn-primary btn-sm" onClick="plus('<?= $g["code"] ?>');" 60<?php 61if($g['zaiko'] == 0){ 62 echo 'disabled'; 63} ?> 64> 65</div> 66</form> 67 <?php } ?> 68</td> 69</tr> 70</table> 71</body> 72</html> 73

php

1cart.php 2 3 4<?php 5session_start(); 6 7 require 'o_syouhinsentaku_common.php'; 8 if (isset($_SESSION['NAME'])){ 9 echo "ようこそ{$_SESSION["NAME"]}さん"; 10 11 } 12var_dump($_POST) 13 ?> 14 15<?php 16 $rows = array(); 17 $sum = 0; 18 $pdo = connect(); 19 if (!isset($_SESSION['cart'])) { 20 $_SESSION['cart'] = array(); 21 } 22 23 $_SESSION['cart'][$_POST['code']] += $_POST['num']; 24 25 26 foreach($_SESSION['cart'] as $code => $num) { 27 $st = $pdo->prepare("SELECT * FROM shohin_tb WHERE code=?"); 28 $st->execute(array($code)); 29 $row = $st->fetch(); 30 $st->closeCursor(); 31 $row['num'] = strip_tags($num); 32 $sum += $num * $row['price']; 33 $rows[] = $row; 34 } 35 require 'o_t_cart.php'; 36?> 37

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

前回の続きっぽいですね?
なんとなくデータの持ち方がみえてきました

function cartin() {

var num = document.forms['ko'].elements['num'].value;
var code = document.forms['muni'].elements['code'].value;
num.method = "post";
num.action = "o_cart.php";
num.target = "_top";
num.submit();
code.method = "post";
code.action = "o_cart.php";
code.target = "_top";
code.submit();
}

要約すると・・
name=koのフォームのname=numの値と、
name=muniのフォームのname=codeの値と、
を拾ってきてまとめてo_cart.phpに投げるのでしょうか?

前回も同じような指摘をしましたがnumは値なのでプロパティやメソッドは
もたないです。
たとえばこんなかんじでやってみて下さい

javascript

1window.addEventListener('DOMContentLoaded', function(e){ 2 document.querySelector('[type=button][value=go]').addEventListener('click',function(e){ 3 cartin(); 4 }); 5}); 6function cartin() { 7 if(f=document.querySelector('#f0')){ 8 f.parentNode.removeChild(f); 9 } 10 var f=document.createElement('form'); 11 f.setAttribute("id","f0"); 12 f.setAttribute("method","post"); 13 f.setAttribute("action","test.php"); 14 var num=document.createElement('input'); 15 num.setAttribute("type","hidden"); 16 num.setAttribute("name","num"); 17 num.setAttribute("value",document.querySelector('form[name=ko] input[name=num]').value); 18 var code=document.createElement('input'); 19 code.setAttribute("type","hidden"); 20 code.setAttribute("name","code"); 21 code.setAttribute("value",document.querySelector('form[name=muni] input[name=code]').value); 22 f.appendChild(num); 23 f.appendChild(code); 24 document.querySelector('body').appendChild(f); 25 document.querySelector('#f0').submit(); 26}

HTML

1<input type="button" value="go"> 2<form name="ko"> 3<input type="text" name="num" value="hoge"> 4</form> 5<form name="muni"> 6<input type="text" name="code" value="fuga"> 7</form> 8
  • test.php

PHP

1<?PHP 2print_r($_POST); 3?>

投稿2018/02/06 05:56

yambejp

総合スコア114779

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tsukumo_Aoi

2018/02/06 06:10

投げる内容はその通りです!! なるほど。 なんとなくどういう仕組みなのかわかりました! ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問