将值从$ _GET传递到$ _POST

时间:2016-04-21 02:54:47

标签: php

所以,我有一个禁用的电子邮件表单字段,其占位符和值是从$ _GET ['email']中检索的:

<input name="email" type="text" placeholder="<?php if(isset($_GET['email'])) echo $_GET['email']; ?>" value="<?php if(isset($_GET['email'])) echo $_GET['email']; ?>" disabled>

当用户填写表单时,我希望$ _POST ['email']具有电子邮件值,但它不会(它是空的)。我错过了什么/遗忘了什么?是否有一种巧妙的方法来传递这个价值?谢谢!

6 个答案:

答案 0 :(得分:3)

将属性禁用更改为只读,因为已停用未提交值..

<input name="email" type="text" placeholder="<?php if(isset($_GET['email'])) echo $_GET['email']; ?>" value="<?php if(isset($_GET['email'])) echo $_GET['email']; ?>" readonly>

答案 1 :(得分:3)

正如Cuchu所述,您可以使用readonly而非禁用。或者您可以复制该字段并将类型更改为隐藏。

{{1}}

答案 2 :(得分:1)

我认为最好使用readonly属性,而不是禁用输入。

<input name="email" type="text" placeholder="<?php if(isset($_GET['email'])) echo $_GET['email']; ?>" value="<?php if(isset($_GET['email'])) echo $_GET['email']; ?>" readonly="readonly">

答案 3 :(得分:0)

占位符是提示,而不是值。如果您希望textfield具有电子邮件的值,请使用&#34; value&#34;属性,而不是&#34;占位符&#34;。

答案 4 :(得分:0)

您应该将其封装在表单标记中,并将方法设置为发布为

<form method="post" action="register.php">
    <input type="text" value="<?php if(isset($_GET['email'])) echo $_GET['email']; ?>" disabled>
    <input name="email" type="hidden" value="<?php if(isset($_GET['email'])) echo $_GET['email']; ?>">
</form>

答案 5 :(得分:0)

  //try this
<form method="post">
<input type="text" name="email"><input type="submit" value="click" name="btnClick" id="btnClick">
<input type="text" name="email1" placeholder="inserted value" value="<?php echo (isset($_POST['email']))? $_POST['email'] : "" ?> ">      
</form>