将参数通过php变量从表单传递到另一个php文件


Pass parameter through php vaiable from form to another php file

我有下一个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文件?

谢谢!

您正在使用的方法是post在表单更改为

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

,并在字段中添加name属性。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>

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

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

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

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

在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"];
?>

您已经设置了表单method="post"

因此,在提交表单之后,值应该是:
$uriValue = $_POST["uri1"];

$uriValue = $_GET["uri1"];

解决方案:

1)要么改变你的表单方法method="post",让你现有的代码工作。

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