2010-06-02 71 views
3

當我有一個表格在index.php「未定義指數」引用數組鍵

<?php 
    echo '<form action="update_act.php" method="POST">'; 
    echo '<input type="submit" name="'.$row['act_name'].'" value="edit"> 
    echo </form> 
?> 

這裏$行[「動作_名稱」]是從數據庫中獲取的值。

我update_act.php文件

<?php 
    echo "Old Activity Name : ".$_POST['$row[\'act_name\']']; 
?> 

但我得到一個錯誤Undefined index: $row['act_name'] in C:\wamp\www\ps\activity\update_act.php

我想爲不同的submits指定不同的名稱,但我無法在其他頁面中獲取它的值。有沒有辦法呢?

回答

2

PHP only substitutes variables enclosed in double quotes "。你想要的是:

echo "Old Activity Name : ". $_POST[$row['act_name']] 

但是你的整體形式沒有任何意義。你會得到的輸出是:

Old Activity Name : edit 

因爲這是提交按鈕的值。

你能否澄清一下你的問題,你想達到什麼目的?這裏是從我身邊的一些想法:

也許你想要的東西更像是:

<form action="update_act.php" method="POST">; 
    <input type="hidden" name="act_name" value="<?php echo $row[act_name] ?>" /> 
    <input type="submit" name="submit" value="edit"> 
</form> 

// ---- other file --- 

<?php 
    echo "Old Activity Name : ".$_POST['act_name']; 
?> 

你爲什麼要,爲不同的提交不同的名字?
你想區分不同的行動嗎?如果是的話,很容易你的按鈕具有相同的名稱和你覈對自己的值,例如:

<form action="update_act.php" method="POST">; 
    <input type="submit" name="submit" value="edit"> 
</form> 

<form action="update_act.php" method="POST">; 
    <input type="submit" name="submit" value="delete"> 
</form> 

然後

<?php 
if($_POST['submit'] == 'edit') { 

} 
else if ($_POST['submit'] == 'delete') { 

} 
+0

我仍然得到一個error.Here我想做的事實際上是從表中獲取的數據$ row ['act_name']必須在其他頁面update_act.php中更新,並且在顯示舊值時,會在update_act.php中給出錯誤。 – Satish 2010-06-02 09:20:39

+0

@Satish:什麼是錯誤,價值如何更新?您沒有表單字段需要新的值。 – 2010-06-02 09:22:43

3

我不完全知道你在做什麼,但是如果變量$ row ['act_name']的值在兩種情況下都是相同的(表單頁面和更新腳本),那麼你可以以這種方式訪問​​:

echo "Old Activity Name : ".$_POST[$row['act_name']]; 
2

使用$_POST[$row['act_name']]

0
echo "Old Activity Name : ".$_POST['$row[\'act_name\']']; 

應該

echo "Old Activity Name : ".$_POST["$row[act_name]"]; 

echo "Old Activity Name : ".$_POST[$row[act_name]];