【问题标题】:Pass parameter through php vaiable from form to another php file通过 php 变量将参数从表单传递到另一个 php 文件
【发布时间】:2016-01-12 10:54:13
【问题描述】:

我有下一个 html 表单:

<form class="form-horizontal" action="frames1.php" method="post">
                    <div class="form-group">
                        <label for="uri1" class="control-label">URL:</label>
                        <div class="controls">
                            <input type="text" id="uri1" placeholder="www.ejemplo.com">
                        </div>
                    </div>                  
                    <div class="modal-footer">
                        <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
                        <input type="submit" class="btn btn-primary" id="submit" value="Visualizar" />
                    </div>
</form>

我想将文本框“uri1”中的值传递给 php 变量。

那是我的 frames1.php:

<?php
 $uriValue = $_GET["uri1"];
?>

<script>
var uri = '<?php echo $uriValue;?>';
alert(uri);
</script>

但是系统给我显示的是“”,而不是我之前在表单中输入的值。

如何将文本框中的值传递到 php 文件中读取?

谢谢!

【问题讨论】:

    标签: php forms parameter-passing


    【解决方案1】:

    您正在使用方法作为表单中的帖子,将其更改为

    <?php
        $uriValue = $_POST["uri1"];
     ?>
    
    <script>
        var uri = '<?php echo $uriValue;?>';
        alert(uri);
    </script>
    

    并将名称属性添加到您的字段。 name="uri1"

    也就是说,

    <form class="form-horizontal" action="frames1.php" method="post">
         <div class="form-group">
              <label for="uri1" class="control-label">URL:</label>
                 <div class="controls">
                      <input type="text" id="uri1" name="uri1" placeholder="www.ejemplo.com">
                  </div>
          </div>                  
          <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
                    <input type="submit" class="btn btn-primary" id="submit" value="Visualizar" />
           </div>
    </form>
    

    Here 是工作链接。

    【讨论】:

    • 它继续失败。它没有读取我在表单上放置的值。它显示来自 uri 变量的字符串。
    • 先把get替换成post,别忘了加上name属性。
    • 我已经完成了你所说的一切,但没有工作。我不明白是否是一个使用 php 和表单 POST 的简单示例。
    • 在 freames1.php,print_r($_POST();,看看你得到了什么。
    • 我已经添加了完整的代码。它为我工作。破解一次。
    【解决方案2】:

    在 HTML 和 PHP 代码中存在一个错误,您必须为输入字段命名。当表单提交到服务器时,它将使用 HTML 输入字段名称识别获取值,如果您以 HTML 格式发布表单,那么您必须使用相同的方法来获取值。

    尝试用您的代码替换下面的代码:

    <form class="form-horizontal" action="frames1.php" method="post">
                        <div class="form-group">
                            <label for="uri1" class="control-label">URL:</label>
                            <div class="controls">
                                <input type="text" name="uri1" id="uri1" placeholder="www.ejemplo.com">
                            </div>
                        </div>                  
                        <div class="modal-footer">
                            <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
                            <input type="submit" class="btn btn-primary" id="submit" value="Visualizar" />
                        </div>
    </form>
    

    来到你的frames1.php:

    <?php
     $uriValue = $_POST["uri1"];
    ?>
    
    <script>
    var uri = '<?php echo $uriValue;?>';
    alert(uri);
    </script>
    

    让我知道仍未解决。

    HTML 文件中的差异是:

     <input type="text" name="uri1" id="uri1" placeholder="www.ejemplo.com">
    

    您没有提及名称,那么服务器将无法识别该元素。

    在 PHP 中: 您使用 POST 方法但使用 _GET[] 获取值,两者都是不兼容的方法。所以你不会得到表单提交的值

    <?php
     $uriValue = $_POST["uri1"];
    ?>
    

    【讨论】:

    • @nameless,用解释更新了我的答案
    【解决方案3】:

    您通过POST 发送表单,但在您的frames1.php 文件中,您尝试使用$_GET 获取内容。所以你要做的就是把GET改成POST,所以看起来像

    <?php
       $uriValue = $_POST["uri1"];
    ?>
    

    还有一个更大的问题是,你的输入没有名字,参数只能被名字引用,不能被ID引用。所以你的输入应该是这样的:

    <input type="text" id="uri1" name="uri1" placeholder="www.ejemplo.com">
    

    【讨论】:

    • 继续失败...通过的值为空值
    • 你都改了吗?那么使用$_POST 而不是$_GET 并为您的输入命名?
    • 顺便问一下,为什么你在表单中使用modal footer,而你根本没有模态?
    • 无论如何,如果还不行,你应该尝试一些调试,所以首先查看你的网络资源管理器,如果该值真的设置了。您可以通过按 F12 来执行此操作(在大多数浏览器中),然后转到 Network。在那里,您可以单击页面并查看通过表单传输的数据。如果它在那里,请先尝试回显变量,然后再“传输”到 javascript,并告诉我们结果
    • 感谢您的解决方案。最后,我将操作从传递 url 的表单更改为一个新的 html 文件,因此我在其中解析 uri,它让我可以做我想做的事。
    【解决方案4】:

    您已设置表单method="post"

    因此,在您的表单提交后,该值应为:

    $uriValue = $_POST["uri1"];
    

    没有

    $uriValue = $_GET["uri1"];
    

    解决方案:

    1) 更改您的表单方法method="post" 以使您现有的代码正常工作。

    2) 将$uriValue = $_GET["uri1"]; 更改为$uriValue = $_POST["uri1"];

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多