簡體   English   中英

mysql查詢在表單頁面中存儲的空白數據

[英]Blank data stored by mysql query in form page

該表單旨在捕獲新用戶並將用戶數據存儲在數據庫中,除了盡管該表單仍返回成功消息外,它不存儲任何數據。

表單頁面:

<?php

$servername = "*****";
$username = "*****";
$password = "*****";
$database = "*****";

// Create connection
$conn = new mysqli($servername, $username, $password, $database);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully";


 ?>


<div class="row">
<div class="col-xs-12">
    <section class="panel">
        <header class="panel-heading">
            <h2 class="panel-title">Laai Nuwe Lid</h2>
        </header>
        <div class="panel-body">
            <form class="form-horizontal form-bordered" action="" 
method="post">

                <p><strong>ID:</strong> Nuwe lid</p>


                                    <div class="form-group">
                    <label class="col-md-3 control-label" 
for="FirstName">Naam:</label>
                        <div class="col-md-6">
                            <input type="text" class="form-control" 
name="FirstName" id="FirstName" value="<?php echo $firstname; ?>">
                        </div>
                </div>  


                                    <div class="form-group">
                    <label class="col-md-3 control-label" 
for="LastName">Van:</label>
                        <div class="col-md-6">
                            <input type="text" class="form-control" 
name="LastName" id="LastName" value="<?php echo $lastname; ?>"'>
                        </div>
                </div>

                <div class="form-group">
                    <label class="col-md-3 control-label" 
for="Cell">Selfoon:</label>
                        <div class="col-md-6">
                            <input type="text" class="form-control" 
name="Cell" id="Cell" value="<?php echo $cell; ?>">
                        </div>
                </div>

                <div class="form-group">
                    <label class="col-md-3 control-label" 
for="Address">Addres:</label>
                        <div class="col-md-6">
                            <input type="text" class="form-control" 
name="Address" id="Address" value="<?php echo $adress; ?>">
                        </div>
                </div>

                                    <div class="row">
                        <div class="col-sm-9 col-sm-offset-3">
                            <button value="submit" type="submit" 
name="submit" class="btn btn-primary">Stoor nuwe lid</button>
                            <button type="reset" class="btn btn- 
default">Kanselleer</button>
                        </div>
                </div>

            </form>
        </div>
    </section>
</div>
</div>


<?php

// check if the form has been submitted. If it has, start to process the 
form and save it to the database

if (isset($_POST['submit'])) {

// get form data, making sure it is valid

$firstname = 
mysql_real_escape_string(htmlspecialchars($_POST['firstname']));
$lastname = 
mysql_real_escape_string(htmlspecialchars($_POST['lastname']));
$cell = mysql_real_escape_string(htmlspecialchars($_POST['cell']));
$address = mysql_real_escape_string(htmlspecialchars($_POST['address']));


$sql = "INSERT INTO `tblusers` (FirstName, LastName, Cell, Address) VALUES 
('$firstname','$lastname', '$cell','$address')";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
 echo "Error: " . $sql . "<br>" . $conn->error;
}

// once saved, redirect back to the view page

header("Location: index.php");

}      
?>  

我不確定問題出在PHP還是SQL代碼,因為我沒有收到任何錯誤消息。

數據庫連接正常。 該查詢直接在mysql中工作,但是當我將PHP與HTML形式結合使用時,它將存儲空白行。

該代碼不起作用,因為當您嘗試注釋掉驗證部分' if condition '時,您忘了注釋掉它的' else condition '。

我說的是這一行:

//if ($firstname == '' || $lastname == '' || $cell == '' || $address == '') {

它不起作用的原因是因為變量不相同,PHP區分大小寫。 EG的姓氏,而HTML是LastName。

$firstname = 
mysql_real_escape_string(htmlspecialchars($_REQUEST['FirstNameirstname']));
$lastname = mysql_real_escape_string(htmlspecialchars($_REQUEST['LastName']));
$cell = mysql_real_escape_string(htmlspecialchars($_REQUEST['Cell']));
$address = mysql_real_escape_string(htmlspecialchars($_REQUEST['Address']));

請使用以下功能:

$con->mysqli_real_escape_string ( $_POST['...'])

代替

mysql_real_escape_string(htmlspecialchars($_POST['...']))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM