2012-11-09 26 views
0

如何在第一次運行PHP變量時第二次使用存儲在我的PHP變量中的相同值執行PHP腳本?重新運行PHP腳本時不會丟失存儲在變量中的值

例如:
HTML:

<html> 
<body> 
<form method="post" action="php\test.php"> 
<input type="text" name="length" /> 
<input type="submit" value="Run again!" /> 
</form> 
</body> 
</html> 

PHP \ test.php的:

<html> 
<body> 
<?php 
$length = $_POST['length']; 
echo $length; 
?> 
<form method="POST" action="php\test.php"> 
<input type="submit" value="Run again!" /> 
</form> 
</body> 
</html> 

如何使按鈕再次運行該腳本,而不在 '長度' 失去值被輸入到文本框?當我點擊按鈕時,我得到一個錯誤,說找不到'長度'。

謝謝!

+0

哎呀。 HTML表單上還有一個提交按鈕。 – user1813447

+0

你知道,你可以編輯你的問題;) –

+0

使用$ _SESSIONS多步表格 – Tivie

回答

0

我建議將它們存儲在$_SESSION。如果這不起作用,我將它們存儲在數據庫中?

2

把你的變量隱藏輸入:

<input type="hidden" name="myvariable" value="value-from-first-run"> 

或使用會話。

PS:修復你的action。即使在Windows上,您也應該使用/而不是\

+3

請記住,一個用戶(誰有足夠的網絡知識)可以改變隱藏輸入的值。 –

+0

這也不起作用。它表示未定義索引:'長度'。 – user1813447

+0

什麼是更好的替代隱藏輸入? – user1813447

1

所有你需要做的就是打印輸入HTML場內部的長度參數的值:

php\test.php: 
<html> 
<body> 
<?php 
$length = $_POST['length']; 
echo $length; 
?> 
<form method="POST" action="php\test.php"> 
<input type="submit" value="Run again!" /> 
<input type="text" value="<?php echo $length?>" name="length" /> 
</form> 
</body> 
</html> 

理想情況下,你應該確認後的數據,以確保你沒有得到任何討厭的驚喜。

0

把你的變量隱藏輸入字段:

<input type="hidden" 
     name="length" 
     value="<?php echo htmlspecialchars($_POST['length']); ?>"> 
0

您存儲長度$ _SESSION。就像這樣:

<html> 
<body> 
<?php 
session_start(); 

// First form 
$form1 = '<form method="post" action=""> 
<input type="text" name="length" /> 
<input type="submit" value="Run again!" /> 
</form>'; 

// Resend form 
$form2 = '<form method="POST" action=""> 
<input type="submit" value="Run again!" /> 
</form>'; 

if (isset($_POST['length'])) { 
    $length = $_SESSION['length'] = $_POST['length']; 
    print $length . '<br>'; 
    print $form2; 
} else if (isset($_SESSION['length'])){ 
    $length = $_SESSION['length']; 
    print $length . '<br>'; 
    print $form2; 
} else { 
    print $form1; 
} 
?> 
</body> 
</html> 
+0

未定義的索引:'長度' – user1813447

+0

配對它給你未定義的索引,如果你直接運行該頁面,而沒有來自任何形式的帖子在你的問題有兩頁。 ,似乎你想要一個頁面的表格。查看我編輯的帖子! – Tivie