【问题标题】:how to add user agents to database? [duplicate]如何将用户代理添加到数据库? [复制]
【发布时间】:2021-05-17 01:54:31
【问题描述】:

这是提供用户代理和其他东西的代码

 $username = mysqli_real_escape_string($db, $_POST['username']);
 $email = mysqli_real_escape_string($db, $_POST['email']);
 $ip = mysqli_real_escape_string($db, $_SERVER['REMOTE_ADDR']);
 $ua = mysqli_real_escape_string($db, $_SERVER['HTTP_USER_AGENT']); //user agent  
 $password1 = mysqli_real_escape_string($db, $_POST['password1']);
 $password2 = mysqli_real_escape_string($db, $_POST['password2']);

这是插入的时候

    $query = "INSERT INTO users (username, email, password, ip, uagent) 
          VALUES('$username', '$email', '$password', '$ip', '$ua')";
    mysqli_query($db, $query);
    $_SESSION['username'] = $username;
    $_SESSION['success'] = "You are now logged in";
    header('location: index.php');

这是表格代码

    CREATE TABLE `users` (
  `ID` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `Username` varchar(100) NOT NULL,
  `Password` varchar(100) NOT NULL,
  `Email` varchar(100) NOT NULL,
  `IP` varchar(20) NOT NULL DEFAULT '',
  `UAgent` varchar(50) NOT NULL
);

idk 为什么但它不起作用它不会向数据库提供任何数据但如果我删除用户代理部分然后它会工作我得到用户名、密码、电子邮件和 ip 但我也想要用户代理

【问题讨论】:

    标签: php sql mysqli


    【解决方案1】:

    用户代理可能需要超过 50 个字符。我建议增加用户代理列的大小:

    ALTER TABLE users MODIFY UAgent VARCHAR(200) NOT NULL;
    

    【讨论】:

      【解决方案2】:

      您可以修改代码并将 varchar(50) 更改为 varchar(200)

      CREATE TABLE `users` (
        `ID` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
        `Username` varchar(100) NOT NULL,
        `Password` varchar(100) NOT NULL,
        `Email` varchar(100) NOT NULL,
        `IP` varchar(20) NOT NULL DEFAULT '',
        `UAgent` varchar(200) NOT NULL
      

      【讨论】:

        猜你喜欢
        • 2020-03-10
        • 2013-06-08
        • 2019-09-16
        • 1970-01-01
        • 1970-01-01
        • 2011-02-17
        • 2017-12-28
        • 1970-01-01
        • 2014-08-03
        相关资源
        最近更新 更多