前提・実現したいこと
PHPでショッピングカートを作っています。
テストとして商品の数量入力欄に数字以外を入れたところ文字化けが発生しました。
(※参考書の指示により「こんにちは」と入れています。)
発生している問題・エラーメッセージ
文字化け
該当のソースコード
PHP
1<?php 2 session_start(); 3 session_regenerate_id(true); 4 5 require_once('../common/common.php'); 6 7 $post=sanitize($_POST); 8 9 $max=$post['max']; 10 for($i=0;$i<$max;$i++) 11 { 12 if(preg_match("/^[0-9]+$/", $post['kazu'.$i])==0) 13 { 14 print ' 数量に誤りがあります。 '; 15 print '<a href="shop_cartlook.php"> カートに戻る </a>'; 16 exit(); 17 } 18 $kazu[]=$post['kazu'.$i]; 19 } 20 21 $cart=$_SESSION['cart']; 22 23 for($i=$max;0<=$i;$i--) 24 { 25 if(isset($_POST['sakujo'.$i])==true) 26 { 27 array_splice($cart,$i,1); 28 array_splice($kazu,$i,1); 29 } 30 } 31 32 $_SESSION['cart']=$cart; 33 $_SESSION['kazu']=$kazu; 34 35 header('Location: shop_cartlook.php'); 36?>
試したこと
コードの見直し
コードの書き直し
補足情報(FW/ツールのバージョンなど)
参考書 「気付けばプロ並みPHP ショッピングカート作りにチャレンジ!」内 P209
※お客様には見えないページの為、必要がないとのことでユニコード(UTF-8)は削除しています。
回答2件
あなたの回答
tips
プレビュー