首先,我已经搜索了之前的答案(据我所知),没有一个答案似乎符合我的问题 - 尽管我确信它已经在过去的某个地方得到了回答 - 所以请原谅我。
我有3个页面,它们共同提交HTML表单并将其保存在MySQL数据库中。
页面如下;
idea.php(包含表单,在<script></script>
标记中包含以下idea_js.js文件)。
idea_js.js(检查提交的表单是否有错误,并通过ajaxSubmit提交到ideaSubmit.php)
ideaSubmit.php(分配POST变量并提交给数据库。)
我的问题是,在提交表单时,ideaSubmit不会收到POST'd变量。
我带着支票得出了这个结论;
if (!empty($_POST)){
echo "empty!"; }
和我的页面加载(带有一堆未分配的变量错误和消息);
empty!
你能告诉我为什么会这样吗?包括三个文件。
idea.php:
<script type="text/javascript" src="js/jquery-2.1.0.js"></script>
<script type="text/javascript" src="js/idea_js.js"></script>
<!DOCTYPE html>
<html>
<head>
<?php include 'headIncludes.php'; ?>
</head>
<body>
<?php include 'includes/userInterface.php'; ?>
<div id="mainContent">
<div class="mainContentContainer">
<div id="home" >
<section id="content-wrapper">
<br>
<br>
<form id="submit_idea" action ="submitIdea.php" method="POST">
<fieldset>
<legend>Idea submission</legend>
<label for="title">Title</label>
<input type="text" name="title"/>
<br>
<label for="brief">Brief</label>
<input type="text" name="brief"/>
<br>
<label for="problem">Problem</label>
<input type="text" name="problem"/>
<br>
<label for="solution">solution</label>
<input type="text" name="solution"/>
<br>
<label for="audience">audience</label>
<input type="text" name="audience"/>
<br>
<label for="prediction">prediction</label>
<input type="text" name="prediction"/>
<br>
<label for="constraints">constraints</label>
<input type="text" name="constraints"/><br>
<button type="submit" onclick="processIdea();">Submit</button>
<div style="clear:both;"></div>
</fieldset>
</form>
</section>
</div>
</div>
</div>
</body>
</html>
idea_js.js;
$("document").ready(function() {
$("#submit_idea").submit(function() {
processIdea();
return false;
});
});
function processIdea() {
var errors = '';
// Validate title
var title = $("#submit_idea [name='title']").val();
if (!title) {
errors += ' - Please enter a title\n';
}
// Validate brief
var brief = $("#submit_idea [name='brief']").val();
if (!brief) {
errors += ' - Please enter a short idea brief\n';
}
// Validate Problem
var problem = $("#submit_idea [name='problem']").val();
if (!problem) {
errors += ' - Please discribe the problem you want to solve\n';
}
//Validate Solution
var solution = $("#submit_idea [name='solution']").val();
if (!solution) {
errors += ' - Please discribe your solution to the above problem\n';
}
//Validate Audience
var audience = $("#submit_idea [name='audience']").val();
if (!audience) {
errors += ' - Please discribe the audience your solution targets\n';
}
//Validate Prediction
var prediction = $("#submit_idea [name='prediction']").val();
if (!prediction) {
errors += ' - Please discribe the prediction you want to solve\n';
}
//Validate constraints
var constraints = $("#submit_idea [name='constraints']").val();
if (!constraints) {
errors += ' - Please discribe the constraints of your solution\n';
}
if (errors){
errors = 'The following errors occurred:\n' + errors;
alert(errors);
return false;
} else {
// Submit our form via Ajax and then reset the form
$("#submit_idea").ajaxSubmit({success:showResult});
return false;
}
}
function showResult(data) {
if (data == 'save_failed') {
alert('Form save failed, please contact your administrator');
return false;
} else {
$("#submit_idea").clearForm().clearFields().resetForm();
alert('Form save success');
return false;
}
}
submitIdea.php;
<?php
//Starts session
include_once '/includes/db_connect.php';
include_once '/includes/functions.php';
sec_session_start();
if(login_check($mysqli) == true) {
// Retrieve form data
if (!empty($_POST)){
echo "empty!"; }
if(isset($_POST['submit_idea'])){
if(isset($_POST['title'])){ $title = $_POST['title']; }
if(isset($_POST['brief'])){ $brief = $_POST['brief']; }
if(isset($_POST['problem'])){ $problem = $_POST['problem']; }
if(isset($_POST['solution'])){ $solution = $_POST['solution']; }
if(isset($_POST['audience'])){ $audience = $_POST['audience']; }
if(isset($_POST['prediction'])){ $prediction = $_POST['prediction']; }
if(isset($_POST['constraints'])){ $constraints = $_POST['constraints']; }
if (!$title || !$brief || !$problem || !$solution || !$audience || !$prediction || !$constraints) {
echo "save_failed";
return;
}
// Clean variables before performing insert
$clean_title = mysql_real_escape_string($title);
$clean_brief = mysql_real_escape_string($brief);
$clean_problem = mysql_real_escape_string($problem);
$clean_solution = mysql_real_escape_string($solution);
$clean_audience = mysql_real_escape_string($audience);
$clean_prediction = mysql_real_escape_string($prediction);
$clean_constraints = mysql_real_escape_string($constraints);
// $clean_categories_list = mysql_real_escape_string($categories_list);
}
else {
// Perform insert
$now = time();
$user_id = $_SESSION['user_id'];
$mysqli->query("INSERT INTO idea_thread (user_id, time, title, Brief, problem, solution, audience, prediction, constraints) VALUES ('{$user_id}', '{$now}', '{$clean_title}', '{$clean_brief}', '{$clean_problem}', '{$clean_solution}', '{$clean_audience}', '{$clean_prediction}', '{$clean_constraints}')");
// if (@mysql_query($sql, $link)) {
echo "success";
}
// return;
//} else {
// echo "save_failed";
// return;
//}
} else {
echo "How did you get here? Please log in first!";
header("Location: ../signup.php");
exit;
}
?>
谢谢,所有帮助表示赞赏!