0
스크립트에서 작업하고 있었지만 한 지점에서 멈추었습니다.데이터베이스 액세스 오류, 일부 PHP 함수 어쩌면
하지만 사용자가 사용자 ID를 가져 와서 확인 코드를 설정하고 데이터베이스에 저장하여 액세스 할 때 다른 사용자에게 알립니다. 이 코드는 친구를 추가하고 친구를 확인한 다음 친구를 친구 목록에서 삭제합니다. 그 오류는 다른 누군가가 친구 추가를 요청하면 아무런 통지도받지 못하고 상대방이 여전히 첫 번째 상대방을 친구로 추가 할 수 있지만 어느 쪽에도 효과가 나타나지 않는다는 것입니다. 나는 실제 문제가 무엇인지 알 수는 없다고 생각합니다. 나는 전화를하고 기능을 점검했지만 문제가 무엇인지 알아낼 수는 없습니다. 다음과 같이 데이터베이스의 필드 값은 다음과 같습니다 - ID/friend_id/USER_ID/verify_code이 코드입니다
-
@session_start();
if(empty($_SESSION["email"]) and empty($_SESSION["display_name"]))
{
header("Location: ./login.php");
exit;
}
$user_id=get_user_data('user_id');
$id=$_GET[id];
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
if($_GET[f]=='verifyfriend' && $_GET[code]!='')
{
//confirm
$result=mysql_query("SELECT * FROM `friend` where `verify_code`='$_GET[code]' ");
if(mysql_num_rows($result)) // existing verify code.
{
//clear code
$row=mysql_fetch_assoc($result);
mysql_query("UPDATE `friend` SET `verify_code`='' WHERE `verify_code` '$_GET[code]'");
//add friend's friend
mysql_query("INSERT INTO `friend` (`friend_id` ,`user_id`) VALUES ('$row[user_id]', '$row[friend_id]') ");
//update friend number: initiator
$row2 = mysql_fetch_array(mysql_query("select * from `user` where user_id='$row[user_id]'"));
$friends_num=$row2[friends_num]+1;
$query="UPDATE `user` set friends_num='$friends_num' where user_id='$row[user_id]'";
$result=mysql_query($query);
//update friend number: friend
$row3 = mysql_fetch_array(mysql_query("select * from `user` where user_id='$row[friend_id]'"));
$friends_num=$row3[friends_num]+1;
$query="UPDATE `user` set friends_num='$friends_num' where user_id='$row[friend_id]'";
$result=mysql_query($query);
}
echo "<script>alert('".l('Friend added!')."'); location='/my/'</script>";
}
//////////////////////////////////////////////////////////////////////////
if($_GET[f]=='addfriend')
{
// 就是否已经是好友
$result=mysql_query("SELECT * FROM `friend` where user_id='$user_id' and friend_id='$id' and `verify_code`='' ");
if(mysql_num_rows($result)==0&&$user_id!=$id)
{
$query="DELETE FROM `friend` where `user_id`='$user_id' and `friend_id`='$id' ";
$result=mysql_query($query);
$code=md5(rand());
$query="insert into `friend` (`user_id`,`friend_id`, `verify_code`) values ('$user_id','$id', '".$code."')";
$result=mysql_query($query);
$url="http://"._DOMAIN_."/my/func.php?f=verifyfriend&code=".$code;
mailcom($id,'addfriend',"$url");
//////////end friend number////////
echo "{'MSG':'1'}";
}
else
{
echo "{'MSG':'0'}";
}
exit;
}
//////////////////////////////////////////////////////////////////////////
if($_GET[f]=='delfriend')
{
$result=mysql_query("delete from `friend` where user_id='$user_id' and friend_id='$id' limit 1");
////////user 's friend number //////////
$row = mysql_fetch_array(mysql_query("select * from `user` where user_id='$user_id'"));
$friends_num=$row[friends_num]-1;
$query="UPDATE `user` set friends_num='$friends_num' where user_id='$user_id'";
$result=mysql_query($query);
//////////end friend number////////
echo "<script>alert('".l('Friend deleted!')."');</script>" ;
}