form input submit 질문입니다 채택완료

항상 많은 도움 주신분들 감사합니다.

질문드릴게 하나 있어 오늘도 글남깁니다 ^^

 

상황에 따라 포인트차감이 되는 시스템을 만들려고 하는데

 

conpig.php 파일을 생성후에 index.php 파일에 폼을 생성하여 서브밋 했을때 result.php 에서 동작하도록 하려고 합니다.

 

conpig.php 파일

변수명

$point1 = "10000"; 

$point2 = "20000"; 

$point3 = "30000"; 

 

 

index.php 파일

Copy
<form method="post" action="result.php">

<input type="hidden" name="check" value="checked">

 

  <div>
    <select name="" required>
     <option value="">선택</option>
     <option value="one"<? if ($point1=="one") echo "selected"; ?>>1회</option>
     <option value="two"<? if ($point2=="two") echo "selected"; ?>>2회</option>

     <option value="three"<? if ($point3=="three") echo "selected"; ?>>3회</option>
   </select>
 </div>

<input type="submit" class="btn btn-open"  name="answer" value="확인">

</form>

 

 

 

result.php파일 (예시)

<?php

 include_once("./config.php");

 

 if($_POST['check'] != "checked") {
    alert("정상적인 접근이 아닙니다.", "/shoping/cshop");

}

?>

 

if (만약 1회를 선택하고 서브밋 했다면?) {

  <?php insert_point($member['mb_id'], -$point1, '1회선택');?>

} else if (만약 2회를 선택하고 서브밋 했다면?) {

 <?php insert_point($member['mb_id'], -$point2, '2회선택');?>

} else .......

 

result.php 에서 전달된 밸류값에 따라 포인트함수를 이용해서 차감하도록 하려고합니다.

여기서 어떤코드가 들어가야 동작을 할까요 도움좀 주실분 있으시면 어떤형식으로 작업해야하는지만 말씀해주셔도 감사드리겠습니다

답변 2개

채택된 답변
+20 포인트

978180634_1727398284.8314.gif

 

 

 

기존 코드를 다음과 같이 수정 해주세요

 

Copy
<select name="" required>

 

이 코드를 아래 처럼 네임값을 지정해주세요

Copy
<select name="pointSelect" required>

 

그리고 result.php 파일을 변경 합니다. 그냥 통으로 바꾸세요

 

Copy
<?php

 

include_once('./_common.php');

 

if($_POST['check'] != "checked") {

    alert("정상적인 접근이 아닙니다.");

}

 

if(!$is_member) {

    alert("로그인 후 이용해주세요.");

}

 

$mb_id = $member['mb_id'];

 

$pointSelect = isset($_POST['pointSelect']) ? $_POST['pointSelect'] : '';

$point = 0;

$point_title = '';

 

switch($pointSelect) {

    case "one":

        $point = 1000 * -1;

        $point_title = '1회선택';

        break;

    case "two":

        $point = 2000 * -1;

        $point_title = '2회선택';

        break;

    case "three":

        $point = 3000 * -1;

        $point_title = '3회선택';

        break;

    default:

        alert("정상적인 접근이 아닙니다.");

}

 

if($member['mb_point'] < $point) {

    alert("포인트가 부족합니다.");

}


 

insert_point($mb_id, $point, $point_title, '@etc', $mb_id, $point_title);

alert('정상적으로 처리되었습니다.');

?>

 

이렇게 하시면 원하는데로 될꺼에요

실행 화면은 위 움짤 참고 하세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다

그런데 한번 실행되면 두번째부터는 실행이안되던데 왜그런건가요?

댓글을 작성하려면 로그인이 필요합니다.

select name 을 설정하고 test 라고 하면

$_POST['test'] 이렇게 값ㅇ ㅣ넘어오겟쬬 그럼

if($_POST['test'] == 'one') {
}

~~~~

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다! 많은도움 되었습니다 ^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고