2016-08-10 61 views
0

在創建用戶可以提交反饋的網頁時。這些反饋將被存儲在服務器上的一個mysql數據庫中。即時通訊使用PHP,我有一個開放的用戶帳戶在數據庫中,只允許插入到指定的表?我感到困惑,因爲密碼在提交表單中是公開的,還是我誤解了某些內容?用戶可以提交存儲在數據庫中的反饋的網頁

$db_password = 'password'; 

這是誰都可以訪問不是嗎?我應該在表單中以某種方式加密它嗎?

+0

你可以發佈你的HTML和你的代碼的其餘部分?用戶是否需要登錄才能發送feedack?你能解釋一下這個過程的邏輯流程,因爲它對我來說還不清楚。 – ThatAwesomeCoder

+0

不,沒有登錄,它只是一個反饋形式與一些輸入。我還沒有任何代碼,但我已經在服務器上設置了我的db等。所以我只想從我的網站上將一些字段插入到我的服務器上的一個表中以便稍後處理。 – vasper

回答

0

下面是一個例子:

HTML

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="UTF-8"> 
<title>Add Record Form</title> 
</head> 
<body> 
<form action="insert.php" method="post"> 
    <p> 
     <label for="firstName">First Name:</label> 
     <input type="text" name="firstname" id="firstName"> 
    </p> 
    <p> 
     <label for="lastName">Last Name:</label> 
     <input type="text" name="lastname" id="lastName"> 
    </p> 
    <p> 
     <label for="emailAddress">Email Address:</label> 
     <input type="text" name="email" id="emailAddress"> 
    </p> 
    <input type="submit" value="Submit"> 
</form> 
</body> 
</html> 

PHP

<?php 
/* Attempt MySQL server connection. 
server with default setting (user 'root' with no password) */ 
$link = mysqli_connect("localhost", "root", "", "demo"); 

// Check connection 
if($link === false){ 
    die("ERROR: Could not connect. " . mysqli_connect_error()); 
} 

// Escape user inputs for security 
$first_name = mysqli_real_escape_string($link, $_POST['firstname']); 
$last_name = mysqli_real_escape_string($link, $_POST['lastname']); 
$email_address = mysqli_real_escape_string($link, $_POST['email']); 

// attempt insert query execution 
$sql = "INSERT INTO persons (first_name, last_name, email_address) VALUES ('$first_name', '$last_name', '$email_address')"; 
if(mysqli_query($link, $sql)){ 
    echo "Records added successfully."; 
} else{ 
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link); 
} 

// close connection 
mysqli_close($link); 
?> 

好了,所以這將插入表單上發佈的數據,你需要什麼的表和數據庫權限只是爲了創建一個新用戶(你的自定義用戶)然後assig對這個用戶的讀寫權限,假設你將在某個時刻讀取數據。然後在上面的php例子中,如果您指定了密碼,只需在空字符串的根旁邊添加密碼,就可以將mysql用戶替換爲'root'。要回答任何人都可以訪問的密碼,答案是否定的。 PHP是一種服務器端腳本語言,除非您故意將db密碼發送到客戶端,否則所有內容都在服務器上呈現和驗證,並且只有標記發送給客戶端。

相關問題