2012-07-17 2 views
0

선택한 옵션을 제출하면 데이터가 저장되지 않습니다. 유효성 검사가 실패 할 경우 데이터를 다시 게시하는 방법을 알고 싶습니다."선택"에 대한 유효성 검사가 실패한 경우 데이터 다시 게시

다음 라인은 실제로 저에게 효과가 없습니다.

<select id="numbers" name="numbers" value="<?php echo (isset($_POST['numbers'])) ? $_POST['numbers'] : " "; ?>"/> 

누군가 내게 도움이된다면?

많은 감사, 여기 내

<?php 

if(isset($_POST['numbers']) &&($_POST['fruits']) && $_POST['numbers'] != "null" && $_POST['fruits'] !== "null") 
{ 
    echo "Thank you!"; 
} elseif (isset($_POST['numbers']) && $_POST['numbers'] = "null") { 
    echo "you forgot to choose a number"; 
    } 
    elseif(isset($_POST['fruits']) && $_POST['fruits'] = "null") 
{ 
    echo "you forgot to choose fruit name"; 
    } 

?> 



    <form id="form" name="form" method="post" action=""> 

     <label for="expiry">Select</label> 
       <select id="numbers" name="numbers" value="<?php echo (isset($_POST['numbers'])) ? $_POST['numbers'] : " "; ?>"/> 
       <option value="null" selected="selected">-</option> 
       <option value="01">01</option> 
       <option value="02">02</option> 
       <option value="03">03</option> 
       </select> 

       <select id="fruits" name="fruits" value="<?php echo (isset($_POST['fruits']))? $_POST['fruits'] : ''; ?>"/> 
       <option value="null" selected="selected">-</option> 
       <option value="Apple">Apple</option> 
       <option value="Banana">Banana</option> 
       <option value="Pear">Pear</option> 

       </select> 

    <input type="submit" value="Send" /> 
    </form> 

그것을 해결 코드, 어쩌면 가장 좋은 방법이지만, 적어도 그것을 분류 가지고 :() 함수 중 하나가 true를 돌려

<?php 
$item = null; # 
$itemyear = null; 

if(isset($_POST['numbers'])){ 
$item = $_POST['numbers']; 
} 
if(isset($_POST['fruits'])){ 
$itemyear = $_POST['fruits']; 
} 



if(isset($item) && isset($itemyear) && $item != "null" && $itemyear !== "null") 
{ 
    echo "Thank you!"; 
} elseif ($item == "null") { 
    echo "you forgot to choose a number"; 
    } 
    elseif($itemyear == "null") 
{ 
echo "you forgot to choose fruit name"; 
} 



?> 



    <form id="form" name="form" method="post" action=""> 

     <label for="expiry">Select</label> 
      <select id="numbers" name="numbers" /> 
       <option value="null" selected="selected">-</option> 
       <option value="01" <?php if($item == '01'): echo "selected='selected'"; endif; ?>>01</option> 
       <option value="02" <?php if($item == '02'): echo "selected='selected'"; endif; ?>>02</option> 
       <option value="03" <?php if($item == '03'): echo "selected='selected'"; endif; ?>>03</option> 
       </select> 

       <select id="fruits" name="fruits" /> 
       <option value="null" selected="selected">-</option> 
       <option value="Apple"<?php if($itemyear == 'Apple'): echo "selected='selected'"; endif; ?> >Apple</option> 
       <option value="Banana"<?php if($itemyear == 'Banana'): echo "selected='selected'"; endif; ?>>Banana</option> 
       <option value="Pear"<?php if($itemyear == 'Pear'): echo "selected='selected'"; endif; ?>>Pear</option> 

       </select> 

    <input type="submit" value="Send" /> 
    </form> 


<?php 
echo $item ."-". $itemyear; 
?> 
+0

을 사용하여 다시

if(validationFailed) { header("Location: page.php?data=example"); } 

데이터는 다음 page.php에서 검색 할 수있는 사용자를 리디렉션 할 때

그래서 난 정말 당신이 무슨 뜻인지 udnerstand하지 않습니다. 또한 그것은 . 나는 왜 당신이 부울 값을 value 속성에 출력하려고하는지 보지 못한다. –

+0

감사합니다. 선택한 옵션을 제출하면 데이터가 저장되지 않습니다. 유효성 검사가 실패한 경우 데이터를 다시 게시하는 방법을 알고 싶습니다. – olo

답변

0

는 PHP는 isset . value='<?php echo (isset($_POST['numbers'])) ? $_POST['numbers'] : ""; ?>

: 또는 false (입력이 있는지 여부에 따라 .. 음 ... 설정

당신은이를 사용할 것

+0

감사합니다.하지만 작동하지 않습니다. "/> – olo

0

<select>value 속성을 설정할 수 없습니다. 올바른 <option>을 찾고 selected 속성을 설정해야합니다. 개인적으로 <select>data-default 속성을 넣은 다음 JavaScript를 사용하여 옵션을 반복하고 올바른 것을 찾으십시오.

+0

감사합니다. Kolink, Javascript 유효성 검사를 받았으며 PHP를 사용하여 양식의 유효성을 검사하는 방법을 배우고 싶습니다. . 당신의 대답은 도움이됩니다. – olo

+0

방금 ​​전 말씀 드린 말씀을 분명히 이해하지 못했을 때 "당신의 대답은 도움이됩니다"라고 말하면서 고맙게 생각합니다. 자바 스크립트 유효성 검사에 관해서는 아무 말도하지 않았지만, select에 속성을 넣고 JavaScript를 사용하여 올바르게 작동하게하는 올바른 옵션을 찾아야한다고했습니다. –

+0

아니, 네가 무슨 뜻인지 알 겠어! "