2014-01-26 5 views
0

나는이 질문을 이미했으나 이후에 내가 가진 도움을 따르는 코드를 넘겼다. 내 PHP 드롭 메뉴를 끈적하게 만들려고하지만 제출 버튼을 누르면 매번 최상위 메뉴 항목이 지워집니다. 나는 어디서 잘못 될지 잘 모르겠다. 그래서 어떤 도움도 크게 받으실 수 있습니다. 코드는 다음과 같습니다 :PHP 드롭 메뉴가 붙어 있지 않음

<!DOCTYPE html> 
<html> 

<head> 
    <title>Example</title> 
</head> 

<body> 

<?php 
    if (isset($_POST['Question'])) 
    { 
     $menuVar = $_POST['fontFamily']; 
    } 
?> 

<p id="info-req">How did you find about this site?</p> 

<form name="TestMenu" method="post" id="marketing"> 
    <select name="Question"> 
     <option <?php if($menuVar=="----------") echo 'selected="selected"'; ?> value="----------">----------</option> 
     <option <?php if($menuVar=="WebSearch") echo 'selected="selected"'; ?> value="WebSearch">Web Search</option> 
     <option <?php if($menuVar=="SocialMedia") echo 'selected="selected"'; ?> value="SocialMedia">Social Media</option> 
     <option <?php if($menuVar=="Wordofmouth") echo 'selected="selected"'; ?> value="Wordofmouth">Word of mouth</option> 
     <option <?php if($menuVar=="Other") echo 'selected="selected"'; ?> value="Other">Other</option> 
    </select> 
    <input type="submit" /> 
</form> 

</body> 
</html> 
+0

'끈적 끈적한'이란 무엇입니까? 페이지를 새로 고친 후 이전에 선택한 값을 유지하도록 양식을 원하십니까? –

+0

페이지에 필요한 다른 양식 필드가 있으며 날짜를 입력하지 않으면 오류 메시지가 표시됩니다. 이런 일이 발생했을 때이 드롭 메뉴를 재설정하지 않기를 바란다. 다른 양식 필드를 해결했지만 더 이상 삭제되지 않지만 드롭 메뉴 항목을 유지하는 방법을 모르십니까? 유효하지 않은 항목으로 인해 오류 메시지가 표시되면 제출 단추를 누르기 전에 모든 데이터를 그대로 남겨 두십시오. 이런 일이 발생하지 않으면 사용자는 전체 양식을 다시 작성해야합니다. – Margate

+0

Screenshot please. –

답변

1

먼저 $POST['fontFamily'] 변수에 양식이 없습니다. 왜 그것을 사용하려고합니까? 이 값을 얻으려면 $_POST['Question']을 사용해야합니다.

은 그래서해야하십시오 Notice: Undefined variable $menuVar를 얻을 수 없습니다 위해 더 $POST 존재하지 않는 경우는
if (isset($_POST['Question'])) 
{ 
    $menuVar = $_POST['Question']; 
} 

은 또한 당신이 $menuVar init을해야한다. 따라서 결국 코드는 다음과 같아야합니다.

if (isset($_POST['Question'])) 
    { 
     $menuVar = $_POST['Question']; 
    } else { 
     $menuVar = "----------"; 
    } 
+0

고정! 나는 완전히 fontFamily 비트를 놓쳤다! 그건 실수 였어. 나는 이것을 쓸모 없게하기 위해 시간을 보냈으며 단지 포기하려했다! 당신의 시간과 코드에 대해 정말 고마워요. 내 코딩 기술이 끔찍한만큼 내 포토샵 기술로 커뮤니티에 돌려 줄 것입니다! – Margate

+1

개발 환경의 PHP 구성에서주의 사항을 포함하여 error_reporting을 활성화하는 것이 좋습니다. 그러면이 문제를 쉽게 디버깅 할 수 있습니다. –

+0

글쎄, 내가 처음으로 PHP 교육을했을 때 나는 터미널 명령을 통해 로컬로 설정하고 오류보고를 구성했다. 문제는 그 이후에 나는 단지 이해하지 못했고 MAMP를 설치 한 아파치에 약간의 문제가 있었다. 그게 내가 지금 사용하는거야! 좋은 PHP 디버거를 알고 있습니까? 나는 확실히 하나 필요 ... 나는 일을하지 않을 때 스스로 가르치고 정말로 투쟁하고있다! 도와 주셔서 감사합니다.) – Margate