输入信息到数据库,用PHP显示

时间:2018-10-17 15:22:36

标签: php html

我有一个输入文本的表格,然后它进入数据库,并在我希望它立即显示在同一页面上之后。我输入信息并提交,页面重新加载,数据库或页面中没有任何内容。有什么想法吗?

保存部分:

if(isset($_POST['ok'])){
                $Vardas = $_POST['vardas'];
                $Epastas = $_POST['epastas'];
                $Kam = $_POST['kam'];
                $Zinute = $_POST['zinute'];
                $Date = date('Y-m-d H:i:s');
                /*$IP = $_SERVER[REMOTE_ADDR];*/
                }
//else {die ("Neuzpildyta forma");}
$sql = "INSERT INTO table1 (vardas, epastas, kam, data, zinute) 
VALUES ('$Vardas', '$Epastas','$Kam', '$Date', '$Zinute')";
//if (mysqli_query($dbc, $sql)) echo "Įrašyta";
//else die ("Klaida įrašant:" .mysqli_error($dbc));

表格:

    <form method='post' action="">
                            <div class="form-group col-lg-4">
                                <label for="vardas" class="control-label">Siuntėjo vardas:</label>
                                <input name='vardas' type='text' class="form-control input-sm">
                            </div>
                            <div class="form-group col-lg-4">
                                 <label for="epastas" class="control-label">Siuntėjo e-paštas:</label>
                                 <input name='epastas' id="epastas" type='email' class="form-control input-sm">
                            </div>
                            <div class="form-group col-lg-4">
                                 <label for="kam" class="control-label">Kam skirta:</label>
                                 <input name='kam' type='text' class="form-control input-sm">
                            </div>
                            <div class="form-group col-lg-12">
                                 <label for="zinute" class="control-label">Žinutė:</label>
                                 <textarea name='zinute' class="form-control input-sm"></textarea>
                            </div>
                            <div class="form-group col-lg-2">
                                 <input type='submit' name='ok' value='siųsti' class="btnbtn-default">
                            </div>
</form>

1 个答案:

答案 0 :(得分:1)

您似乎丢失了$mysqli连接。您的代码也很容易受到mysql注入的影响,所以这是我的建议。

$mysqli = new mysqli("localhost", "username", "password", "database_name");

if(isset($_POST['ok'])){
    $Vardas = $mysqli->real_escape_string($_POST['vardas']);
    $Epastas = $mysqli->real_escape_string($_POST['epastas']);
    $Kam = $mysqli->real_escape_string($_POST['kam']);
    $Zinute = $mysqli->real_escape_string($_POST['zinute']);
    $Date = date('Y-m-d H:i:s');

    $my_insert_query = "INSERT INTO table1 (vardas, epastas, kam, data, zinute)
    VALUES ('$Vardas', '$Epastas','$Kam', '$Date', '$Zinute')";

    $insert = $mysqli->query($my_insert_query);
    if($insert){
        echo "Success!";
    }else{
        echo "error" . $mysqli->error;
    }
}

上面的代码应该可以工作,并防止任何SQL注入。