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

무슨 뜻입니까? 그냥 삭제합니까? –

+0

if (isset ($ _ POST [ 'newAdd'])) {'의 값을 변경하는 대신'if ($ _ POST [ 'hulu'] == 'New') {'. 아니면'newAdd'가 비어 있지 않은지 확인할 수 있습니다 - if (isset ($ _ POST [ 'newAdd']) &&! empty (($ _ POST [ 'newAdd']))) {' – Sean

+0

@ gloomy.penguin the text area 기존 세션을 덮어 씁니다. – geds13

답변

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

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>