2017-03-27 114 views
-1

我已經創建了一個表單並希望將數據插入到我的數據庫中以便附加到在我的網站上登錄的用戶。 我用這種形式:Joomla用戶插入到mysql

<form action="/index.php?option=com_content&view=article&id=41" method="post"> 

<input type="hidden" name="username" id="username" value="username"> 

<input type="radio" name="k1" id="k1" value="1">1<input type="radio" name="k1" value="X">X<input type="radio" name="k1" value="2">2<br /> 

<input type="text" name="k1r" id="k1r"> 

<div> 

<p style="float:left; width:14%; margin-right:2%; background:#eee; color:black; border:1px solid #ccc; padding:10px"><input type="submit" value="Add Records"></p> 

</div> 

</form> 

螞蟻「行動」將得到這個代碼:

// Check connection 
if($mysqli === false){ 
die("ERROR: Could not connect. " . $mysqli->connect_error); 
} 

// Escape user inputs for security 

$username = $mysqli->real_escape_string($_SESSION['username']); 

$k1 = $mysqli->real_escape_string($_POST['k1']); 
$k1r = $mysqli->real_escape_string($_POST['k1r']); 

// attempt insert query execution 
$sql = "INSERT INTO kampbs(username, k1, k1r) VALUES('$user', '$k1', '$k1r')"; 

if($mysqli->query($sql) === true){ 
echo "Records inserted successfully."; 
} else{ 
echo "ERROR: Could not able to execute $sql. " . $mysqli->error; 
} 


// Close connection 
$mysqli->close(); 
?> 

表單數據插入,因爲它應該,但在「用戶名」字段它說'JUser'的數據庫。我應該怎麼做才能獲得登錄的用戶名(應該是用戶名'DJ')。

+0

'$ sql =「INSERT INTO kampbs(用戶名,k1,k1r)VALUES('$ user','$ k1','$ k1r')」;'在此您應該使用'$ username' '$ user',因爲你正在存儲用戶名值,例如'$ username'。 – Bhaskar

+0

@Bhaskar哇,愚蠢的我:)但是當我這樣做時,mysql中的'用戶名'字段是空的? –

+0

另一點,如果您從會話中檢索用戶名值,爲什麼使用隱藏字段? – Bhaskar

回答

0

我實際上已經做了,感謝@Bhaskar的鏈接。 的Joomla有它自己的方式來獲取用戶信息:

$user = JFactory::getUser(); 

後來我做了變量:

$username = $user->username; 

,最後我只是插入它到$ SQL這樣的:

$sql = "INSERT INTO kampbs(username, k1, k1r) VALUES('$username', '$k1', '$k1r')"; 

這樣做! :)