2012-06-06 50 views
0

我在這裏使用會話在文本框中保存一個值。在文本框上提交會話值

我在其中一個文本框中輸入了一個值,另一個沒有任何值,我提交它。該值將出現在第一個文本框中,並將禁用該文本框,但是當我在第二個文本框上添加一個值並提交時,第一個文本框中的值已經消失。任何人都可以幫我解決這個問題嗎?

PHP

<?php 
session_start(); 
@$two = $_POST['two']; 
@$four = $_POST['four']; 
if(isset($_POST['submit'])){ 
    $_SESSION['two'] = $two; 
    $_SESSION['four'] = $four; 
} 
?> 

HTML

<form method="POST"> 
Textbox One: <input type="text" value="<[email protected]$_SESSION['two']; ?>" name="two" class="inputborder" size="20" <?phpif(@$_SESSION['two']){ echo"disabled=disabled";} else{echo ""; }?> /> 
<br>  
Textbox Two: <input type="text" value="<[email protected]$_SESSION['four']; ?>" name="four" class="inputborder" size="20" <?php if(@$_SESSION['four']){ echo"disabled=disabled";}else{ echo ""; }?> /> 
<br>   
<input type="submit" name="submit"> 
</form> 
+1

首先刪除'@'符號。這些都是壓制錯誤 –

回答

0

爲什麼你想抓住兩個$和檢查提交前4 $的變量?

<?php 
session_start(); 

if(isset($_POST['submit'])){ 

    if(isset($_POST['two'])){ 
     $two = $_POST['two']; 
    } 

    if(isset($_POST['four'])){ 
     $four = $_POST['four']; 
    } 

    $_SESSION['two'] = $two; 
    $_SESSION['four'] = $four; 
} 
?> 

這應該不需要在PHP中使用'@'符號。 (儘管進一步的錯誤處理是適當的)。但是你到處壓制錯誤,你應該如何獲得反饋?