以下代码似乎不起作用,我想知道为什么?
<head>
<?php
$pageTitle = $_POST["title"];
"<title>". $pageTitle."</title>";
?>
</head>
我收到以下消息:
注意:未定义的索引:标题
我想要做的就是根据用户的输入设置网页的标题。
我忘了说我有两页。一个带有表单和一个php文件的HTML页面。 HTML文件具有以下形式:
<form action="executer.php" method="POST">
Titel: <input style="margin-left: 83px" type="text" name="titel"><br><br>
Achtergrondkleur: <select>
<option name="blauw" value="blauw">Blauw</option>
<option name="groen" value="groen">Groen</option>
<option name="geel" value="geel">Geel</option>
</select><br><br>
Lettertype: <input style="margin-left: 50px" type="radio" name="lettertype" value="ari">Arial<br>
<input style="margin-left: 124px" type="radio" name="lettertype" value="comi">Comic Sans<br>
<input style="margin-left: 124px" type="radio" name="lettertype" value="timi">Times New Roman<br><br>
Lettergrootte: <select style="margin-left: 32px">
<option name="5" value="5">5</option>
<option name="10" value="10">10</option>
<option name="15" value="15">15</option>
</select><br><br>
<input type="submit" name="verzenden" value="Verzenden!">
</form>
答案 0 :(得分:1)
我收到以下消息:注意:未定义索引:标题
A:表单中的元素没有name属性。
例如:
<input type="text" name="title">
^^^^^^^^^^^^
另外,请确保您的表单确实有POST方法。
即:
<form action="handler.php" method="post">
只是为了争论,你错过了echo
:
"<title>". $pageTitle."</title>";
还使用isset()
:
if(isset($_POST["title"])){
$pageTitle = $_POST["title"];
echo "<title>". $pageTitle. "</title>";
}
else{
$pageTitle = "<title>Title for page was not set.</title>";
echo $pageTitle;
}
将error reporting添加到文件的顶部,这有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:错误报告应仅在暂存时完成,而不是生产。
答案 1 :(得分:0)
<head>
<?php
$pageTitle = $_POST["title"];
echo "<title>". $pageTitle. "</title>";
?>
</head>