구매하기 클릭시 cartupdate.php에서 에러가 납니다..
본문
회사 홈페이지에서 오류가 나서요..
//--------------------------------------------------------
// 변조 검사
//--------------------------------------------------------
error_reporting(E_ALL);
ini_set("display_errors", 1);
$opt_amount = 0;
$sql = " select * from $g4[yc4_item_table] where it_id = '$_POST[it_id]' ";
$it = sql_fetch($sql);
for ($i=1; $i<=8; $i++) {
//$dst_opt = $_POST["it_opt".$i];
echo ""
$dst_opt = trim($_POST["it_opt".$i]);
if ($dst_opt) {
$org_opt = $it["it_opt".$i];
$exp_opt = explode("\n", trim($org_opt));
$exists = false;
for ($k=0; $k<count($exp_opt); $k++) {
$opt = trim($exp_opt[$k]);
if ($dst_opt == $opt) {
$exists = true;
$exp_option = explode(";", $opt);
$opt_amount += (int)$exp_option[1];
break;
}
}
if ($exists == false) {
// 옵션이 다름
die("Error.");
}
}
}
에러 메시지를 출력해보면
Notice: Undefined index: it_opt1 in /home/hosting_users/shimro0/www/shop/cartupdate.php on line 172
Error.
이렇게 나옵니다ㅠㅠ
it_opt1가 정의 되지 않았다는거 같은데..
제가 코딩 초보라 어디를 봐야할지 모르겠네요...
다른 상품들은 괜찮은데 유독 한 종류의 상품에서만 동일한 오류가 발생합니다.
정보가 부족하다면 말씀해주세요ㅠㅠ
도와주십쇼ㅠㅠ
!-->답변 4
echo "" <-세미콜론 없는데 이건 오류랑 상관 없는 것 같고요.
if(!isset($_POST["it_opt".$i])
continue;
$dst_opt = trim($_POST["it_opt".$i]);
이와 같이 해당 변수가 있는지 확인하고 없으면 패스 하는 코드를 추가해주세요.
Notice: Undefined index 는 해당 에러는 배열변수에 해당 인덱스가 없으면 뿜는 에러인데 정상적인 동작에는 지장을 주지 않습니다.
영카트 기본은 Notice 에러는 뿜지 않도록 설정되어 있는데 common.php 중 error_reporting()을 수정하신 것으로 보입니다.
!-->172 라인이 정확히 파악이 어렵지만
$dst_opt = trim($_POST["it_opt".$i]); 이 라인에서 $i 값으로 1값을 제대로 인식되어 가져오지 못하는 오류로 보여집니다.
그러면 다른 부분이 문제가 있는겁니다.
저 중괄호가 저렇게 들어가면 옵션값이 한개도 저장이 안될겁니다.
답변을 작성하시기 전에 로그인 해주세요.