【问题标题】:Why is not uploading data into database? [duplicate]为什么不将数据上传到数据库? [复制]
【发布时间】:2019-09-19 04:56:11
【问题描述】:

我有一些基于 mysql 数据库和 php 的帐户注册代码。但数据没有上传到数据库。代码没有显示任何错误。我无法理解这个问题。我该如何解决这个问题?我在这篇文章中附上了数据库表图像和我的代码。怎么解决????谁能帮我?????

Database table

<form class="login100-form validate-form" action="customer_register.php" method="post" enctype="multipart/form-data">
                    <span class="login100-form-title p-b-55">
                        Sign Up
                    </span>

                    <div class="avatar-wrapper">
                        <img class="profile-pic" src="" />
                        <div class="upload-button">
                        <i class="fa fa-arrow-circle-up" aria-hidden="true"></i>
                        </div>
                        <input class="file-upload" type="file" name="c_image" accept="image/*"/>
                    </div>

                    <div class="wrap-input100 validate-input m-b-16">
                        <input class="input100" type="text" name="c_name" placeholder="Your Name" required>
                        <span class="focus-input100"></span>
                        <span class="symbol-input100">
                            <span class="lnr lnr-user"></span>
                        </span>
                    </div>

                    <div class="wrap-input100 validate-input m-b-16" data-validate = "Valid email is required: ex@abc.xyz">
                        <input class="input100" type="email" name="c_email" placeholder="Your Email" required>
                        <span class="focus-input100"></span>
                        <span class="symbol-input100">
                            <span class="lnr lnr-envelope"></span>
                        </span>
                    </div>

                    <div class="wrap-input100 validate-input m-b-16" data-validate = "Password is required">
                    <input class="input100" type="password" id="psw" name="c_pass" placeholder="Enter Password" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}" title="Must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters" required>
                        <span class="focus-input100"></span>
                        <span class="symbol-input100">
                            <span class="lnr lnr-lock"></span>
                        </span>
                    </div>

                    <div id="message">
  <h5>Password must contain the following:</h5>
  <p id="letter" class="invalid">A <b>lowercase</b> letter</p>
  <p id="capital" class="invalid">A <b>capital (uppercase)</b> letter</p>
  <p id="number" class="invalid">A <b>number</b></p>
  <p id="length" class="invalid">Minimum <b>8 characters</b></p>
</div>

                    <div class="wrap-input100 validate-input m-b-16">
                        <select class="input100" name="c_country" style="border:none;" required>
                        <option value="" disabled selected>Select Your Country</option>
                        <option value="india">India</option>
                        </select>
                        <span class="focus-input100"></span>
                        <span class="symbol-input100">
                            <span class="lnr lnr-earth"></span>
                        </span>
                    </div>

                    <div class="wrap-input100 validate-input m-b-16">
                    <select class="input100" name="c_state" style="border:none;" required>
                        <option value="" disabled selected>Select Your State</option>
                        <option value="kerala">Kerala</option>
                    </select>
                        <span class="focus-input100"></span>
                        <span class="symbol-input100">
                            <span class="lnr lnr-location"></span>
                        </span>
                    </div>

                    <div class="wrap-input100 validate-input m-b-16">
                    <select class="input100" name="c_district" style="border:none;" required>
                        <option value="" disabled selected>Select Your District</option>
                        <option value="alappuzha">Alappuzha</option>
                        <option value="ernakulam">Ernakulam</option>
                        <option value="idukki">Idukki</option>
                        <option value="kannur">Kannur</option>
                        <option value="Kasaragod">Kasaragod</option>
                        <option value="kollam">Kollam</option>
                        <option value="kottayam">Kottayam</option>
                        <option value="kozhikode">Kozhikode</option>
                        <option value="malappuram">Malappuram</option>
                        <option value="palakkad">Palakkad</option>
                        <option value="pathanamthitta">Pathanamthitta</option>
                        <option value="thiruvananthapuram">Thiruvananthapuram</option>
                        <option value="thrissur">Thrissur</option>
                        <option value="wayanadu">Wayanadu</option>
                        </select>
                        <span class="focus-input100"></span>
                        <span class="symbol-input100">
                            <span class="lnr lnr-location"></span>
                        </span>
                    </div>

                    <div class="wrap-input100 validate-input m-b-16">
                        <input class="input100" type="text" name="c_city" placeholder="Your City" required>
                        <span class="focus-input100"></span>
                        <span class="symbol-input100">
                            <span class="lnr lnr-map-marker"></span>
                        </span>
                    </div>

                    <div class="wrap-input100 validate-input m-b-16">
                        <input class="input100" type="number" name="c_pincode" placeholder="Your Pincode" required>
                        <span class="focus-input100"></span>
                        <span class="symbol-input100">
                            <span class="lnr lnr-menu"></span>
                        </span>
                    </div>

                    <div class="wrap-input100 validate-input m-b-16">
                        <input class="input100" type="number" name="c_contact" title="10 digits" placeholder="Your Mobile Number" required>
                        <span class="focus-input100"></span>
                        <span class="symbol-input100">
                            <span class="lnr lnr-smartphone"></span>
                        </span>
                    </div>

                    <div class="wrap-input100 validate-input m-b-16">
                        <input class="input100" type="textarea" name="c_address" placeholder="Your Address" required>
                        <span class="focus-input100"></span>
                        <span class="symbol-input100">
                            <span class="lnr lnr-home"></span>
                        </span>
                    </div>


                    <div class="container-login100-form-btn p-t-25" >
                        <button class="login100-form-btn" type="submit" name="register">
                            Sign Up
                        </button>
                    </div>

                    <div class="text-center w-full p-t-115">
                        <span class="txt1">
                            Already have an account?
                        </span>

                        <a class="txt1 bo1 hov1" href="#">
                            Login now                           
                        </a>
                    </div>
                </form>
$con = mysqli_connect("localhost","root","","tees");

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

    $c_name = $_POST['c_name'];
    $c_email = $_POST['c_email'];
    $c_pass = $_POST['c_pass'];
    $c_country = $_POST['c_country'];
    $c_state = $_POST['c_state'];
    $c_district = $_POST['c_district'];
    $c_city = $_POST['c_city'];
    $c_pincode = $_POST['c_pincode'];
    $c_contact = $_POST['c_contact'];
    $c_address = $_POST['c_address'];
    $c_image = $_FILES['c_image']['name'];
    $c_image_tmp = $_FILES['c_image']['tmp_name'];

    $c_ip = getRealIpAddr();


        $insert_customer = "insert into customers (customer_name,customer_email,customer_pass,customer_country,customer_state,customer_district,customer_city,customer_pincode,customer_contact,customer_address,customer_image,customer_ip) values ('$c_name','$c_email','$c_pass','$c_country','$c_state','$c_district','$c_city','$c_pincode','$c_contact','$c_address','$c_image','$c_ip')";
        $run_customer = mysqli_query($con, $insert_customer);

        move_uploaded_file($c_image_tmp, "customer/customer_photos/$c_image");

        $sel_cart = "select * from cart where ip_add='$c_ip'";
        $run_cart = mysqli_query($con, $sel_cart);
        $check_cart = mysqli_num_rows($run_cart);

        if($check_cart==1){

            $_SESSION['customer_email']=$c_email;

            echo "<script>alert('Account registered successfully, Thank You!')</script";
            echo "<script>window.open('checkout.php', '_self')</script>";

        } else {

            echo "<script>alert('Account registered successfully, Thank You!')</script";
            echo "<script>window.open('index.php', '_self')</script>";

        }

}

【问题讨论】:

  • 请学习使用prepared statements来防止SQL注入。
  • 代码没有显示任何错误您没有检查错误。见stackoverflow.com/questions/22662488/…
  • 我看不到您在哪里检查错误。没有其他块可以显示是不是您所期望的。例如,如果 isset($_POST['register']) 为假怎么办?如果 mysqli_query 返回 false 怎么办?您的 PHP 或 mySQLi 代码没有错误处理。
  • 在插入查询后添加echo mysqli_error ($con);。应该有mysql错误。您的某些表格列是int,但您正在传递一个字符串。您应该删除值周围的单引号。

标签: php html mysql forms session


【解决方案1】:

我会尝试进行一些阶段调试。首先在您的 php 中放置一些 echo 输出,以查看 PHP 未运行的位置。

我会开始

if(isset($_POST['register'])) {
  echo "Output 1";

看看它是否曾经进入那个 if 语句。我也会尝试检查与数据库的连接。

使用以下代码检查与数据库的连接

if ($con->connect_error) {
  echo "Connection failed";
} 

如果您的插入查询错误,php 应该显示一条错误消息,从它开始运行此行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 2017-07-02
    • 2022-01-18
    • 2019-09-10
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多