我有下一个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"];