2017-04-15 79 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