반응형
이번엔 쿠폰발행을 함수로 해보자. 보통 이런 경우 함수를 많이 사용하니 함수를 사용해 보는 걸 해보겠다. 소스를 보자.
/member/signup_ok.php
<?php
include $_SERVER["DOCUMENT_ROOT"]."/inc/dbcon.php";
$userid=$_POST["userid"];
$username=$_POST["username"];
$email=$_POST["email"];
$passwd=$_POST["passwd"];
$passwd=hash('sha512',$passwd);
$sql="INSERT INTO members
(userid, email, username, passwd)
VALUES('".$userid."', '".$email."', '".$username."', '".$passwd."')";
$result=$mysqli->query($sql) or die($mysqli->error);
if($result){
user_coupon($userid, 1, "회원가입");
echo "<script>alert('가입을 환영합니다. 10% 할인 쿠폰을 발행해 드렸습니다.');location.href='/index.php';</script>";
exit;
}else{
echo "<script>alert('회원가입에 실패했습니다.');history.back();</script>";
exit;
}
function user_coupon($userid, $cid, $reason){
global $mysqli;
$query="select * from coupons where cid=".$cid;
$result2 = $mysqli->query($query) or die("query error => ".$mysqli->error);
$rs2 = $result2->fetch_object();
$last_date = date("Y-m-d 23:59:59", strtotime("+30 days")); //30일이 지나면 못쓴다.
$sql="INSERT INTO user_coupons
(couponid, userid, status, use_max_date, regdate, reason)
VALUES(".$rs2->cid.", '".$userid."', 1, '".$last_date."', now(), '".$reason."')";
$ins=$mysqli->query($sql) or die($mysqli->error);
}
?>
이런식으로 user_coupon이라는 함수를 만들었다.
매개변수는 3가지로 등록할 아이디, 등록할 쿠폰, 그리고 쿠폰 발급사유이다.
어떤 값을 어떻게 쓰는가는 개발자 본인이 선택할 문제다.
이렇게 function을 만들다 보면 나중에는 함수들을 한곳에 모으고 싶어진다. 또 그렇게 모으다보면 Class가 필요해지기도 한다. 그런것들은 나중에 해보자.
소스 중에 global $mysqli라는게 있는데 이 부분이 빠지면 오류난다. 함수안에서는 글로벌 변수를 부르기 위해서 반드시 선언해주어야 한다.
반응형
'PHP강좌 > 쇼핑몰만들기강좌' 카테고리의 다른 글
php+mysql 쇼핑몰 만들기 강좌 - #24. 쇼핑몰 템플릿 적용하기 (2) | 2022.06.08 |
---|---|
괜찮은 무료 쇼핑몰 템플릿 (0) | 2022.06.08 |
php+mysql 쇼핑몰 만들기 강좌 - #22. 쿠폰 발행하기 (0) | 2022.04.28 |
php+mysql 쇼핑몰 만들기 강좌 - #21. 쿠폰 리스트, 쿠폰 등록 (0) | 2022.04.26 |
php+mysql 쇼핑몰 만들기 강좌 - #20. 쿠폰 설계 (0) | 2022.04.20 |