안녕하십니까..
본문
회원 여분필드
mb_1에 버튼이란 값이 있으면
아래 버튼을 출력하라인데..버튼이 안나타나요
버튼이란 값은 분명히 있는데요,
<?
if ($mb['mb_1'] == 버튼 ) {
echo "<a href='javascript:void(0);' onclick='window.open('abc.php?mb_id=$member[mb_id]','pop','left=150,width=630, height=700, scrollbars=1');' class='btn_images'>버튼CLICK</a>";
}
?>
답변 3
@민쯩먼저깔게요 님
<?
if ($member['mb_1'] ) {
echo "<a href='javascript:void(0);' onclick='window.open('abc.php?mb_id=$member[mb_id]','pop','left=150,width=630, height=700, scrollbars=1');' class='btn_images'>버튼CLICK</a>";
}
?>
에서 제가 볼대 우려스러운 부분말씀드리면
onclick=.... $member[mb_id] 이부분이 습관되시면 오류를 유발하기 좋은 형태입니다.
가급적
mb_id=$member[mb_id]' 일경우
php 구분내에서 문자열중간의 php변수를 사용할때
{ } 로 감싸주거나
문자열을 "로 닫고 . $변수. 로 붙이고 다시 "을 열고
이렇게 하시는게 안전합니다.
그리고,
mb_1 에 존재하는것과 의 차이는
값이란것이
1: Null ,
2 : 존재하지않는문자열 C언어에서는 \0 이라고하는 값 : "" 또는 ''
3. 0
4. 1이상의 수 또는 음수
5. 순수한 문자나 문자열
이런값들이 올수있는데
PHP에서 논리비교를 할때
null, 0, 존재하지않는문자열은 false 와 동일
값이 존재하고 0보다 큰 값이 true 로 인식합니다.
따라서, 0 이나 음수를 비교할때는 직접 명시를 해주어야 하지만
0이나 없음이나 null 이면 처리를 안하고 존재할때 처리하려면
위의 코드
if ($member[mb_1]) 이 올바른 조건으로 성립됩니다.
--------------------
참고로,
javascript 에서도 유사합니다.
php에 없는 undefined 라는 게 있습니다.
if (a) 라는 조건에서도 마찬가지로
null / undefined / 0 / false 다 동일한 false 입니다.
이걸 잘 응용하면 코드를 많이 줄일수있습니다.
if ($mb['mb_1'] == 버튼 ) {
에서
"버튼"으로 변경해 주면 됩니다.
if ($mb['mb_1'] == "버튼" ) {
문자열인 경우에는 따옴표나 큰따옴표로 감싸주어야 제대로 인식됩니다.
<?
if ($member['mb_1'] == '버튼' ) {
echo "<a href='javascript:void(0);' onclick='window.open('abc.php?mb_id=$member[mb_id]','pop','left=150,width=630, height=700, scrollbars=1');' class='btn_images'>버튼CLICK</a>";
}
?>
이렇게 해보세요