从html表单的php POST,但无法获取数据

时间:2018-01-15 02:59:59

标签: php html sql

*

我正在尝试制作一个注册页面。但是php中的POST无法从html页面中的表单中获取任何数据。如果我运行代码。原始数据库已创建,但内部没有任何数据。请帮忙!

*

我的insert.php

    $firstname=mysqli_real_escape_string($_POST ['firstname']);
$lastname=mysqli_real_escape_string($_POST ['lastname']);
$pw=md5(mysqli_real_escape_string($_POST ['pw']));
  $pw2=md5(mysqli_real_escape_string($_POST ['pw2']));
$email= mysqli_real_escape_string($_POST ['email']);
$mobile=mysqli_real_escape_string($_POST ['mobile']);
$address=mysqli_real_escape_string($_POST ['address']);
$postcode=mysqli_real_escape_string($_POST ['postcode']);

$sql = "INSERT INTO user (user_firstname, user_lastname, user_email)
VALUES ('$firstname', '$lastname', '$email')";

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

$conn->close();

我在html中的表单:

<form action="insert.php" method="POST">

        <div class="login-img"><img src="images/register-ico.png"></div>
        <div class="login-form">
            <label><i></i><p>Email Address<span class="required"> *</span></p></label>
            <input class="login-input" name='email' id="email" type="text" placeholder="harry@boei.co.nz">
            <label><i></i><p>First Name<span class="required"> *</span></p></label>
            <input class="login-input" name='firstname' id="firstname" type="text">
            <label><i></i><p>Last Name</p></label>
            <input class="login-input" name ='lastname'id="lastname" type="tel">
            <label><i></i><p>Password<span class="required"> *</span></p></label>
            <input class="login-input" name='pw'id="password" type="email">
            <label><i></i><p>Re-enter Password<span class="required"> *</span></p></label>
            <input class="login-input" 'name'='pw2' id="password2" type="text">
            <label><i></i><p>Mobile</p></label>
            <input class="login-input" name='mobile'id="mobile" type="text">
            <label><i></i><p>Delivery Address</p></label>
            <input class="login-input" name='address'id="address" type="text">
            <label><i></i><p>Postcode</p></label>
            <input class="login-input" name='postcode'id="postcode" type="text">
            <div class="step-required"><span class="required"> * required field</span></div>


            <p><input type="submit" name="submit" value="submit"></p>

        </div>

        <div class="register-info">
            <input name="reg" type="reg"  value="reg">
            <div class="register-text"><p>By Registering, you agree to accept our <br><a href="terms.html">Terms and Conditions</a> and <a href="privacy.html">Privacy</a>.</p></div>
        </div>
    </form>

2 个答案:

答案 0 :(得分:0)

你的PHP版本是什么? HTTP_RAW_POST_DATA在PHP 5.6.0中已弃用,从PHP 7.0.0开始被删除,它只是获取原始POST数据。

  • HTTP_RAW_POST_DATA应为$ _POST。

  • 您正在输入电子邮件&#39;帖子参数不正确。

答案 1 :(得分:0)

声明mysql连接

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

它应该像

$firstname = $mysqli->real_escape_string($_POST["firstname"]);

如果你想要一个程序类型

string mysqli_real_escape_string ( mysqli $link , string $escapestr )
$firstname = mysqli_real_escape_string($SQLConnection, $_POST["firstname"]);