есть у меня 3 файла - registration.php <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>Document</title> </head> <body> <form action="register.php" method="post"> <input type="text" placeholder="Login" name="login"> <input type="text" placeholder="email" name="email"> <input type="text" placeholder="pass" name="pass"> <input type="text" placeholder="repeatpass" name="repeatpass"> <button class="btn" type="submit">reg</button> </form> </body> </html> Code <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>Document</title> </head> <body> <form action="register.php" method="post"> <input type="text" placeholder="Login" name="login"> <input type="text" placeholder="email" name="email"> <input type="text" placeholder="pass" name="pass"> <input type="text" placeholder="repeatpass" name="repeatpass"> <button class="btn" type="submit">reg</button> </form> </body> </html> register.php <?php require_once('db.php'); $login = $_POST ['login']; $email = $_POST ['email']; $pass = $_POST ['pass']; $repeatpass = $_POST ['repeatpass']; $sql = "insert into `users` (login,pass,email) VALUES ('$login', '$pass', '$email')"; $conn -> query($sql); Code <?php require_once('db.php'); $login = $_POST ['login']; $email = $_POST ['email']; $pass = $_POST ['pass']; $repeatpass = $_POST ['repeatpass']; $sql = "insert into `users` (login,pass,email) VALUES ('$login', '$pass', '$email')"; $conn -> query($sql); db.php <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "Users" $conn = mysqli_connect($servername, $username, $password ,$dbname); if(!$conn){ die ("Connection Failed". mysqli_connect_error()); } else { echo "done"; }?> Code <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "Users" $conn = mysqli_connect($servername, $username, $password ,$dbname); if(!$conn){ die ("Connection Failed". mysqli_connect_error()); } else { echo "done"; }?> при успешной регистрации должна выводиться надпись - done с занесением данных в таблицу, но как я понял нет тупо связи с бд, что я делаю не так? может в коде ошибка где-то ? пользователей создавать я пробовал, 0 толку. если у вас есть альтернативные варианты - можете их предложить, я сломал себе всю голову, мои нервные клетки уже не восстановятся
Не используй mysqli_connect() , устаревшая функция. Лучше вызывать соединение так: $conn = new mysqli($servername, $username, $password) , а еще лучше использовать PDO: $conn = new PDO("mysql:host=$servername;dbname=Users", $username, $password)
<?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "Users"; // Создаем подключение к базе данных $conn = mysqli_connect($servername, $username, $password, $dbname); // Проверяем подключение if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } ?> The post was merged to previous Jun 3, 2024 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>Регистрация</title> </head> <body> <form action="register.php" method="post"> <input type="text" placeholder="Login" name="login" required> <input type="email" placeholder="Email" name="email" required> <input type="password" placeholder="Password" name="pass" required> <input type="password" placeholder="Repeat Password" name="repeatpass" required> <button class="btn" type="submit">Register</button> </form> </body> </html> The post was merged to previous Jun 3, 2024 <?php require_once('db.php'); $login = mysqli_real_escape_string($conn, $_POST['login']); $email = mysqli_real_escape_string($conn, $_POST['email']); $pass = mysqli_real_escape_string($conn, $_POST['pass']); $repeatpass = mysqli_real_escape_string($conn, $_POST['repeatpass']); if ($pass !== $repeatpass) { die("Passwords do not match!"); } $hashed_pass = password_hash($pass, PASSWORD_DEFAULT); $sql = "INSERT INTO `users` (login, pass, email) VALUES ('$login', '$hashed_pass', '$email')"; if ($conn->query($sql) === TRUE) { echo "Registration successful!"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?> The post was merged to previous Jun 3, 2024 Убедись, что у тебя существует база данных с именем Users и таблица users в ней с полями id, login, pass, email. The post was merged to previous Jun 3, 2024 CREATE TABLE `users` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `login` VARCHAR(50) NOT NULL, `pass` VARCHAR(255) NOT NULL, `email` VARCHAR(100) NOT NULL ); The post was merged to previous Jun 3, 2024 теперь должно работать
Посмотри ошибки, вставив в начале php файла код ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); The post was merged to previous Jun 4, 2024 Для отладки и выявления неполадок давай так <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "Users"; // Создаем подключение к базе данных $conn = mysqli_connect($servername, $username, $password, $dbname); // Проверяем подключение if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } else { echo "Connected successfully!"; } ?> The post was merged to previous Jun 4, 2024 Этот код поможет тебе убедиться, что соединение с базой данных установлено правильно. The post was merged to previous Jun 4, 2024 <?php require_once('db.php'); $login = mysqli_real_escape_string($conn, $_POST['login']); $email = mysqli_real_escape_string($conn, $_POST['email']); $pass = mysqli_real_escape_string($conn, $_POST['pass']); $repeatpass = mysqli_real_escape_string($conn, $_POST['repeatpass']); if ($pass !== $repeatpass) { die("Passwords do not match!"); } $hashed_pass = password_hash($pass, PASSWORD_DEFAULT); $sql = "INSERT INTO `users` (login, pass, email) VALUES ('$login', '$hashed_pass', '$email')"; if ($conn->query($sql) === TRUE) { echo "Registration successful!"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?> Этот код включает проверку паролей и выводит сообщение об ошибке, если запрос не выполнен успешно. The post was merged to previous Jun 4, 2024 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>Регистрация</title> </head> <body> <form action="register.php" method="post"> <input type="text" placeholder="Login" name="login" required> <input type="email" placeholder="Email" name="email" required> <input type="password" placeholder="Password" name="pass" required> <input type="password" placeholder="Repeat Password" name="repeatpass" required> <button class="btn" type="submit">Register</button> </form> </body> </html> Убедимся, что форма регистрации правильно отправляет данные на сервер:
Author_inactive4936070, разобрался я с подключением - оно есть все-таки, но данные почему-то не передает