2013-12-20 47 views
1

我在網頁上有一個HTML表單。從這種形式的數據被接收,存儲在MySQL數據庫這個數據的PHP頁面上(<形式的行動=這個頁面的URL ....)向現有網頁提交HTML表單

在PHP頁面的代碼:

<?php 

define('DB_NAME','temp'); 
define('DB_USER','root'); 
define('DB_PASSWORD',''); 
define('DB_HOST','localhost'); 

// Create connection 
$link=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD); 

// Check connection 
if (!$link) 
{ 
    die('Failed to connect to MySQL: ' . mysql_error()); 
} 

$db_selected = mysql_select_db (DB_NAME, $link); 

if(!$db_selected) { 
    die(' Can\'t use ' . DB_NAME . ' : ' . mysql_error()); 
} 

$rollNo = $_POST['rollNo']; 
$password = $_POST['password']; 
$name = $_POST['name']; 
$item = $_POST['item']; 
$place = $_POST['place']; 
$description = $_POST['description']; 
$contact = $_POST['contact']; 

$sql = "INSERT INTO tempstore(rollNo, password, name, item, place, description, contact) VALUES('$rollNo', '$password', '$name', '$item', '$place', '$description', '$contact') "; 
if (!mysql_query($sql)) { 
    die ('Error : ' . mysql_error()); 
} 

mysql_close(); 
?> 

它工作正常。但我想在另一個現有的PHP頁面上使用相同的代碼。爲此,當我將這段代碼添加到一個已經存在的php頁面,並將它作爲表單的action屬性值時,問題是當直接訪問這個php頁面時,它顯示錯誤(undefined index:'rollNo','password'.. )。我認爲這是因爲它沒有收到任何來自表格的數據。

在這段代碼中我應該做些什麼改變才能使它在兩種情況下都能正常工作: 1.當用戶直接打開頁面時。 2.瀏覽器提交表單後重定向。

+2

檢查所有的參數'isset'功能 – k102

+0

你有沒有設置'POST'了'form'元素的方法是什麼?默認(如果未指定)是'get'。 – BenM

+0

是的,我有。對不起,我忘了提及。 –

回答

0

請替換此PHP代碼

if(isset($_POST['rollNo'])&& isset($_POST['password']) && isset($_POST['name'])&& isset($_POST['item'])){ 
$rollNo = $_POST['rollNo']; 
$password = $_POST['password']; 
$name = $_POST['name']; 
$item = $_POST['item']; 
$place = $_POST['place']; 
$description = $_POST['description']; 
$contact = $_POST['contact']; 

$sql = "INSERT INTO tempstore(rollNo, password, name, item, place, description, contact) VALUES('$rollNo', '$password', '$name', '$item', '$place', '$description', '$contact') "; 
if (!mysql_query($sql)) { 
    die ('Error : ' . mysql_error()); 
} 
} 

TO

$rollNo = $_POST['rollNo']; 
$password = $_POST['password']; 
$name = $_POST['name']; 
$item = $_POST['item']; 
$place = $_POST['place']; 
$description = $_POST['description']; 
$contact = $_POST['contact']; 

$sql = "INSERT INTO tempstore(rollNo, password, name, item, place, description, contact) VALUES('$rollNo', '$password', '$name', '$item', '$place', '$description', '$contact') "; 
if (!mysql_query($sql)) { 
    die ('Error : ' . mysql_error()); 
} 

mysql_close(); 
+0

爲什麼你不告訴我你首先想要什麼 –

+0

它的工作原理。我可以很直接地看到網頁。謝謝。雖然由於某種原因,仍然將表單提交到我創建的舊頁面(僅使用php代碼)。我已經將action屬性的值更改爲現有的php頁面的url。我不知道我做錯了什麼。 –

+0

對不起,現在它工作得很好。小錯誤。非常感謝你。 –