shop/orderformupdate.php 내용에서 변수 관련 질문입니다.

shop/orderformupdate.php 내용에서 변수 관련 질문입니다.

QA

shop/orderformupdate.php 내용에서 변수 관련 질문입니다.

본문


<?php
include_once('./_common.php');
include_once(G5_LIB_PATH.'/mailer.lib.php');
 
if(($od_settle_case != '무통장' && $od_settle_case != 'KAKAOPAY') && $default['de_pg_service'] == 'lg' && !$_POST['LGD_PAYKEY'])
    alert('결제등록 요청 후 주문해 주십시오.');
 
// 장바구니가 비어있는가?
if (get_session("ss_direct"))
    $tmp_cart_id = get_session('ss_cart_direct');
else
    $tmp_cart_id = get_session('ss_cart_id');
 
if (get_cart_count($tmp_cart_id) == 0)// 장바구니에 담기
    alert('장바구니가 비어 있습니다.\\n\\n이미 주문하셨거나 장바구니에 담긴 상품이 없는 경우입니다.', G5_SHOP_URL.'/cart.php');
 
$error = "";
// 장바구니 상품 재고 검사
$sql = " select it_id,
                ct_qty,
                it_name,
                io_id,
                io_type,
                ct_option
           from {$g5['g5_shop_cart_table']}
          where od_id = '$tmp_cart_id'
            and ct_select = '1' ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
    // 상품에 대한 현재고수량
    if($row['io_id']) {
        $it_stock_qty = (int)get_option_stock_qty($row['it_id'], $row['io_id'], $row['io_type']);
    } else {
        $it_stock_qty = (int)get_it_stock_qty($row['it_id']);
    }
    // 장바구니 수량이 재고수량보다 많다면 오류
    if ($row['ct_qty'] > $it_stock_qty)
        $error .= "{$row['ct_option']} 의 재고수량이 부족합니다. 현재고수량 : $it_stock_qty 개\\n\\n";
}
 
if($i == 0)
    alert('장바구니가 비어 있습니다.\\n\\n이미 주문하셨거나 장바구니에 담긴 상품이 없는 경우입니다.', G5_SHOP_URL.'/cart.php');
 
if ($error != "")
{
    $error .= "다른 고객님께서 {$od_name}님 보다 먼저 주문하신 경우입니다. 불편을 끼쳐 죄송합니다.";
    alert($error);
}
$i_price     = (int)$_POST['od_price'];
$i_send_cost  = (int)$_POST['od_send_cost'];
$i_send_cost2  = (int)$_POST['od_send_cost2'];
$i_send_coupon  = (int)$_POST['od_send_coupon'];
$i_temp_point = (int)$_POST['od_temp_point'];

 

안녕하세요. 저의 지식 수준으로는 이해가 안되는 부분이 있어 질문드립니다!

우선 shop/orderformupdate.php파일에서

처음부터 49번 줄까지의 내용을 발췌하였습니다.

 

제가 궁금한것은

가장 마지막 부분에


$error .= "다른 고객님께서 {$od_name}님 보다 먼저 주문하신 경우입니다. 불편을 끼쳐 죄송합니다."; 
 

이부분에서 바로 {$od_name} <-- 이부분인데요

orderformupdate.php 파일은 orderform.php 에서 폼을 입력 받고 포스트로 값을 넘겨서 

그 값들로 최종 적으로 order 데이터베이스에 넣는 역할로 알고 있습니다.

 

그런데

제가 궁금해 사는 47줄 부분의 변수는 

바로 밑줄인 51번대 줄의 변수 와 달리 

포스트로 넘겨 받은 값도 없이 그냥 바로 변수가 사용되네요.

 

그러니까...제가 궁금한 것을 간단하게 요약하자면

현재 orderformupdate.php 에서 처음으로 $od_name 이 사용 되는 부분 이전에

$od_name 의 값을 할당해주는 부분이 없으나 

$od_name 을 사용되고 있고, 실제로 이는 정상적으로 표기가 되고 있습니다.

 

그래서 저는 저것이 궁금한 것이 포스트로 넘겨 받아서(자동으로?) 값을 표기하는 것인지

아니면 숨겨진 곳에서 $od_name에  값을 할당해서 해당 php파일에는 보이지 않는 것인지 궁금합니다.

 

479번대 줄만 봐도

$od_email         = get_email_address($od_email);

$od_name          = clean_xss_tags($od_name);

$od_tel           = clean_xss_tags($od_tel);

$od_hp            = clean_xss_tags($od_hp);

단순히 이렇게 변수 할당이 되어있는데요

그 윗줄들에서 $od_email 이나 od_name 등등 전혀 변수에 값을 할당하는 구문들이 없습니다.

 

어디서 값이 할당되고 있는 것인가요? 너무 궁금합니다.

 

(혹은  $_POST['od_name']; 이렇게 쓰지 않고 그냥 $od_name 이렇게만 써도 자동으로 값을 받는 건가요?, 만약 그렇다면 어떤 곳은 POST를 사용하고 어떤 곳은 그냥 사용하는데 이유도 궁금하네요..)

 

 

 

 

 

이 질문에 댓글 쓰기 :

답변 1

네 아마 말씀대로 $od_name 를 바로 받아서 사용하여서 그런 경우일거 같습니다.

영카트를 보셔서 아시겠지만 영카트 에서 form 값을 받을떄 post를 사용안하고 그냥 변수값을 받아서

처리하는것이 상당수 많습니다.

 

common.php를 보시면요


// PHP 4.1.0 부터 지원됨
// php.ini 의 register_globals=off 일 경우
@extract($_GET);
@extract($_POST);
@extract($_SERVER);

 

이렇게 되어있는데요..

구지 앞에 post란값을 안써도 post로 받아서 처리 됩니다.

도움이 되셨는지요 ^^

 

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 27
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT