我是PHP的新手,所以我需要一些项目帮助。
我在页面上有一个用户写入其内容和名称的表单,如下所示:
<div class="white shadow padding-10 margin-bottom">
<form class="form xl relative" method="POST" action="
<?php echo $_SERVER['PHP_SELF']; ?>
">
<div class="col-1 col-persist -margin">
<img class="pull-left width-100 round" src="images/logo.gif" alt = "logo"/>
</div>
<div class="col-9 col-persist gutter-h-10 padding-top-5 -margin">
<textarea placeholder="What is new?" name="content"></textarea>
<input type="text" name="name" placeholder="What is your name?">
</div>
<div class="col-2 col-persist -margin">
<input type="button" name="submit" value="Send">
</div>
</form>
</div>
PHP_SELF我用来留在同一页面
在php部分我有这个:
$userName = "";
$userInput = "";
if($_SERVER["REQUEST_METHOD"] === "POST"){
$userName = $_POST['name'];
$userInput = $_POST["content"];
}
if(isset($_POST)){
echo '<div class="white shadow padding-10 margin-bottom">';
echo '<form class="form xl relative" method="POST">';
echo '<div class="col-1 col-persist -margin">';
echo '<img class="pull-left width-100 round" src="images/logo.gif" alt = "logo"/>';
echo '</div>';
echo '<div class="col-9 col-persist gutter-h-10 padding-top-5 -margin">';
echo '<textarea placeholder="What's new?" name="content">'.$userInput.'</textarea>';
echo '</div>';
echo '<input type="text" name="name" placeholder="What's your name?">'.$userName;
echo '</div>';
echo '</form>';
echo '</div>';
}
但是,此代码根本不起作用。在调试时,浏览器在这些行中显示了一些问题:
echo '<textarea placeholder="What's new?" name="content">'.$userInput.'</textarea>';
echo '</div>';
echo '<input type="text" name="name" placeholder="What's your name?">'.$userName;
有什么问题?我想这是语法上的东西,但在代码逻辑本身可能更多? 在此先感谢!!!
答案 0 :(得分:0)
您需要在html而不是按钮中更改<input type='submit' name='submit' value='send'>
。
答案 1 :(得分:0)
首先,您的表单需要提交按钮,因此请将<input type="button" name="submit" value="Send">
更改为<input type="submit" name="submit" value="Send">
此外,您无需使用PHP_SELF
,只需将动作属性保留为action=""
即可将其保留在同一页面上。
至于php中的错误,你有单引号标记没有被转义。这应该有效:
echo '<textarea placeholder="What\'s new?" name="content">'.$userInput.'</textarea>';
echo '</div>';
echo '<input type="text" name="name" placeholder="What\'s your name?">'.$userName;