請問我在FOR迴圈那邊要怎麼寫,才可以在order.php裡面取得value呢??
我這樣寫可以跑,不過當下個頁面INSERT資料進去SQL的時候,
卻都只是空值,我也有試過用HIDDEN的方式寫,不過都ERROR
(+在45行)
echo "<INPUT TYPE="HIDDEN" name="cook" value="$row[cook]">";
echo "<INPUT TYPE="HIDDEN" name="money" value="$row[money]">";
拜託還沒睡的大大,幫我解答
假設 buy.php 用 get 方式傳參數
<form action ="order.php" method ="get">
username: <input type="text" name="username" />
<input type ="submit" value="ok" />
</form>
在 order.php 就用 $_GET 取得參數
You are <?php echo $_GET["username"]?>.
*****************************************
假設 buy.php 用 post 方式傳參數
<form action ="order.php" method ="post">
username: <input type="text" name="username" />
<input type ="submit" value="ok" />
</form>
在 order.php 就用 $_GET 取得參數
You are <?php echo $_POST["username"]?>.
$row[cook]= 菜單 淡水阿給、紅燒魚 之類的...
$row[MONEY]= 100、200...
旦卻又發生了,傳到ORDER.PHP,卻都顯示同一個VALUE..
(Order.php-SQL語法)
$sql = "INSERT INTO cord (cord_cook, cord_money)
VALUES ('$cook', '$money')";
試試看
<pre class="c" name="code">
echo "<INPUT TYPE='HIDDEN' name='cook' value='$row[cook]'>";
echo "<INPUT TYPE='HIDDEN' name='money' value='$row[money]'>";
比較保險的寫法
<pre class="c" name="code">
echo "<INPUT TYPE='HIDDEN' name='cook' value='". htmlspecialchars($row[cook]) . "'>";
echo "<INPUT TYPE='HIDDEN' name='money' value='" . htmlspecialchars($row[money]) . "'>";
echo "<INPUT TYPE='HIDDEN' name='cook' value='$row[cook]'>";
echo "<INPUT TYPE='HIDDEN' name='money' value='$row[money]'>";
我使用這個寫法,
但是又有另外一個問題,我ACTION="order.php"雖然收到的道值,不過都是相同的值,
怎麼會這樣呢???
試試看
echo "<INPUT TYPE='HIDDEN' name='cook[]' value='$row[cook]'>";
echo "<INPUT TYPE='HIDDEN' name='money[]' value='$row[money]'>";
hidden?你要跨網頁存取的話,是不是考慮把資料存在session裡面?
你學 php, 很多基本東西沒弄清楚, 尤其是單引號雙引號的使用.
一開始為什麼錯在 45 行, 就是因為 echo 後面都是雙引號的關係.
另外你會想說, get/post 後 action.php 收的值不正確, 不如先確定在 order.php 那邊你給的值到底對不對. (檢視網頁原始檔)
最後就是取值, 這個跟前面兩個大大講的有關, 如果 register_globals 是 on, 才可以直接取, 不然就要透過 $_GET ($HTTP_GET_VARS) / $_POST ($HTTP_POST_VARS) 才拿得到值, 至於為什麼, 書上應該都有寫.
另外雖然 php 很方便, 可以直接在引號裡放變數, 不過我還是建議不要偷覽, 寫正確的語法, 像
<pre class="c" name="code">echo "<INPUT TYPE='HIDDEN' name='cook' value='$row[cook]'>";
不如乖乖寫成
<pre class="c" name="code">echo "<INPUT TYPE='HIDDEN' name='cook' value='".$row["cook"]."'>";
至於 fillano 大大的 session 也是很好的辦法, 只是我猜可能又得卡在 session_start() 或 $_SESSION 那裡了....