쪽지 보내기 할 경우 아이피 남아 있게 하려면 어떻게 하나요... 정보
쪽지 보내기 할 경우 아이피 남아 있게 하려면 어떻게 하나요...본문
헐랭이님의 실시간 쪽지 스킨을 받아서 설치 했습니다.
그리고
ip 표시를 남기기 위해서
memo_form_update.php
파일에서
// 쪽지 INSERT
$sql = " insert into $g4[memo_table]
( me_id, me_recv_mb_id, me_send_mb_id, me_send_datetime, memofile, bmemos, memopoint, memosub, memo_datec, me_memo )
values ( '$me_id', '$mb_list[$i]', '$member[mb_id]', '$g4[time_ymdhis]', '$memodata_up', '$uploadname', '$totalm_spointm', '$memosub', '', '$me_memo' ) ";
sql_query($sql);
$sql = " insert into $g4[memo_table]
( me_id, me_recv_mb_id, me_send_mb_id, me_send_datetime, memofile, bmemos, memopoint, memosub, memo_datec, me_memo )
values ( '$me_id', '$mb_list[$i]', '$member[mb_id]', '$g4[time_ymdhis]', '$memodata_up', '$uploadname', '$totalm_spointm', '$memosub', '', '$me_memo' ) ";
sql_query($sql);
// 쪽지 발송시 아이피 표시 되게
$sql_ip = "";
if (!$is_admin)
$sql_ip = " , wr_ip = '$_SERVER[REMOTE_ADDR]' ";
$sql_ip = "";
if (!$is_admin)
$sql_ip = " , wr_ip = '$_SERVER[REMOTE_ADDR]' ";
$sql = " update $g4[memo_table]
set $sql_ip ";
sql_query($sql);
set $sql_ip ";
sql_query($sql);
// 실시간 쪽지 알림 기능
$sql = " update $g4[member_table]
set mb_memo_call = '$member[mb_id]'
where mb_id = '$mb_list[$i]' ";
sql_query($sql);
if ($total_spoint) {
insert_point($mb_list[$i], $me_send_points, "{$member[mb_nick]}({$member[mb_id]})님께 $me_send_points 포인트 선물받음", '', '', '');
insert_point($member[mb_id], -$me_send_points, "{$mb_list_nick[$i]}({$mb_list[$i]})님께 $me_send_points 포인트 선물보냄", '', '', '');
insert_point($member[mb_id], -$me_send_pointsm, "{$mb_list_nick[$i]}({$mb_list[$i]})님께 $me_send_pointsm 포인트 선물수수료", '', '', '');
}
}
}
}
이렇게 수정하고
g4_memo에 wr_ip 필드를 추가 하였는데...
잘 안되서 문의 드려 봅니다.
어디를 제대로 수정해야 하는지 고수님들의 지도를 받고 싶습니다.
댓글 전체
if (!$is_admin)
$sql_ip = " , wr_ip = '$_SERVER[REMOTE_ADDR]' ";
$sql = " update $g4[memo_table]
set $sql_ip ";
sql_query($sql);
이 부분에서
$sql_ip = " wr_ip = '$_SERVER[REMOTE_ADDR]'";
$sql = "update $g4[memo_table] set $sql_ip";
sql_query($sql) or die(mysql_error());
로 수정하시고 또 문제가 되면 표시된 에러 메세지를 남겨주세요.
$sql_ip = " , wr_ip = '$_SERVER[REMOTE_ADDR]' ";
$sql = " update $g4[memo_table]
set $sql_ip ";
sql_query($sql);
이 부분에서
$sql_ip = " wr_ip = '$_SERVER[REMOTE_ADDR]'";
$sql = "update $g4[memo_table] set $sql_ip";
sql_query($sql) or die(mysql_error());
로 수정하시고 또 문제가 되면 표시된 에러 메세지를 남겨주세요.
if (!$is_admin)
$sql_ip = " , wr_ip = '$_SERVER[REMOTE_ADDR]' ";
$sql = " update $g4[memo_table]
set $sql_ip ";
sql_query($sql);
를 알려주신 방법
$sql_ip = " wr_ip = '$_SERVER[REMOTE_ADDR]'";
$sql = "update $g4[memo_table] set $sql_ip";
sql_query($sql) or die(mysql_error());
으로 덮어 썼습니다.
에러는 안나는 것 같은데요...
wr_ip 필드에
보낸 메모에 대해서만 아이피가 기록이 되어야 하는데
다른 기존에 있던 메모에도 아이피가 기록이 되어 버립니다.
보낸 사람에 따라서 아이피가 다 다른데,,, wr_ip 필드에 모두 아이피가 쓰여 버리니
어떻게 된건지 모르겠습니다...
$sql_ip = " , wr_ip = '$_SERVER[REMOTE_ADDR]' ";
$sql = " update $g4[memo_table]
set $sql_ip ";
sql_query($sql);
를 알려주신 방법
$sql_ip = " wr_ip = '$_SERVER[REMOTE_ADDR]'";
$sql = "update $g4[memo_table] set $sql_ip";
sql_query($sql) or die(mysql_error());
으로 덮어 썼습니다.
에러는 안나는 것 같은데요...
wr_ip 필드에
보낸 메모에 대해서만 아이피가 기록이 되어야 하는데
다른 기존에 있던 메모에도 아이피가 기록이 되어 버립니다.
보낸 사람에 따라서 아이피가 다 다른데,,, wr_ip 필드에 모두 아이피가 쓰여 버리니
어떻게 된건지 모르겠습니다...
당연한 결과 입니다. 위 업데이트문 에서는
현재 인서트하는 메모의 번호가 없기 때문에 전체 메모에 들어 갑니다.
현재 인서트하는 메모의 번호가 없기 때문에 전체 메모에 들어 갑니다.
아. 죄송합니다. 깜빡했군요.
where 절이 빠져있었네요
$sql_ip .= "where mb_id = '$mb_list[$i]' ";
이걸
$sql_ip 바로 밑줄에 넣어주시면 깨끗이 됩니다.
실수를 해서 ㅈㅅ
where 절이 빠져있었네요
$sql_ip .= "where mb_id = '$mb_list[$i]' ";
이걸
$sql_ip 바로 밑줄에 넣어주시면 깨끗이 됩니다.
실수를 해서 ㅈㅅ
쪽지 테이블의 구조상 아이피를 담을 그릇이 없으므로 필드를 추가 하거나
내용이 들어가는 필드에 같이 넣는 방법으로 하셔야 할듯 보입니다.
ip 표시를 남기기 위해서
memo_form_update.php
파일에서
// 쪽지 발송시 아이피를 내용과 함께 집어넣기(보낸이가 관리자 일경우 제외)
//$me_memo .= "";
if (!$is_admin) {
$me_memo .= "(ip :".$_SERVER[REMOTE_ADDR].")";
}
// 쪽지 INSERT
$sql = " insert into $g4[memo_table]
( me_id, me_recv_mb_id, me_send_mb_id, me_send_datetime, memofile, bmemos, memopoint, memosub, memo_datec, me_memo )
values ( '$me_id', '$mb_list[$i]', '$member[mb_id]', '$g4[time_ymdhis]', '$memodata_up', '$uploadname', '$totalm_spointm', '$memosub', '', '$me_memo' ) ";
sql_query($sql);
// 실시간 쪽지 알림 기능
$sql = " update $g4[member_table]
set mb_memo_call = '$member[mb_id]'
where mb_id = '$mb_list[$i]' ";
sql_query($sql);
if ($total_spoint) {
insert_point($mb_list[$i], $me_send_points, "{$member[mb_nick]}({$member[mb_id]})님께 $me_send_points 포인트 선물받음", '', '', '');
insert_point($member[mb_id], -$me_send_points, "{$mb_list_nick[$i]}({$mb_list[$i]})님께 $me_send_points 포인트 선물보냄", '', '', '');
insert_point($member[mb_id], -$me_send_pointsm, "{$mb_list_nick[$i]}({$mb_list[$i]})님께 $me_send_pointsm 포인트 선물수수료", '', '', '');
}
}
}
내용이 들어가는 필드에 같이 넣는 방법으로 하셔야 할듯 보입니다.
ip 표시를 남기기 위해서
memo_form_update.php
파일에서
// 쪽지 발송시 아이피를 내용과 함께 집어넣기(보낸이가 관리자 일경우 제외)
//$me_memo .= "";
if (!$is_admin) {
$me_memo .= "(ip :".$_SERVER[REMOTE_ADDR].")";
}
// 쪽지 INSERT
$sql = " insert into $g4[memo_table]
( me_id, me_recv_mb_id, me_send_mb_id, me_send_datetime, memofile, bmemos, memopoint, memosub, memo_datec, me_memo )
values ( '$me_id', '$mb_list[$i]', '$member[mb_id]', '$g4[time_ymdhis]', '$memodata_up', '$uploadname', '$totalm_spointm', '$memosub', '', '$me_memo' ) ";
sql_query($sql);
// 실시간 쪽지 알림 기능
$sql = " update $g4[member_table]
set mb_memo_call = '$member[mb_id]'
where mb_id = '$mb_list[$i]' ";
sql_query($sql);
if ($total_spoint) {
insert_point($mb_list[$i], $me_send_points, "{$member[mb_nick]}({$member[mb_id]})님께 $me_send_points 포인트 선물받음", '', '', '');
insert_point($member[mb_id], -$me_send_points, "{$mb_list_nick[$i]}({$mb_list[$i]})님께 $me_send_points 포인트 선물보냄", '', '', '');
insert_point($member[mb_id], -$me_send_pointsm, "{$mb_list_nick[$i]}({$mb_list[$i]})님께 $me_send_pointsm 포인트 선물수수료", '', '', '');
}
}
}
제오니님께서 알려주신 방법과 같은 문제가 발생합니다.
wr_ip 필드에 다른 사람들끼리 주고 받은 메모에도
제가 쪽지 보내고 난 후의 아이피가 모두 쓰여져 버리네요...
wr_ip 필드에 다른 사람들끼리 주고 받은 메모에도
제가 쪽지 보내고 난 후의 아이피가 모두 쓰여져 버리네요...
질문 내용을 자세하게 못보고 코멘트를 달았네요.
아이피용 필드를 추가 하였다면 아래처럼 해주세요.
// 쪽지 발송시 아이피를 내용과 함께 집어넣기(보낸이가 관리자 일경우 제외)
$sql_ip = "-";
if (!$is_admin){
$sql_ip = $_SERVER[REMOTE_ADDR];
}
// 쪽지 INSERT
$sql = " insert into $g4[memo_table]
( me_id, me_recv_mb_id, me_send_mb_id, wr_ip, me_send_datetime, memofile, bmemos, memopoint, memosub, memo_datec, me_memo )
values ( '$me_id', '$mb_list[$i]', '$member[mb_id]', '$sql_ip', '$g4[time_ymdhis]', '$memodata_up', '$uploadname', '$totalm_spointm', '$memosub', '', '$me_memo' ) ";
sql_query($sql);
아이피용 필드를 추가 하였다면 아래처럼 해주세요.
// 쪽지 발송시 아이피를 내용과 함께 집어넣기(보낸이가 관리자 일경우 제외)
$sql_ip = "-";
if (!$is_admin){
$sql_ip = $_SERVER[REMOTE_ADDR];
}
// 쪽지 INSERT
$sql = " insert into $g4[memo_table]
( me_id, me_recv_mb_id, me_send_mb_id, wr_ip, me_send_datetime, memofile, bmemos, memopoint, memosub, memo_datec, me_memo )
values ( '$me_id', '$mb_list[$i]', '$member[mb_id]', '$sql_ip', '$g4[time_ymdhis]', '$memodata_up', '$uploadname', '$totalm_spointm', '$memosub', '', '$me_memo' ) ";
sql_query($sql);
관리자를 걸러내지 못하면 아래처럼 해보세요.
if ($is_admin) {
$sql_ip = "-";
} else {
$sql_ip = $_SERVER[REMOTE_ADDR];
}
// 쪽지 INSERT
$sql = " insert into $g4[memo_table]
( me_id, me_recv_mb_id, me_send_mb_id, wr_ip, me_send_datetime, memofile, bmemos, memopoint, memosub, memo_datec, me_memo )
values ( '$me_id', '$mb_list[$i]', '$member[mb_id]', '$sql_ip', '$g4[time_ymdhis]', '$memodata_up', '$uploadname', '$totalm_spointm', '$memosub', '', '$me_memo' ) ";
sql_query($sql);
if ($is_admin) {
$sql_ip = "-";
} else {
$sql_ip = $_SERVER[REMOTE_ADDR];
}
// 쪽지 INSERT
$sql = " insert into $g4[memo_table]
( me_id, me_recv_mb_id, me_send_mb_id, wr_ip, me_send_datetime, memofile, bmemos, memopoint, memosub, memo_datec, me_memo )
values ( '$me_id', '$mb_list[$i]', '$member[mb_id]', '$sql_ip', '$g4[time_ymdhis]', '$memodata_up', '$uploadname', '$totalm_spointm', '$memosub', '', '$me_memo' ) ";
sql_query($sql);
업데이트 구문에 인서트 메모 번호가 없어서 일괄적으로 다 달린다고 하셨는데요...
인서트 메모 번호를 넣어서 해당 메모에만 아이피가 업데이트 되도록 할 수는 없을까요?
궁금합니다.
인서트 메모 번호를 넣어서 해당 메모에만 아이피가 업데이트 되도록 할 수는 없을까요?
궁금합니다.
테스트할 여건이 안되어 못해봤습니다.
현재 인서트 시킨 번호를 가져오게 했는데 될런지는 모르겠네요.
if (!$is_admin) {
$sql_ip = $_SERVER[REMOTE_ADDR];
$sql = " update $g4[memo_table]
set wr_ip ='$sql_ip' where me_id = '$me_id' ";
sql_query($sql);
}
현재 인서트 시킨 번호를 가져오게 했는데 될런지는 모르겠네요.
if (!$is_admin) {
$sql_ip = $_SERVER[REMOTE_ADDR];
$sql = " update $g4[memo_table]
set wr_ip ='$sql_ip' where me_id = '$me_id' ";
sql_query($sql);
}
if (!$is_admin) {
$sql_ip = " wr_ip = '$_SERVER[REMOTE_ADDR]'";
$sql_ip .= "where mb_id = '$mb_id' ";
}
$sql = "update $g4[memo_table] set $sql_ip";
sql_query($sql) or die(mysql_error());
이 구문 다시 덮어씌우세요.
그럼 해결될겁니다.
혹여나 에러가 난다면
where mb_id = '$mb_id' 에서
$mb_id 를 파라메터값에서 보시구 정확한 변수로 넣어주세요.
$sql_ip = " wr_ip = '$_SERVER[REMOTE_ADDR]'";
$sql_ip .= "where mb_id = '$mb_id' ";
}
$sql = "update $g4[memo_table] set $sql_ip";
sql_query($sql) or die(mysql_error());
이 구문 다시 덮어씌우세요.
그럼 해결될겁니다.
혹여나 에러가 난다면
where mb_id = '$mb_id' 에서
$mb_id 를 파라메터값에서 보시구 정확한 변수로 넣어주세요.
답변해 주셔서 감사합니다. 그런데 채택은 하나 밖에 안되네요..
감사합니다.^^
감사합니다.^^