2014-10-19 62 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>