我已经检查了堆栈溢出的所有解决方案......我正在满足我所需要的一切。我的HTML表单仍然没有发送帖子请求。我的代码也是。
这是create_blog.php页面..这包括
<?php include_once ('blog_controller.php'); ?>
在顶部。
<form action="create_blog.php" method="post">
<div class="form-row form-row">
<div class="form-controls">
<input type="text" name="title" class="field form-control input-lg" required id="field-fname" value="" placeholder="Title*" />
</div>
<!-- /.form-controls -->
</div>
<!-- /.form-row -->
<div class="form-row">
<div class="form-controls">
<textarea class="textarea" name="body" required id="field-message" placeholder="Content*"></textarea>
</div>
<!-- /.form-controls -->
</div>
<!-- /.form-row -->
<?php
if (isset($error)) {
echo '<div class="alert alert-error">' . $error . ' </div>';
}
if (isset($success)) {
echo '<div class="alert alert-success">' . $success . ' </div>';
}
?>
<div class="form-actions">
<input type="submit" value="CREATE NOW" name="add_blog" class="button btn-purple btn-small" />
</div>
<!-- /.form-actions -->
</form>
这是blog_controller.php
<?php
include_once ('ManageBlogs.php');
$init = new ManageBlogs();
//CREATE NEW BLOG
if (isset($_POST['add_blog'])) {
$title = $_POST['title'];
$body = $_POST['body'];
$date_created = date('Y-m-d H:i:s');
if (empty($title)) {
$error = 'You must provide a title to add this blog.';
} else {
$create_code = $init->addNewCode($title, $body, $date_created);
if ($create_code == 1) {
$success = 'Blog '.$title.' added Successfully';
} else {
$error = 'Error adding Blog. Please Try Again.';
}
}
}
?>
仍然没有在提交按钮点击时发送POST请求。
答案 0 :(得分:1)
更改:
<form action = 'create_blog.php' ...>
致:
<form action = 'blog_controller.php' ...>
您已经在blog_controller.php中处理了该表单 但是表单的动作是create_blog.php
同时检查javscript端是否有此代码:
event.preventDefault();
这个javascript编码还会阻止表单在触发按钮后将控件转移到PHP编码。
答案 1 :(得分:0)
我的理解是,你想将数据从login.php发送到login_controller.php,对吧? 因此,表单中的操作将是&#39; login_controller.php&#39;,而不是&#39; create_blog.php&#39;。
答案 2 :(得分:0)
我已经完成了你的代码,它没有任何问题。由于我没有包含ManageBlogs.php
,这意味着它可能会导致此错误。尝试删除文件包含并再次检查。如果您获得输出意味着,一些不需要的内部重定向正在删除POST值。
这是我尝试过的代码,它正在运行。
<?php
include_once ('blog_controller.php');
if (isset($title)) {
echo 'Title: '.$title;
}
?>
<form action="create_blog.php" method="post">
<div class="form-row form-row">
<div class="form-controls">
<input type="text" name="title" class="field form-control input-lg" required id="field-fname" value="" placeholder="Title*" />
</div>
<!-- /.form-controls -->
</div>
<!-- /.form-row -->
<div class="form-row">
<div class="form-controls">
<textarea class="textarea" name="body" required id="field-message" placeholder="Content*"></textarea>
</div>
<!-- /.form-controls -->
</div>
<!-- /.form-row -->
<?php
if (isset($error)) {
echo '<div class="alert alert-error">' . $error . ' </div>';
}
if (isset($success)) {
echo '<div class="alert alert-success">' . $success . ' </div>';
}
?>
<div class="form-actions">
<input type="submit" value="CREATE NOW" name="add_blog" class="button btn-purple btn-small" />
</div>
<!-- /.form-actions -->
</form>
blog_controller.php
<?php
// include_once ('ManageBlogs.php');
// $init = new ManageBlogs();
if (isset($_POST['title'])) {
$title = $_POST['title'];
}
?>
答案 3 :(得分:0)
试试这个:从顶部移除<?php include_once ('blog_controller.php'); ?>
并将操作从create_blog.php
更改为blog_controller.php
当我从您的问题中得到答案时,您希望将当前表单中的数据发送到blog_controller.php
,其中您可以使用代码执行某些操作。