Php 将值从一种形式传递到另一种形式-一种奇怪的情况
请查看以下代码:Php 将值从一种形式传递到另一种形式-一种奇怪的情况,php,forms,post,get,Php,Forms,Post,Get,请查看以下代码: <?php $nomeDominio=''; if (isset($_GET['infoDominio'])) { $nomeDominio = $_GET['nomeDominio']; echo "I'm getting ".$nomeDominio; } if (isset($_POST['atualizarDominio'])) { echo "I'm posting ".$no
<?php
$nomeDominio='';
if (isset($_GET['infoDominio']))
{
$nomeDominio = $_GET['nomeDominio'];
echo "I'm getting ".$nomeDominio;
}
if (isset($_POST['atualizarDominio']))
{
echo "I'm posting ".$nomeDominio;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Test Case 99</title>
</head>
<body>
<form name="infoDominio" action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" method="get">
<input id="nome_dominio" type="text" name="nomeDominio" value="<?php echo $nomeDominio; ?>"/>
<br />
<button name="infoDominio" type="submit">Obtem informacao</button>
</form>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" name="atualizarDominio" method="post">
<input type="hidden" value="<?php echo $nomeDominio ?>" name="nome-dominio"/>
<br />
<button type="submit" name="atualizarDominio">atualizar domínio</button>
</form>
</body>
</html>
您缺少此处带有此注释的行
您想将_GET['nomeDominio']从第一个表单传递到第二个表单的隐藏字段,对吗?然后,当我们提交第二个表单时,您再次回显nomeDominio的值(从第二个表单的隐藏字段)。
您可以在$_POST中找到丢失和分配的位置:$nomeDominio=$_POST['nomeDominio']
好了。如果你不明白,我不知道该怎么说
您缺少此处带有此注释的行
您想将_GET['nomeDominio']从第一个表单传递到第二个表单的隐藏字段,对吗?然后,当我们提交第二个表单时,您再次回显nomeDominio的值(从第二个表单的隐藏字段)。
您可以在$_POST中找到丢失和分配的位置:$nomeDominio=$_POST['nomeDominio']
好了。如果你不理解,我不知道如何说不同。你前后矛盾。顶部表单使用nome-dominio
作为元素名称,底部表单使用nome-dominio
。我的直觉是,这就是为什么一个出现而另一个不出现的原因,你使用了错误的名称
编辑
进一步阐述:
if (isset($_POST['nomeDominio']))
{
echo "I'm posting ".$_POST['nomeDominio'];
}
替换该代码,并假设您选择了nomeDominio
作为名称,那么应该可以工作 你前后矛盾。顶部表单使用nome-dominio
作为元素名称,底部表单使用nome-dominio
。我的直觉是,这就是为什么一个出现而另一个不出现的原因,你使用了错误的名称
编辑
进一步阐述:
if (isset($_POST['nomeDominio']))
{
echo "I'm posting ".$_POST['nomeDominio'];
}
替换该代码,并假设您选择了nomeDominio
作为名称,那么应该可以工作 如果我理解正确,您希望能够通过POST
方法传播$\u GET
值。可以通过将查询字符串附加到第二个POST
表单的action属性来完成此操作:
<form action="<?php echo htmlentities($_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING'] );?>" name="atualizarDominio" method="post">
如果我理解正确,您希望能够通过POST
方法传播$\u GET
值。可以通过将查询字符串附加到第二个POST
表单的action属性来完成此操作:
<form action="<?php echo htmlentities($_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING'] );?>" name="atualizarDominio" method="post">
您犯了两个错误。第一个错误
if (isset($_POST['atualizarDominio']))
{
$nomeDominio = $_POST['nomeDominio']; ///Here
echo "I'm posting ".$nomeDominio;
}
第二个错误
<input type = "hidden" value="<?php echo $nomeDominio; ?>" name="nomeDominio"/><br/>
name="nome-dominio" //This is another Mistake
name="nomedominio" //use it
您犯了两个错误。第一个错误
if (isset($_POST['atualizarDominio']))
{
$nomeDominio = $_POST['nomeDominio']; ///Here
echo "I'm posting ".$nomeDominio;
}
第二个错误
<input type = "hidden" value="<?php echo $nomeDominio; ?>" name="nomeDominio"/><br/>
name="nome-dominio" //This is another Mistake
name="nomedominio" //use it
谢谢你。然而,我没有跟上。请耐心等待。我把两个名字都写上了。“问题”仍然完全相同。您可以复制/粘贴代码以查看它。请查看我关于问题的附加说明。非常感谢,谢谢你。然而,我没有跟上。请耐心等待。我把两个名字都写上了。“问题”仍然完全相同。您可以复制/粘贴代码以查看它。请查看我关于问题的附加说明。非常感谢。这是表格的名字。你可以自由复制粘贴这段代码,这样你自己就可以看到它了。我的意思是因为它失败了。试试我的方法。@Iznogood-我会试试正确的方法。与此同时,我应该期待什么?这个案子的“解决方案”是什么?我错了。看看我的答案,答案就在那里,你错过了一个作业。@Iznogood-我测试了你之前的建议,得到了同样的结果。我现在要测试你的新电脑。:)这是表格的名字。你可以自由复制粘贴这段代码,这样你自己就可以看到它了。我的意思是因为它失败了。试试我的方法。@Iznogood-我会试试正确的方法。与此同时,我应该期待什么?这个案子的“解决方案”是什么?我错了。看看我的答案,答案就在那里,你错过了一个作业。@Iznogood-我测试了你之前的建议,得到了同样的结果。我现在要测试你的新电脑。:)不,你没有正确地理解我。:)我不想解决任何问题。我想知道为什么它会这样。查看关于该问题的补充说明。:)不,你没有正确地理解我。:)我不想解决任何问题。我想知道为什么它会这样。查看关于该问题的补充说明。:)-1没有任何理由。那太粗鲁了(+1,这个问题没有错。没有什么比沉默的投票人更糟糕的了!@Abe Miessler:谢谢你的正义感。@All:如果有人,出于任何原因,碰巧有这个问题或困惑,似乎这个问题与我们的按钮名和表单名彼此相等这一事实有关,导致浏览器端的不一致。-但这还没有得到证实。-1没有任何理由。那太粗鲁了(+1,这个问题没有错。没有什么比沉默的投票人更糟糕的了!@Abe Miessler:谢谢你的正义感。@All:如果有人,出于任何原因,碰巧有这个问题或困惑,似乎这个问题与我们的按钮名和表单名彼此相等这一事实有关,导致浏览器端的不一致。-但这一点尚未得到证实。