2011-12-16 3 views
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>" ; 

} 

答えて

0
@session_start(); 
if(empty($_SESSION["email"]) && 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]++; 
    $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>" ; 

} 
関連する問題