我得到一个值php $_GET[],我想传递它作为一个简单的html输入元素的值。我知道我可以这样做:
<?
$value = $_GET['value'];
echo '<input type="text" name="value" value="'.$value.'" />';
?>
但是有没有办法把php从html中分离出来,把值赋给文本框而不回显它?
我想创建文本框作为常规html元素,只使用php在我设置其值的部分。
Iaroel的答案对我的目的来说更实用,但我喜欢接受的答案涵盖了许多问题的方式-我认为它对其他用户更有价值。
您不希望在$_GET['value']
变为未定义时出现错误。
<?php
$value = isset($_GET['value'] ? $_GET['value'] : '');
?>
<input type="text" name="value" value="<?php echo $value; ?>">
但是要注意可以插入$_GET['value']
的恶意数据,所以你必须对$value
应用适当的卫生
关于" $ _GET['价值']没有PHP "
您可以通过创建一个小的javascript函数来获得它,而无需PHP脚本:
<script type="text/javascript">
function $_GET(q,s) {
s = s ? s : window.location.search;
var re = new RegExp('&'+q+'(?:=([^&]*))?(?=&|$)','i');
return (s=s.replace(/^?/,'&').match(re)) ? (typeof s[1] == 'undefined' ? '' : decodeURIComponent(s[1])) : undefined;
}
</script>
那个正则表达式到底是什么?这只是一个与URL匹配模式的问题。
现在,您可以使用此$_GET()
方法将值分配给该文本框。在这个例子中,我使用了jQuery:
<script type="text/javascript">
$(document).ready(function() {
$('input[name="value"]').attr('value', $_GET('value'));
});
</script>
现在你的HTML代码就像这样简单:
<input type="text" name="value">
参考:http://www.onlineaspect.com/2009/06/10/reading-get-variables-with-javascript/
如果您不希望回显HTML中的任何内容,请使用Ajax调用来获取值。
$.ajax({
url: 'getValues.php',
type: 'post',
dataType: 'json',
success: function (json) {
if (json) {
$.each(json, function (k, v) {
$(k).val(v);
});
}
}
});
[PHP]
echo json_encode(array('#first_input_id' => 'val1', '#second_input_id' => 'val2', '.some_classes' => 'val5'));
或者如果值是静态的,你可以使用本地json文件
你的意思是这样吗?
<?php
$value = $_GET['value'];
?>
<input type="text" name="value" value="<?php echo $value;?>" />
或者这个(不建议):
<?php
$value = $_GET['value'];
?>
<input type="text" name="value" value="<?= $someVar ?>" />
但我建议查看模板引擎,例如http://www.smarty.net/
如果你的php配置允许短标签,你可以这样做:
<input type="text" name="value" value="<?=$_GET['value'];?>" />
您可以尝试不返回
<?php $value = $_GET['value'];?>
<input type = "text" name = "value" value="<?= $value; ?>" />
如果它对你的项目真的很重要,理想情况下你想把你的php代码从你的html标签中分离出来。这可以通过使用一些模板引擎来实现。
有一些众所周知的可用选项,如果您检查并查看哪一个最适合您的用例,那是最好的。
- 胡子
- Smarty
- 当然还有Twig
可以使用PHP的Heardoc选项。链接在这里。
http://www.hackingwithphp.com/2/6/3/heredoc