我正在尝试创建一个表单,回应用户输入的任何名称'字段,但是,我无法弄清楚为什么当我添加if
语句时,代码中没有任何内容出现。
这是我的index.php
代码:
<?
if (empty($_POST['name'])) {
echo "Hello world!";
} else {
echo "Hello $_POST['name']";
}
?>
<html>
<head>
<?php include 'header.php'; ?>
</head>
<body>
<form action="index.php" method="post">
<p>Name: <input type="text" name="name"></p>
<input type="submit" name="submit" value="Go">
</form>
</body>
<footer>
<?php include 'footer.php'; ?>
</footer>
</html>
答案 0 :(得分:4)
将数组添加到echo中的有效语法是:
echo "Hello {$_POST['name']}";
或者使用以下方法连接它:
echo "Hello " . $_POST['name'];
参考:echo
答案 1 :(得分:0)
确保在调试时启用错误:
error_reporting(E_ALL);
ini_set('display_errors', 1);
问题,似乎是PHP短标记<?
可能未启用,尝试使用<?php
或在php.ini
启用短标记
答案 2 :(得分:0)
该页面正在使用您的表单重新加载index.php。将<form action="index.php" method="post">
更改为<form action="" method="post">
答案 3 :(得分:0)
你不能在“”引号内回显数组。
试试这个(var in {}):
echo "Hello {$_POST['name']}";
或者这个(使用字符串运算符):
echo "Hello " . $_POST['name'];