<?php include('conn.php'); $password = $_POST['password']; $username = $_POST['username']; $sql = "SELECT password FROM user WHERE username='{$username}'"; $result = mysqli_query($conn, $sql); $row = mysqli_fetch_assoc($result); if ($row['password'] == $password) { echo "<script>alert('登录成功!');location.replace('index.html');</script>"; } else { echo "<script> alert('登录失败!');</script>"; } ?> 帮我加个cookie
时间: 2023-08-31 21:15:38 浏览: 75
好的,你可以在验证成功的部分下加入以下代码来设置cookie:
```
if ($row['password'] == $password) {
// 设置cookie
setcookie('username', $username, time()+3600); // 设置用户名的cookie,有效期为1小时
echo "<script>alert('登录成功!');location.replace('index.html');</script>";
}
```
这里设置了一个名为username的cookie,值为登录的用户名,有效期为1小时。你可以根据需要修改cookie的名称、值和有效期。
相关问题
这段代码有错误,请帮我找出并修正<?php header("Content-type:text/html; charset=utf-8"); session_start(); include "huanying.php"; $test=$_SESSION['code']; $user=$_POST['user']; $password=$_POST['password']; $yzm=$_POST['yzm']; if($yzm==$test){ $_SESSION['username']=$user; $cr="INSERT INTO emp(username,password)values('$user','$password')"; mysqli_query($conn,$cr); if(mysqli_affected_rows($conn)>0){ echo"<script language='javascript'>"; echo "alert('注册成功');"; echo "location.href='lianjie.php'"; echo "</script>"; } else { echo"<script language='javascript'>"; echo "alert('注册失败')"; echo "</script>"; } } else { echo"<script language='javascript'>"; echo "alert('验证码错误,请重新输入');"; echo "location.href='wangye.php'"; }
这段代码中存在一个问题,即 `$conn` 变量未定义。在这里我们可以猜测 `$conn` 是一个数据库连接对象,但是在这段代码中并没有对其进行定义和初始化。
因此,我们需要在这段代码中添加 `$conn` 变量的定义和初始化代码。假设您使用的是 mysqli 扩展,可以按照以下方式定义 `$conn` 变量:
```php
<?php
header("Content-type:text/html; charset=utf-8");
session_start();
include "huanying.php";
$servername = "localhost";
$username = "root";
$password = "yourpassword";
$dbname = "yourdatabase";
// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检查连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
$test = $_SESSION['code'];
$user = $_POST['user'];
$password = $_POST['password'];
$yzm = $_POST['yzm'];
if ($yzm == $test) {
$_SESSION['username'] = $user;
$cr = "INSERT INTO emp(username, password) VALUES('$user', '$password')";
mysqli_query($conn, $cr);
if (mysqli_affected_rows($conn) > 0) {
echo "<script language='javascript'>";
echo "alert('注册成功');";
echo "location.href='lianjie.php'";
echo "</script>";
} else {
echo "<script language='javascript'>";
echo "alert('注册失败')";
echo "</script>";
}
} else {
echo "<script language='javascript'>";
echo "alert('验证码错误,请重新输入');";
echo "location.href='wangye.php'";
echo "</script>";
}
// 关闭连接
mysqli_close($conn);
?>
```
上述代码中,我们定义了 `$servername`、`$username`、`$password` 和 `$dbname` 变量,这些变量分别对应了数据库服务器地址、用户名、密码和数据库名,您需要将这些变量的值替换为您自己的数据库连接信息。同时,我们使用 `mysqli_connect()` 函数来创建连接,使用 `mysqli_close()` 函数来关闭连接。
<?php header("content-type:text/html; charest=UTF-8"); $username=$_POST["username"]; $pwd=$_POST["pwd"]; $conn=mysqli_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database); include("conn.php"); error_reporting(0); session_start(); if(!($username && $pwd)){ echo"<script>alert('输入的账号或密码为空!请重新输入账号和密码');history.go(-1);</script>"; }else { $sqlstr = "SELECT * FROM user52 WHERE (account='$username') AND (password='$pwd')"; $result = $conn->query($conn,$sqlstr);} if (mysqli_num_rows($result)>0) { $_SESSION["user"] = $username; echo "<script>alert('登录成功,即将转到主页面');location='index1.php'</script>"; } else { echo "<script>alert('无效的用户名和密码');location='register.php'</script>"; } ?> 可以帮我看看这段代码 为什么运行不出来登录成功界面
这段代码可能会存在以下问题:
1. 缺少变量的定义
在代码中,$mysql_server_name、$mysql_username、$mysql_password、$mysql_database这四个变量都没有被定义,导致连接数据库时会出错。
你需要在代码中定义这些变量,例如:
```
$mysql_server_name="localhost"; //数据库服务器名称
$mysql_username="root"; // 连接数据库用户名
$mysql_password="123456"; // 连接数据库密码
$mysql_database="mydatabase"; // 数据库名称
```
2. 语法错误
在代码中,$result = $conn->query($conn,$sqlstr);这一行有语法错误,应该改为$result = $conn->query($sqlstr);
3. 数据库查询错误
代码中的数据库查询语句可能有问题,你可以在查询语句前打印出它的值,看看是否正确。例如:
```
$sqlstr = "SELECT * FROM user52 WHERE (account='$username') AND (password='$pwd')";
echo $sqlstr;
$result = $conn->query($sqlstr);
```
检查以上问题,或者提供更多代码和错误信息,以便我能够更好地帮助你。
阅读全文