2012-10-30 39 views
0

所以我基本上覆制了下面的代碼,execpt重命名列名。

的形式如下因素:

<table align="left" width="30%" border="0" > 
<form action="company_edit_php.php" method="post"> 
<tr><td align="center" bgcolor="#ECE6E6">Location: <td align="center"> <input type="text" value="<?php echo $row['Location']?>"/><br></td></tr> 
<tr><td align="center" bgcolor="#ECE6E6">User: <td align="center"> <input type="text" value="<?php echo $row['User']?>"/><br></td></tr> 
<tr><td align="center" bgcolor="#ECE6E6">Telephone: <td align="center"> <input type="text" value="<?php echo $row['Telephone']?>"/><br></td></tr> 
<tr><td align="center" bgcolor="#ECE6E6">Email: <td align="center"> <input type="text" value="<?php echo $row['Email']?>"/><br></td></tr> 
<td> <input type="submit" value="Change" /></td></tr> 

和PHP代碼:這段代碼的

<?php 
$con = mysql_connect("localhost","username","password"); 
$id = isset($_GET['id']) ? (int)$_GET['id']: 1; 
mysql_select_db("Database", $con); 

if (isset($_POST['Location'])) { 
    echo $_POST['Location']; 
} else { 
    echo 'empty'; 
} 

$Location = $_POST['Location']; 

結果是不確定的指標:定位及if語句我得到 「空」。 爲什麼這個相同的代碼適用於另一個頁面?我現在應該怎麼做?

謝謝你的努力

+4

向我們顯示html格式的完整表格 –

+0

您的表單中是否存在指定位置的字段? – frietkot

+0

給出整個表單會很有幫助,是的。 – Korcholis

回答

2

要糾正該指數後,在文件的開頭使用此命令,並使用可變$Location

$Location = (isset($_POST["Location"])?$_POST["Location"]:""); 
+0

他的表單中有類型「POST」 –

+0

這可能只會幫助他避免獲取空變量,而不會獲得正確的值。加上他使用'$ _POST' – Korcholis

+0

對不起,編輯... – Julien

0

試試這個:

<?php 
$con = mysql_connect("localhost","username","password"); 
$id = isset($_GET['id']) ? (int)$_GET['id']: 1; 
mysql_select_db("Database", $con); 


$location= ""; 

if (isset($_POST['Location'])) { 
    $location= $_POST['Location']; // <------------- put this here! 
    //echo $_POST['Location']; 
} else { 
    echo 'empty'; 
} 

echo $location; // <------------- added this 


//$Location = $_POST['Location']; // it was erroring here as I am guessing that you were sometimes accessing the page without posting the location. If the variable does not exist, you cannot echo it.. thus the changes above 
+0

其他部分也需要$位置變量,我想 – Sibu

+1

不是真的,因爲它設置爲空'if'條款之上。 ;) – smottt

+0

@smottt你說得對,我錯過了:-( – Sibu

0

Location未在您顯示的代碼中傳遞。因爲這個原因$_POST['Location']是未定義的。把它放在你的if語句中以避免錯誤。

,如:

$Location = 'empty'; 
if (isset($_POST['Location'])) { 
    echo $_POST['Location']; 
    $Location = $_POST['Location']; 
} else { 
    echo 'empty'; 
} 
0

填寫表格

<table align="left" width="30%" border="0" > 
<form action="company_edit_php.php" method="post"> 
<tr><td align="center" bgcolor="#ECE6E6">Location: <td align="center"> <input type="text" value="<?php echo $row['Location']?>"/><br></td></tr> 
<tr><td align="center" bgcolor="#ECE6E6">User: <td align="center"> <input type="text" value="<?php echo $row['User']?>"/><br></td></tr> 
<tr><td align="center" bgcolor="#ECE6E6">Telephone: <td align="center"> <input type="text" value="<?php echo $row['Telephone']?>"/><br></td></tr> 
<tr><td align="center" bgcolor="#ECE6E6">Email: <td align="center"> <input type="text" value="<?php echo $row['Email']?>"/><br></td></tr> 
<td> <input type="submit" value="Change" /></td></tr> 
+1

編輯本在你的問題 – Sibu

1

你必須改變你的形式,因爲你錯過name到您的輸入和檢索與$_GET你必須使用像這樣的價值:

<tr><td align="center" bgcolor="#ECE6E6">Location: <td align="center"> <input type="text" name="Location" value="<?php echo $row['Location']?>"/><br></td></tr> 
+0

非常快。這是問題(我猜的海報沒有使用這個確切的形式,如果它在另一個地方工作) – Korcholis

+0

是的,你說得對,我錯過了莫名其妙「名」成我的形式。它現在! – user1758545

+0

完美,我們已經解決了您的問題 –

1

要獲得文本框的值,你需要給米名稱

<table align="left" width="30%" border="0" > 
    <form action="company_edit_php.php" method="post"> 
    <tr><td align="center" bgcolor="#ECE6E6">Location: <td align="center"> <input type="text" value="<?php echo $row['Location']?>" name='location'/><br></td></tr> 
    <tr><td align="center" bgcolor="#ECE6E6">User: <td align="center"> <input type="text" value="<?php echo $row['User']?>" name='user'/><br></td></tr> 
    <tr><td align="center" bgcolor="#ECE6E6">Telephone: <td align="center"> <input type="text" value="<?php echo $row['Telephone']?>" name='phone'/><br></td></tr> 
    <tr><td align="center" bgcolor="#ECE6E6">Email: <td align="center"> <input type="text" value="<?php echo $row['Email']?>" name='mail'/><br></td></tr> 
    <td> <input type="submit" value="Change" /></td></tr> 
0

從你正在寫是這樣,要麼不存在名爲「位置」你做的頁面上字段,或者是外部的形式(因此不裏面....)。 因爲它在原始源代碼已被採取的網站上工作,那裏只有兩個選項。

  1. 有問題的網站有一個名爲適當的形式
  2. 有問題的網站抑制錯誤信息會進來位置字段。

爲了讓您的代碼正常工作,您需要1.)將表單中的字段「位置」放入表單中,如果它尚未存在,並且2.)您需要「確保」獲取變量即使Location爲空也不會顯示錯誤。 我給不同的例子的這兩種方式:1。 )把位置形式

<form action="company_edit.php" method="post"> 
...... 
<input type="text" name="Location" id="Location> 
...... 
</form> 

2)確保即使位置確實notee XIST不發生錯誤裏面,.... 我甚至會建議爲你做想 在應用程序中使用的每個$ _POST和$ _GET變量下面的步驟,因爲它降低了錯誤信息的機會,一個特定 $ _GET/$ _ POST沒有設置明顯(雖然調試和查找寫入錯誤 有錯誤信息是很好的)。

if (isset($_POST['Location']) 
    $Location = $_POST['Location']; 
else 
    $Location=''; 

在爲你是給通過POST參數,你不把標識加入URL ID的$ _GET總是會導致一個空的id字段(因此「1」另注總是用作id)。它的工作,你要麼需要使用id作爲後,把適當的場到窗體或你就必須eidt形式的「行動」的一部分,這樣的ID作爲「?ID =」參數有