PHP变量通过提交表单 -

时间:2016-02-05 22:45:44

标签: php html forms variables

在开始之前,this的副本。这对我没有任何帮助。

我试图从html表单的输入创建一个php变量。 这是我的代码,我粗略地从某个网站复制了某地,大概是

<form method="post">
Word: <input type="text" name="name"><br>
<input action="welcome.php" type="submit">
</form>
<audio src="http://ssl.gstatic.com/dictionary/static/sounds/de/0/"<?php echo $_POST["name"]; ?>".mp3" loop="1" autoplay="1"></audio>

另外一件事,因为我点击了复制然后粘贴,我不知道welcome.php实际上是什么。由于这个可怕的网站实际上没有指示我。我试过没有这条线,但遗憾的是,无济于事。

如果您想了解我的意思,请点击here

PS:请不要问为什么我这样做。这是一个内心的笑话,将秘密放置在许多地方。

非常感谢提前,

2 个答案:

答案 0 :(得分:1)

<form method="post" action=''>
    Word: <input type="text" name="name"><br>
    <input value='submit' type="submit">
</form>

<?php if(isset($_POST['name'])) { //Isset checks if $_POST['name'] exists (has been posted) ?>
<audio src="http://ssl.gstatic.com/dictionary/static/sounds/de/0/"<?php echo htmlentities($_POST["name"]); ?>".mp3" loop="1" autoplay="1"></audio>
<?php } ?>

如果您想将name的值分配给变量,请在页面上执行以下操作:

if(isset($_POST['name'])) //If the value has been posted, assign it to a variable.
{
    $myvariable = $_POST['name'];
}

操作将回发到主页面,在表单上使用操作将帖子定向到特定页面(不输入任何内容并将其发布到当前页面)并且不在输入上使用。确保你也在任何帖子输入上使用htmlentities,否则它将容易受到XSS的攻击。一旦有名字发布,这也只有音频文件。

让我们逐行分解: <form method="post" action=''> 该表单使用POST方法posts the data到下一页抓取$_POST

Word: <input type="text" name="name"><br> 这是$_POST['name']来自的地方。名称是输入的名称,它会发布到下一页,可以使用$_POST抓取。

<input value='submit' type="submit">单击提交按钮后,数据将发布到下一页。

</form>关闭表格

<?php if(isset($_POST['name'])) { ?> Isset检查$ _POST ['name']是否存在(已发布)

<?php echo htmlentities($_POST["name"]); ?>将名称回显到页面上。

答案 1 :(得分:0)

你快到了。表单操作属性需要放在<form>标记中,而不是其输入标记之一。如果您希望在用户点击提交按钮时将其返回到同一页面,请将php文件的名称放在action属性中,如下所示:

<form method="post" action=" nameOfThisFile.php ">
  Word: <input type="text" name="name"><br>
  <input type="submit" value="Submit">
</form>