2016-08-12 46 views
2

這是一個很好的做法,設置獲取請求來處理一個表單使用頁面頂部的php代碼這樣?Php最好和最安全的方式來提交和處理表格

<?php 
require_once("include/dbconfig.php"); 
require_once ("include/userCrud .crud.php"); 
$userCrud = new userCRUD($pdo); 
if(isset($_POST['btn-save'])) 
{ 
//Question Data  
$name= $_POST['name']; 
$subject_id = $_POST['subject_id']; 
//other stuffs like Connecting 

$result = $userCrud->create($name, $subject_id, $address, $is_active, $date_created); 
} 
?> 

//並在頁面的中心......

<form ...> 
... 
<select name="level_id" id="level_id" class="form-control" title="Please select standard or level" required> 
                <option value="">Choose a Level</option> 
<?php 
    $stmt = $pdo->prepare("SELECT * FROM levels"); 
    $stmt->execute(); 
    $data=$stmt->fetchAll(); 
    if($stmt->rowCount() > 0){ 
    foreach($data as $row) { 
?>              
<option value="<?php echo $row['id'] ?>"><?php echo $row['title'] ?></option> 
<?php 
    } 
    } 
?> 
               </select> 
... 
</form> 

OR 使通過JQuery AJAX調用和無刷新更新的結果。我只是環顧在我的web應用程序中使用PDO在PHP ...我是否應該創建我自己的Web服務嘗試從頭開始路由和安全...或者我應該去像Slim這樣的框架..就像我是使用AJAX的表單處理方式,然後我將繼續調用我的JSON Web服務......並且我不需要在我的PHP頁面中使用數據庫連接。此外,它可以通過移動應用來使用這些PHP類,我將創建一個像....

getUsers.php //返回JSON數組

getSubjects.php //參數的查詢字符串操作

傳遞

我只是想知道哪個更安全,更好......因爲我更喜歡在這個項目中使用PHP。

+0

使用框架。同時詢問更安全的問題也是一個非常廣泛的問題,因爲一種方法本質上不比另一種更安全。這取決於你如何實現它們。 – apokryfos

+0

提交表單的安全方式是使用'POST'請求​​,以及某種'CSRF'保護,以及'XSS'保護....同時您的數據庫查詢也應該參數化......這是一個開始...你還應該確保禁用你的根MySQL密碼,不要將敏感數據存儲在純文本上,等等......這是一個永無止境的故事:) – Hackerman

+0

是的......很好的建議......黑客......你可以請建議:確保禁用你的根MySQL密碼 –

回答

0

在html中包含php可能是很好的,當你編寫小的東西時,當你變得更大時,它會造成混淆和混亂。我會建議保持數據操作和應用程序邏輯與HTML分開。你有更多的選擇,而不僅僅是在HTML或AJAX調用PHP(例如谷歌MVC,它是創建網頁的標準)。

製作你自己的路由/保護/應用結構可能會很好,但是由於你用php開始你的jurney,所以很難做到正確/安全,並且在問題出現問題時可能會非常失去活力。我會推薦嘗試一些框架 - 當你遇到某些你無法處理的東西時,就會有很高的適應性,有人已經知道如何在stackoverflow或框架社區中修復它。

相關問題