2017-04-15 43 views
0

我想创建按钮,当我点击它使2个目标:
1.使该用户加入这个组加入群组按钮PHP和MySQL

(add user_id and gro_id in table groups_has_user) 

2.change按钮值,如果用户已经加入

CREATE TABLE IF NOT EXISTS `groups_has_user` (
      `Groups_gro_id` int(11) NOT NULL, 
      `users_user_id` int(11) NOT NULL, 
      PRIMARY KEY (`Groups_gro_id`,`users_user_id`), 
      KEY `fk_Groups_has_users_users1_idx` (`users_user_id`), 
      KEY `fk_Groups_has_users_Groups1_idx` (`Groups_gro_id`) 
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

<?php 
    if(isset($_POST['join'])){ 
    require '_database/database.php'; 
    mysql_query("INSERT INTO groups_has_user(users_user_id, Groups_gro_id)VALUES('$users_user_id','$groid')"); 
    } 
?> 

<form action="group.php?gro=<?php echo $groid;?>" method="post" enctype="multipart/form-data" id="UploadForm"> 
    <button type="submit" class="btn btn-danger" name="join">join us</button> 
</form> 
+1

您的代码容易受到[** SQL注入攻击**](https://en.wikipedia.org/wiki/SQL_injection)的影响。你应该使用[** mysqli **](https://secure.php.net/manual/en/mysqli.prepare.php)或[** PDO **](https://secure.php.net/ manual/en/pdo.prepared-statements.php)准备带有绑定参数的语句,如[**这篇文章**]所述(https://stackoverflow.com/questions/60174/how-can-i-prevent-sql步喷射功能于PHP)。 –

+1

停止使用'mysql_ *'函数。自v5.5(2013年6月)开始,它们已被弃用,并从v7.0(2015年12月)开始删除。请使用[** mysqli _ ***](https://secure.php.net/manual/en/book.mysqli.php)或[** PDO **](https://secure.php.net /manual/en/book.pdo.php)与[**准备语句**](https://secure.php.net/manual/en/pdo.prepare.php)和[**绑定参数** ](https://secure.php.net/manual/en/pdostatement.bindparam.php)。 –

+0

这是一个小型的期末考试项目,我的朋友需要使用mysql而不是mysqli,因为他的教练想要这个 – D2rkZ3r0

回答

0

好了,慵懒的解决方案......

当您将数据插入到MySQL的存储在会话的user_id。像

<?php 
    if(isset($_POST['join'])){ 
    require '_database/database.php'; 
    $_SESSION['user_id'] = $users_user_id; 
    mysql_query("INSERT INTO groups_has_user(users_user_id, groups_gro_id)VALUES('$users_user_id','$groid')"); 
    } 
?> 

现在检查用户是否加入或不加入。

<?php 
    $result = mysql_query("SELECT * FROM groups_has_user WHERE users_user_id = $_SESSION['user_id']"); 
if(isset($result)){ 
?> 
<h3>You have joined this group</h3> 
<?php 
    }else{ 
?> 
    <form action="group.php?gro=<?php echo $groid;?>" method="post" enctype="multipart/form-data" id="UploadForm"> 
      <button type="submit" class="btn btn-danger" name="join">join us</button> 
    </form> 
<?php 
    } 
?> 

我希望你有想法如何检查用户。现在,你从这里开始。

PS:请关注SQL注入。使用mysqliprepared statements