我的代码非常简单,但它无法正常工作。它曾经工作,但后来我改变了一些东西,现在我又回到了基础。你们能明白为什么它不起作用吗?
客户代码
<h1>Logg inn</h1>
<form method="get" action="herpaderp.php">
<input type="text" class="form-control" id="title" value="Testtittel">
<input type="text" class="form-control" id="desc" value="Testbeskrivelse">
<input type="text" class="form-control" id="src" value="lollolol.jpg">
<button type="submit" class="btn btn-primary">Logg inn</button>
</form>
服务器代码:
<?php
if(isset($_GET["title"]))
echo $_GET["title"];
if(isset($_GET["desc"]))
echo $_GET["desc"];
if(isset($_GET["src"]))
echo $_GET["src"];
?>
答案 0 :(得分:6)
简单,您的表单元素需要命名,而不是ID。
你有id="title"
但它应该是name="title"
(添加到你现有的内容中)
您可以使用id="title"
,但请确保您还包含name="title"
( A lookahead )=&gt;我还注意到您使用desc
这个词时要小心,如果您将其与数据库结合使用,因为desc
是一个MySQL reserved word,就是这样说的。
一个例子:
以下内容将引发错误:
"INSERT INTO yourTable (desc) VALUES ('value')"
正确的方法:(使用列名称周围的勾号字符)
"INSERT INTO yourTable (`desc`) VALUES ('value')"
答案 1 :(得分:2)
您似乎在html表单中进行了更改,或者您还没有使用名称属性
<h1>Logg inn</h1>
<form method="get" action="herpaderp.php">
<input type="text" class="form-control" id="title" name='title' value="Testtittel">
<input type="text" class="form-control" id="desc" name='desc' value="Testbeskrivelse">
<input type="text" class="form-control" id="src" name='src' value="lollolol.jpg">
<button type="submit" class="btn btn-primary">Logg inn</button>
</form>
您可以使用php代码(但它与您的相同)
<?php
if(isset($_GET["title"])) echo $_GET["title"];
if(isset($_GET["desc"])) echo $_GET["desc"];
if(isset($_GET["src"])) echo $_GET["src"];
?>
答案 2 :(得分:2)
$_GET[]
将name="";
属性设为id=""
。
所以你的代码将成为:
<h1>Logg inn</h1>
<form method="get" action="herpaderp.php">
<input type="text" class="form-control" id="title" name="title" value="Testtittel">
<input type="text" class="form-control" id="desc" name="desc" value="Testbeskrivelse">
<input type="text" class="form-control" id="src" name="src" value="lollolol.jpg">
<button type="submit" class="btn btn-primary">Logg inn</button>
</form>
答案 3 :(得分:1)
根据建议,使用id=
name=
PHP处理 POST 和 GET 变量的功能是自动解码索引形式的变量名称。
<?php
//display the POST or GET parameter
var_dump($_POST);
?>
输出
//will get you something like:
array('title'=>'john','description'=>'smith')
但要使这个$ _POST工作
您必须以(action="http://example.php"
)
要显示提交的数据,您可以在“ example.php ”中<{1}}