为什么我的表单数据没有使用输入类型插入我的数据库="隐藏"?

时间:2018-01-03 06:40:54

标签: php mysql web mysqli

这是我的数据库连接,表单页面,符合页面。我将尝试在不使用任何表单的情况下将数据插入数据库。有人请检查我的代码。

db.php中

<?php
$connect=mysqli_connect("localhost", "root", "", "test_form");
if(!$connect){
    die('Can not connect:'.mysqli_error());
}
else{
    echo "Connect";
}

?>

的index.php

<?php
include_once 'db.php';
?>

<form action="process.php" method="post">
    <input type="text" name="f-name" placeholder="f-name"><br><br>
    <input type="text" name="l-name" placeholder="l-name"><br><br>
    <input type="text" name="bday" placeholder="bday"><br><br>
    <input type="text" name="school" placeholder="school"><br><br>
    <label><input type="radio" name="gender" value="m">Male</label>
    <label><input type="radio" name="gender" value="f">Female</label><br><br>
    <textarea name="hobby"></textarea><br><br>
    <input type="submit" value="Submit">
</form>

所有数据都显示在process.php页面中,但在此页面中单击“保存”,它不会在数据库中插入。

process.php

<?php
include_once 'db.php';
?>

<?php
$fname=$_POST['f-name'];
$lname=$_POST['l-name'];
$bday=$_POST['bday'];
$school=$_POST['school'];
$gender=$_POST['gender'];
$hobby=$_POST['hobby'];

echo "$fname"."<br>";
echo "$lname"."<br>";
echo "$bday"."<br>";
echo "$school"."<br>";
echo "$gender"."<br>";
echo "$hobby"."<br>";
?>
<button name="Sava" type="button" value="Save">Save</button>
<?php
if(isset($_REQUEST['save'])){
    $sql="INSERT INTO test_table(f_name, l_name, b_day, school, gender, hobby) VALUES ('$fname', '$lname', '$bday', '$school', '$gender', '$hobby')";
}

$query=mysqli_query($connect, $sql);
if($query){
    $msg="Successfully Inserted...";
}else{
    $msg="Not Inserted...";
}
?>
<h1><?php echo $msg; ?></h1>

2 个答案:

答案 0 :(得分:0)

点击“保存”按钮后,您的页面不会重新加载。没有表格或JavaScript可以做到。

但是,即使您设法重新加载页面,表单中的前$_POST也不再对此重新加载的页面有效。

另外,你有一个错字:

if(isset($_REQUEST['save'])){ ...

<button name="Sava" type="button" value="Save">Save</button>

save应为Sava

答案 1 :(得分:0)

您可以通过选中isset($_POST['submit'])

进行插入

或使用isset($_POST['what_ever_submit_button'])

<?php
include_once 'db.php';
?>

<?php
$fname=$_POST['f-name'];
$lname=$_POST['l-name'];
//$_POST['submit'];

echo "$fname"."<br>";
echo "$lname"."<br>";
if(isset($_POST['submit'])){
    $sql="INSERT INTO test_table(f_name, l_name) VALUES ('$fname', '$lname')";
}

$query=mysqli_query($connect, $sql);
if($query){
    $msg="Successfully Inserted...";
}else{
    $msg="Not Inserted...";
}
?>
<h1><?php echo $msg; ?></h1>