我的php代码没有发布到服务器上的数据库,但它在localhost上工作

lf3rwulv  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(347)

这是密码。它在localhost上工作,但是当我将它上传到服务器时,php不会将信息发送到mysql。

<?php
    session_start();    
    include('connect.php');
        if(isset($_POST['signup'])){
            echo "<pre>"; print_r($_POST); echo "</pre>";
            $name=$_POST['name'];
            $email=$_POST['email'];
            $password=md5($_POST['password']);
           $contact=$_POST['contact'];
            $city=$_POST['city'];
              $address=$_POST['address'];

              $signup_sql=mysqli_query($con,"select * from signup where email='".$email."'");
               //$signup_res=mysqli_query($con,$signup_sql);
               //$signupresult=mysqli_fetch_array($signup_res);

            $dataa = mysqli_fetch_array($signup_sql);

            if(empty($signup_res)){
                   $sql="insert into signup (name,email,password,contact,city,address) values ('".$name."','".$email."','".$password."','".$contact."','".$city."','".$address."')";

                $res=mysqli_query($con,$sql);
                if($res>=1){
                    @header("location:login.php");
                }
                else{
                    @header("location:index.php");
                }
            }else{
                @header("location:index.php");
            } 
        }
    ?>
ipakzgxi

ipakzgxi1#

你不是在测试 select 正确查询。 if(empty($signup_res)) 仅在查询出错时进行测试。但是不匹配任何内容的查询不是错误,它只是一个空结果。
您应该检查获取结果的结果:

if(empty($dataa))

然后当你表演 insert 查询时,也没有正确检查其成功。 $res 要么 TRUE 或者 FALSE ,不是数字。如果你想重定向到 login.php 如果插入失败,则应为:

if (!$res) {
    header("location: login.php");
} else {
    header("location: index.php");
}

我还建议在调试时删除重定向,并在查询失败时显示错误消息。你也不应该使用 @ 在调试时(没有什么理由使用 @ 为了 header() 电话)。

9w11ddsr

9w11ddsr2#

是的,我把代码改成

<?php

session_start();
header('location:login.php');

$con = mysqli_connect('localhost','id8127977_decors','Priya@1994');
if($con){
    echo" connection successful";
}else{
    echo " no connection"; 
}

mysqli_select_db($con, 'id8127977_decors');

$name=$_POST['name'];
        $email=$_POST['email'];
        $password=md5($_POST['password']);
       $contact=$_POST['contact'];
        $city=$_POST['city'];
          $address=$_POST['address'];

$q = " select * from signup  where email = '$email' ";

$result = mysqli_query($con, $q);

$num = mysqli_num_rows($result);

if($num == 1){
    echo" duplicate data ";
}else{

    $qy= "insert into signup (name,email,password,contact,city,address) values ('".$name."','".$email."','".$password."','".$contact."','".$city."','".$address."')";
    mysqli_query($con, $qy);
}

?>

相关问题