2013-04-30 4 views
-3

양식에서 데이터를 가져와 내 코드에서 사용하는 데 문제가 있습니다. 이 옵션 페이지를 선택할 수 있습니다 :양식을 양식에서 가져 오는 중

 <form action="options.php" method="post"> 
     <label>Select number of options:</label> 
     <select name="options"> 
      <option value="2">2</option> 
      <option value="3">3</option> 
      <option value="4">4</option> 
     </select><br><br> 
     <input type="submit" name="next" value="Next"><br><br> 
    </form> 

을하고이

<?php 
    // put your code here 
    $options = $_POST['options']; 
    if (isset($_POST['submit'])) { 
     echo $options; 
    } 
    ?> 

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> 
     Fill in the following fields:<br><br> 
     <?php 
     //loop to prompt the user to enter options' details 
     for ($i = 1; $i <= $options; $i++) { 
      $optionName = "option$i"; 
      ?> 
      <?php echo 'Option ' . $i; ?><input type="text" name="<?php echo $optionName; ?>"/><br><br> 
      <?php 
     } 
     ?> 
     <input type="submit" name="submit" value="Next"/> 
    </form> 

은 어떻게 든 내가 작업을 얻을 수 options.php 페이지입니다. 그것은 나에게 "정의되지 않은 인덱스"오류를 계속 제공합니다. 나는 그것을 isset()으로 고치려고했다. 나는 여기서 잘못된 것을 계속하고 있지만 그것이 무엇인지를 모른다. 누군가 나를 도우 려니와 해결책을 찾거나 해결책을 얻는 방법을 제안 해 주시겠습니까? 나는 이것에 초보자이고 지난 주에 배우기 시작했습니다.

답변

0

귀하의 $options = $_POST['options'];$options = (isset($_POST['options']) ? $_POST['options'] : "");

0

당신은

<input type="submit" name="next" value="Next"><br><br> 

나중에 당신이

if (isset($_POST['submit'])) { 

은 입력 줄의 이름 확인이 있어야한다, 위로를 찾을 때 사용할 키는 값.

if (isset($_POST['next'])) { 
+0

저는 알고 있습니다. 당신이 아마 내가 무슨 말을했는지 이해하지 못했을거야. 두 페이지 있습니다. 첫 번째 페이지는 chooseoptions.php 페이지이며 "두 번째"버튼에는 "제출"버튼이 있습니다. –

0

시작하려면 $_POST['submit']은 해당 필드에 게시 할 항목이 없으므로 설정되지 않습니다.

디버깅을 원한다면 모든 결과물을 게시하여 시작합시다. 다음과 같이 print_r($_POST);을 수행하면됩니다.

그러면 어떤 POST 필드를 사용할 수 있는지 쉽게 볼 수 있으며 거기에서 프로젝트를 계속 코딩 할 수 있습니다.

+0

공유해 주셔서 감사합니다. 이제이 배열을 사용하여 사용자가 선택한 옵션의 수를 얻고 코드에서 사용할 수 있다고 생각합니다. –

1

코드 시작 부분에이 코드를 넣으면 실제로 게시 된 내용을 볼 수 있습니다 (get 값도 표시됨). 이러한 형식은 Get 및 Post 값을 멋지게 형식화합니다. 나는 항상 그들을 사용한다. 실제로 게시 된 것을보고 나면 예상하지 못한 것을 볼 수 있습니다.

echo("<br><br>Get contents:"); echo("<pre>" . print_r($_GET, 1) . "</pre>"); 
echo("<br>Post contents:"); echo("<pre>" . print_r($_POST, 1) . "</pre>"); 
exit; 
관련 문제