这是密码。它在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");
}
}
?>
2条答案
按热度按时间ipakzgxi1#
你不是在测试
select
正确查询。if(empty($signup_res))
仅在查询出错时进行测试。但是不匹配任何内容的查询不是错误,它只是一个空结果。您应该检查获取结果的结果:
然后当你表演
insert
查询时,也没有正确检查其成功。$res
要么TRUE
或者FALSE
,不是数字。如果你想重定向到login.php
如果插入失败,则应为:我还建议在调试时删除重定向,并在查询失败时显示错误消息。你也不应该使用
@
在调试时(没有什么理由使用@
为了header()
电话)。9w11ddsr2#
是的,我把代码改成