2015-09-22 6 views
-1

Я пытаюсь получить переменную из ссылки (в основном, невидимая кнопка), однако, когда я попадаю на перенаправленную страницу, она всегда совпадает с той же переменной $ _POST, которую она показывает. Я проверил, установлен ли он до или после цикла for, и это не так. Я также распечатывал значения в цикле for, и они разные, как и должно быть. Я также попытался отключить переменную внизу страницы перенаправления после использования. Теперь у меня совершенно нет идей ... что делать?

<form method="post" action="http://localhost:8888/wordpress/job-openings/view-job/"> 
       <table> 
        <tr> 
         <th>Job ID</th> 
         <th>Position</th>  
         <th>Client</th> 
         <th>Recruiter</th> 
        </tr> 
         <? for($i = 0; $i < count($rowArray); $i++) { ?> 
          <? $positionStatus = $data->response->result->JobOpenings->row[$i]->FL[8]->content; 
           $recruitmentResponsible = $data->response->result->JobOpenings->row[$i]->FL[7]->content; 
           $recruitmentResponsibleTweak = current(explode("(", $recruitmentResponsible)); 
           $job_opening_id = $data->response->result->JobOpenings->row[$i]->FL[0]->content; 
           $request_url = 'http://recruit.zoho.com/ats/private/json/JobOpenings/getRecordById?authtoken=xxx&scope=recruitapi&id=' . $job_opening_id; 
          if ($positionStatus == 'In-progress') { 
           ?> 
           <tr> 
            <td> 
             <input type="hidden" name="job_id" value="<?php echo $request_url ?>" /> 
              <button id="jobopening-link"> 
               <? echo $data->response->result->JobOpenings->row[$i]->FL[4]->content; ?> 
              </button> 
            </td> 
            <td><? echo $data->response->result->JobOpenings->row[$i]->FL[5]->content; ?></td> 
            <td><? echo $data->response->result->JobOpenings->row[$i]->FL[6]->content; ?></td> 
            <td><? echo $recruitmentResponsibleTweak ?></td> 
           </tr> 
          <? } 
         } ?> 
       </table> 
      </form> 
+1

Вы можете оставить соответствующий код? потому что то, что вы разместили, не очень полезно – x4rf41

+1

* Расмус Лердорф, это вы? Надеюсь, что нет. * –

+1

Возможно, я был Расмусом Лердорфом. – Rasmus

ответ

1

Во-первых, в вашем коде нет ссылки на $_POST. Во-вторых, причина, по которой вы всегда получаете одно и то же значение, состоит в том, что вы всегда устанавливаете одинаковое точное имя для скрытого ввода, а когда форма отправляется, вы получите только первый ввод с этим именем. Мое предложение, чтобы переместить форму тег внутри цикл, таким образом, вы будете создавать множество форм, и каждый из них будет иметь кнопку и соответствующее значение представить в скрытом ввода:

<table> 
    <tr> 
     <th>Job ID</th> 
     <th>Position</th> 
     <th>Client</th> 
     <th>Recruiter</th> 
    </tr> 
    <? for($i = 0; $i < count($rowArray); $i++) { ?> 
    <form method="post" action="http://localhost:8888/wordpress/job-openings/view-job/"> 
     <? $positionStatus = $data->response->result->JobOpenings->row[$i]->FL[8]->content; 
     $recruitmentResponsible = $data->response->result->JobOpenings->row[$i]->FL[7]->content; 
     $recruitmentResponsibleTweak = current(explode("(", $recruitmentResponsible)); 
     $job_opening_id = $data->response->result->JobOpenings->row[$i]->FL[0]->content; 
     $request_url = 'http://recruit.zoho.com/ats/private/json/JobOpenings/getRecordById?authtoken=xxx&scope=recruitapi&id=' . $job_opening_id; 
     if ($positionStatus == 'In-progress') { 
     ?> 
     <tr> 
      <td> 
       <input type="hidden" name="job_id" value="<?php echo $request_url ?>" /> 
       <button id="jobopening-link"> 
        <? echo $data->response->result->JobOpenings->row[$i]->FL[4]->content; ?> 
       </button> 
      </td> 
      <td><? echo $data->response->result->JobOpenings->row[$i]->FL[5]->content; ?></td> 
      <td><? echo $data->response->result->JobOpenings->row[$i]->FL[6]->content; ?></td> 
      <td><? echo $recruitmentResponsibleTweak ?></td> 
     </tr> 

     <? } ?> 
    </form> 
    <? } ?> 
</table> 
+0

Да! Конечно, мне просто пришлось переместить его в петлю. Благодарю. Но почему вы говорите, что в моем коде нет ссылки на $ _POST? Недостаточно ли указывать метод формы? – Rasmus

0

и тип входного = "Отправить"???

захватить содержимое $ _POST:

<?php 
if (isset($_POST['job_id'])) { 
echo 'Do something for this job Id.'; 
} 
?> 
Смежные вопросы