2014-10-19 65 views
0

我正在創建一個頁面,允許用戶選擇一個現有地址,或者輸入一個新的地址,這裏是我的代碼。

<table cellpadding="10px"> 
    <tr> 
     <td><input type="radio" id="huhu" name="huhu" value="<?php echo $_SESSION['home_address']; ?>"></td><td><?php echo $_SESSION['home_address']; ?></td> 
    </tr> 
    <tr> 
     <td><input type="radio" id="huhu" name="huhu" value="New"></td><td><input type="text" placeholder="New Address" id="newAdd" name="newAdd" disabled></td> 
    </tr> 
</table> 

這裏是我的代碼在下一頁。

<?php 
if(isset($_POST['newAdd'])){ 
$_SESSION['home_address'] = $_POST['newAdd']; 
echo $_POST['newAdd']."<br>"; 
} 
else{ 
    $_SESSION['home_address']; 
} 


echo $_SESSION['home_address']; 
?> 

當我點擊現有的地址,它只是刪除它。並不存儲任何東西。但是當我在文本區域輸入一個新的。有用。

我需要這樣做,以便當用戶單擊地址時,將顯示現有會話中的相同地址。

請大家幫忙。謝謝。

+0

什麼_it只是刪除it_的意思? – 2014-10-19 07:19:57

+0

而不是改變'if(isset($ _ POST ['newAdd'])){',嘗試只改變'if($ _ POST ['hulu'] =='New'){'。或者你可以檢查'newAdd'是否爲空 - if(isset($ _ POST ['newAdd'])&&!empty(($ _ POST ['newAdd'])){{ – Sean 2014-10-19 07:22:58

+0

@ gloomy.penguin text area覆蓋現有會話。 – geds13 2014-10-19 07:25:16

回答

0

試試這個。

if(empty($_POST['newAdd'])){ 
$_SESSION['home_address'] = $_POST['huhu']; 
} 
else if(!empty($_POST['newAdd'])){ 
$_SESSION['home_address'] = $_POST['newAdd']; 
} 

我建議你不要在你的單選按鈕頁面使用$ _SESSION。它會導致併發症,並且會一直寫下來。

1

我想你錯過了PHP文件中的session_start()方法。嘗試添加下面的代碼在PHP文件的開頭

if (!isset($_SESSION))session_start(); 
+0

我已經這樣做了,我的問題是我認爲文本區域用空白覆蓋會話,因爲它是空白的。 – geds13 2014-10-19 07:22:19

1

如果您的會話信息設置正確..這應該工作。

<?php 
session_start(); 

// for my testing.... 
$_SESSION['home_address'] = 'curr_session_address'; 

var_dump($_POST); 
var_dump($_SESSION); 

$s_addr = isset($_SESSION['home_address']) ? $_SESSION['home_address'] : ''; 
$p_addr = isset($_POST['newAdd'])   ? $_POST['newAdd']   : ''; 

if (!empty($p_addr)) { 
    $_SESSION['home_address'] = $p_addr; 
    echo "new_address = $p_addr<br>"; 
} 
else { 
    echo "session_address = $s_addr<br>"; 
} 

?> 

<form method='post' action='?'> 
    <table cellpadding="10px"> 
     <tr> 
      <td><input type="radio" id="huhu" name="huhu" value="<?php echo $_SESSION['home_address']; ?>"></td> 
      <td><?php echo $_SESSION['home_address']; ?></td> 
     </tr> 
     <tr> 
      <td><input type="radio" id="huhu" name="huhu" value="New"></td> 
      <td><input type="text" placeholder="New Address" id="newAdd" name="newAdd"></td> 
     </tr> 
    </table> 
    <input type='submit' value='submit'> 
</form>