2014-12-19 3 views
1

Прошу за ваш вклад в том, как отправить переменную в другой сайт PHP через URL:PHP: Передача переменной из раскрывающегося списка URL

<form action="deny.php" method="get"> 
 
    <div align="left"></div> 
 
    <p><span class="style13" style="height: 23px;"> 
 
    <select name="deny" class="style28" style="width: 320px"> 
 
     <option value="Select" selected="selected">Select</option> 
 
     <option value="Price">Too expensive</option> 
 
     <option value="Agency">Other Agency</option> 
 
    </select> 
 
    </span></p> 
 
    <p><span class="style13" style="height: 23px;"> 
 
    <input type="hidden" name="id" value=<? echo $id; ?> /> 
 
    </span> </p> 
 
    <p> 
 
    <? echo '<td><a href="deny.php?submit='.$id.'&deny='.$_GET['deny'].'">Send Feedback</a></td>'; ?> 
 
    </p> 
 
</form>

$id является правильным, но $deny пусто

Я даже пробовал с $deny (instead of $_GET['deny']) and $_POST[deny] - но $deny всегда пуст. (можно контролировать по ссылке)

Спасибо за ваши предложения!

BR,

Стефан

+0

Вы не можете использовать ссылку для отправки (без js) формы, изменить на donald123

ответ

1

$_GET['deny'] не будет заполняться, пока вы не отправите форму в текущем сценарии.

Не пытайтесь использовать PHP для создания URL-адреса. Пусть браузер сделает это. Просто поместите кнопку отправки в форму и получите соответствующие входные данные и действия. Для этого нужны формы.

1
<form action="deny.php" method="get"> 
    <div align="left"></div> 
    <p><span class="style13" style="height: 23px;"> 
    <select name="deny" class="style28" style="width: 320px"> 
     <option value="Select" selected="selected">Select</option> 
     <option value="Price">Too expensive</option> 
     <option value="Agency">Other Agency</option> 
    </select> 
    </span></p> 
    <p><span class="style13" style="height: 23px;"> 

    </span> </p> 
    <p> 
    <input type="submit" value="submit"> 
    </p> 
</form> 
+0

Благодарим вас за ваши комментарии и предложения. Я попробовал это с помощью этого эха ""; теперь все будет передано, но имя кнопки - это значение идентификатора, а не имя «отправить отзыв» ... :-) – Bosstone

+0

какой текст вы хотите отображать на кнопке? –

0
<form action="deny.php" method="get"> 
    <div align="left"></div> 
    <p> 
     <span class="style13" style="height: 23px;"> 

      <select name="deny" class="style28" style="width: 320px"> 
       <option value="Select" selected="selected">Select</option> 
       <option value="Price">Too expensive</option> 
       <option value="Agency">Other Agency</option> 
      </select> 
     </span> 
    </p> 
    <p> 
     <span class="style13" style="height: 23px;"> 
       <input type="hidden" name="id" value="<?php echo $id; ?>" /> 
     </span> 
    </p> 
    <p> 
     <input type="submit" value="Send Feedback" value="submit" /> 
    </p> 
</form> 

<?php 
     if (isset($_GET)) { 
      var_dump($_GET); 
     } 
?> 
0
<form action="/deny.php?id=<? $id ?>" method="get"> 

<input name="submit" type="submit" value="Feedback" /> 

ли трюк :-)

Спасибо,

Стефан

0

Попробуйте это, он был протестирован.

<form action="your_page.php" method="GET"> <!--you may use POST for security as well --> 
     <select name="deny"> 
     <option value="">Select Option</option> 
     <option value="Price">Too expensive</option> 
     <option value="Agency">Other Agency</option> 
     </select> 
     <!-- you msut have $id = something --> 
     <input type="hidden" name="id" value="<?php echo $id; ?>" /> 
     <input type="submit" value="Send Feedback" value="submit" /> 
    </form> 

<?php 
     echo "<pre>";print_r(($_GET)); 
?> 
2

Замените код ниже:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<form action="deny.php" method="get"> 
    <div align="left"></div> 
    <p><span class="style13" style="height: 23px;"> 
    <select name="deny" class="style28" style="width: 320px"> 
     <option value="Select" selected="selected">Select</option> 
     <option value="Price">Too expensive</option> 
     <option value="Agency">Other Agency</option> 
    </select> 
    </span></p> 
    <p><span class="style13" style="height: 23px;"> 
    <input type="hidden" name="id" value="<?php echo $id; ?>" /> 
    </span> </p> 
    <p> 
    <a href="#" id="feedbackLink">Send Feedback</a> 
    </p> 
</form> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('select[name="deny"]').change(function(){ 
      var link = 'deny.php?submit=<?php echo $id; ?>&deny='; 
      $('a#feedbackLink').attr('href', link + $(this).val()); 
     }); 
     $('select[name="deny"]').trigger('change'); 
    }); 
</script> 

Вы не можете использовать $ _GET, $ _POST, и т.д. переменные без отправки формы.

Надеюсь, что это решит вашу проблему.

Смежные вопросы