php单提交失败,页面保持不变,数据也不会添加到数据库中。当我点击取消按钮时,我重定向到一个新的窗体,因为它应该工作。PHP单页提交失败,没有错误
我如何获得提交工作并将表单数据添加到数据库?下面是PHP和形式的html代码和连接的形式为图画
<div class="form-group">
<label for="s_fname">First name</label> *
<input type="text" class="form-control" placeholder="First name">
<label for="s_lname">Last name</label> *
<input type="text" class="form-control" placeholder="Last name">
<label for="s_mname">Middle name</label>
<input type="text" class="form-control" placeholder="Middle name">
<label for="s_dob">Date of Birth</label> *
<input type="text" class="form-control" placeholder="DD/MM/YYYY">
<label for="g_phone">Phone Number</label> *
<input type="text" class="form-control" placeholder="Phone number">
<label for="g_email">Email</label> *
<input type="text" class="form-control" placeholder="Email address">
<label for="entry_year">Entry level</label> *
<input type="text" class="form-control" placeholder="Entry level">
</div>
<div class="row text-right">
<input type="submit" name="submit" value="Save" class="btn btn-default" />
 
<button type="button" class="btn btn-default" aria-label="Left Align"><a href="new_student.php">Cancel</a></button>
</div>
<?php
if (isset($_POST['submit'])) {
# process the form
$s_fname = $_POST["s_fname"];
$s_lname = $_POST["s_lname"];
$s_mname = $_POST["s_mname"];
$s_dob = $_POST["s_dob"];
$g_phone = $_POST["g_phone"];
$g_email = $_POST["g_email"];
$entry_year = $_POST["entry_year"];
$query = "insert into students (s_fname, s_lname, s_mname, s_dob, g_phone, g_email, entry_year) ";
$query .= "values ('{$s_fname}', '{$s_lname}', '{$s_mname}', {$s_dob}, {$g_phone}, {$g_email}, {$entry_year})";
$result = mysqli_query($connection, $query);
if ($result) {
# successful
redirect_to("student.php");
} else {
# failure
redirect_to("new_student.php");
}
}
?>
您的输入没有名称。 –
一旦你纠正'输入'名称,你需要纠正你的SQL注入漏洞,http://php.net/manual/en/mysqli.quickstart.prepared-statements.php和/或http://stackoverflow.com/questions/60174/how-can-i-prevent-sql -injection-in-php?rq = 1 – chris85
除了别人指出的其他问题外,似乎在传入数据的值周围使用了单引号sql,例如'{$ g_email}'还没有,我想这很可能是一个字符串。出生日期也可能是一个问题.... – RamRaider