I m 更新到PHP和设计小型博客。 我试图提出一个表格,以设立一个新的员额,但那是没有工作的,我可以说明原因。 我把它与我的登记表工作法典相比较,似乎也一样。 我不会发现任何错误,而是仅仅重载网页,而不是张贴到数据库。
View - v_newpost.php
<article>
<?php
if (!isset ($_SESSION[ username ]))
{
?>
<span class="alert">Please login to create a post.</span>
<?php
}
else
{
?>
<form class="newpost" action="" method="post">
<fieldset>
<legend>Submit a new post</legend>
<?php if ($error[ alert ] != ) { echo "<span class= alert >".$error[ alert ]."</span>";} ?>
<ul>
<li>
<label for="title">Title:</label>
<input type="text" name="title" value="<?php echo $input[ title ]; ?>" required autofocus>
</li>
<li>
<label for="content">Content:</label>
<textarea id="content" name="content" rows=6 value="<?php echo $input[ content ]; ?>"></textarea>
</li>
</ul>
</fieldset>
<fieldset>
<button type="submit" class=postbutton>Publish</button>
</fieldset>
</form>
</div>
<?php
}
?>
</article>
newpost.php
<?php
require_once includes/connection.php ;
$error[ alert ] = ;
$input[ title ] = ;
$input[ content ] = ;
if (isset($_POST[ submit ]))
{
if ($_POST[ title ] == || $_POST[ content ] == )
{
$error[ alert ] = Please give your post a title and content. ;
$input[ title ] = $_POST[ title ];
$input[ content ] = $_POST[ content ];
include_once( v_newpost.php );
}
else
{
$input[ title ] = htmlentities($_POST[ title ], ENT_QUOTES);
$input[ content ] = htmlentities($_POST[ content ], ENT_QUOTES);
if ($stmt = $mysqli->prepare("INSERT INTO posts (title, content) VALUES (?,?)"))
{
$stmt->bind_param("ss", $input[ title ], $input[ content ]);
$stmt->execute();
$stmt->close();
$error[ alert ] = ;
$input[ title ] = ;
$input[ content ] = ;
header( Location: index.php );
}
else
{
$error[ alert ] = Failed to create post ;
}
}
}
else
{
include_once( v_newpost.php );
}
?>
我确信,这很可能是一件 st事,但我已经多次审视了这个问题,并能够理解为什么它不工作。