从HTML表单构建URL

时间:2014-03-11 14:28:28

标签: php

从表单链接到URL的最简单方法是什么?

表单示例:

    <form class="form-horizontal" role="form" action="chat" method="post">
    <fieldset>

    <!-- Text input-->
    <div class="form-group">
      <label class="col-sm-2 control-label" for="nickname">Nickname</label>
      <div class="col-sm-10">
          <input id="nickname" name="nickname" type="text" placeholder="Nickname" class="form-control" required="required">
      </div>
    </div>

    <!-- Text input-->
    <div class="form-group">
      <label class="col-sm-2 control-label" for="age">Age</label>
      <div class="col-sm-10">
        <select id="age" name="age" class="form-control">
          <option value=""></option>
          <?php 
            for($value = 18; $value <= 100; $value++){ 
              echo('<option value="' . $value . '">' . $value . '</option>');
            }
          ?>
        </select>
      </div>
    </div>

    <!-- Multiple Radios -->
    <div class="form-group">
      <label class="col-sm-2 control-label" for="gender">Gender</label>
      <div class="col-sm-10">
        <label class="radio" for="gender-0">
          <input type="radio" name="gender" id="gender-0" value="Female" required="required">
          Female
        </label>
        <label class="radio" for="gender-1">
          <input type="radio" name="gender" id="gender-1" value="Male" required="required">
          Male
        </label>
      </div>
    </div>

    <!-- Select Basic -->
    <div class="form-group">
      <label class="col-sm-2 control-label" for="location">Location</label>
      <div class="col-sm-10">
        <select id="location" name="location" class="form-control">
          <option value=""></option>
          <option value="Canada">Canada</option>
          <option value="France">France</option>
          <option value="Germany">Germany</option>
          <option value="Italy">Italy</option>
          <option value="Mexico">Mexico</option>
          <option value="Russia">Russia</option>
          <option value="Spain">Spain</option>
          <option value="United Kingdom">United Kingdom</option>
          <option value="United States">United States</option>
        </select>
      </div>
    </div>

    <!-- Multiple Checkboxes (inline) -->
    <div class="form-group">
      <label class="col-sm-2 control-label" for="checkbox"></label>
      <div class="col-sm-10">
        <label class="checkbox inline" for="checkbox-0">
          <input type="checkbox" name="checkbox" id="checkbox-0" value="I agree to the Terms of Use" required="required">
          I agree to the <a href="legal.php">Terms of Use</a>
        </label>
      </div>
    </div>

    <!-- Button -->
    <div class="form-group">
      <label class="col-sm-2 control-label" for="button"></label>
      <div class="col-sm-offset-2 col-sm-10">
        <button id="button" name="button" class="btn btn-lg btn-success" type="submit">Enter Chat</button>
      </div>
    </div>

    </fieldset>
    </form>

那么如何创建一个URL,例如:

start.php?nickname=Steve&age=18&gender=male&location=United%23Kingdom

由于

史蒂夫

4 个答案:

答案 0 :(得分:2)

您可以使用<form method="get">执行此操作,也可以连接所有$ _POST参数,然后重定向。

答案 1 :(得分:2)

通过说get

将您的表单方法更改为<form method="get">

每个表单字段及其值都将作为&field=value

附加到网址

GETPOST是两种不同的发送数据的方法。但请注意,只有在您不发送安全信息时才应使用GET。密码,信用卡号,帐号和其他机密信息等数据只能与POST一起发送。为什么?仅仅因为该数据显示在URL中。 POST是另一种方法。服务器处理POST请求,并将所有字段及其相应的值存储在某处,以便您可以在表单提交的页面上访问它们。

答案 2 :(得分:0)

将您的第一行更改为:

<form class="form-horizontal" role="form" action="start.php" method="get">
  • action中,键入要将表单发布到的页面的路径和名称。在您的示例start.php

  • 如果您希望在网址中发送表单值,请在method中键入get

答案 3 :(得分:0)

像其他人说的那样,method='get'是最好的方式 但你也可以在jquery中创建这样的东西:

$(document).ready(function(){
  $('#button').click(function(){
    var str = $( "form" ).serialize();
    window.open('start.php?'+str );
   });
});