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>" ;
}