我希望你能帮助我完成这个脚本:
我在一个叫做members的页面上有这个脚本,我想要这个脚本做的是当一个成员,假设成员a,通过点击按钮发送一个朋友请求,首先状态改变为"请求…"',然后脚本通过以下脚本向php发送请求:
<script type="text/javascript">
var email_cont = '<?=$mem_com[email]?>';
var cont_email = '<?=$_SESSION[email]?>';
$('#connectButton').click(function() {
var counter = 0;
$.ajax({
url: 'requests.php? cont_email='+cont_email+'&email_cont='+email_cont+'&counter='+counter,
success: function( data ) {
$('#connectButton').val(data); // set the button value to the new status.
$('#connectButton').unbind('click');
}
});
});
</script>
清晰的:
- 按钮有一个默认值,叫做数据库。
- cont_email是发送请求的成员的电子邮件。
- email_status是接收请求的电子邮件
- 计数器是发送到成员 的每个请求的请求计数。
然而,我的问题与脚本是,它只允许一次点击请求按钮,因为有一个以上的帖子成员在页面上,因为它改变了所有成员的状态,即使一个特定的成员没有发送任何请求。例如成员A向B发送请求,状态应该显示请求已经发送,但是成员C登录成员A/B请求的状态仍然显示,我想要一种方法使状态专属于每个成员,状态应该只显示一个特定的成员,如果请求已经发送,否则状态承受默认值。
下面是我的PHP代码:$email_cont = $_GET['email_cont'];
$cont_email = $_GET['cont_email'];
$counter = $_GET['counter'];
$status = "Connection Sent!";
$insert = mysql_query("INSERT INTO reqst VALUES ('','$cont_email','$email_cont','$status', '$counter', NOW())");
if(!$insert) {
//If it fails to run the SQL return an error.
echo "Connection Failed!";
} else {
$update = mysql_query("UPDATE upd SET request ='$status' WHERE email ='$email_cont'");
//If all goes well, return the status
echo $request;
}
我需要一种方法将成员a到B的请求从成员B到C分开,以便$update只更新a到B的称为upd状态的表,而B和C或C到D保持默认值,因为还没有发送请求。这样,当$request被回显时,它只根据请求状态携带成员的请求状态,即发出请求为X,未发出请求为Y,接受请求为Z。
使用jQuery $.get
函数向requests.php发送get请求
$.get('requests.php' , {email_cont: "name@domain.com", cont_email: "name@domain.com", counter: "counter..", function(data){
$('#connectButton').val(data);
$('#connectButton').unbind('click');
});