@iFruktTV

Почему не хочет создаваться запись в бд?

Здравствуйте, подскажите пожалуйста почему не хотят вноситься данные в таблицу при регистрации? Если убрать код группы, то все данные заносятся. Группа это отдельная таблица из которой берутся названия групп и вставляются в таблицу signup с именем group, но данные почему-то не заносятся
Код index.php
<?php
include_once 'dbh.php';
?>
<!DOCTYPE html>

<html>
<head>
	<title>Чат</title>
	<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
	<div id="main">
		<div id="info">
			<h2>login here</h2>

			<form action="login.php" method="post">
				<label><b>Username:</b></label>
				<input type="text" name="uname" placeholder="User name"><br><br>
				<label><b>Password:</b></label>
				<input type="text" name="pass" placeholder="Password"><br><br>
				<button style="background-color:#6495ed;color: white; " type="submit"><b>Login</b></button>
			</form>


			<form action="signup.php" method="post">
			<h2>Don't have a account sign up here</h2>
			<label>Логин:</label>
			<input type="text" name="uname" placeholder="Username"><br><br>
			<label>Email Add:</label>
			<input type="text" name="Email" placeholder="Email"><br><br>
			<label>Пароль:</label>
			<input type="text" name="Password" placeholder="Password"><br><br>
			<label>Группа:</label>
			<?
$sql="select * from groups";
$result=mysqli_query($conn,$sql);
?>
<select name="groups">
<?
while ($res=mysqli_fetch_assoc($result))
{
?>
<option value="<?echo$res["id"];?>">
<?echo$res["name_groups"];?></option>
<? 
}
?>
</select><br><br>
<label>Имя:</label>
			<input type="text" name="name" placeholder="First name"><br><br>
			<label>Фамилия:</label>
			<input type="text" name="surname" placeholder="Surname"><br><br>
			<button style="background-color:#6495ed;color: white; " type="submit"><b>SignUp</b></button>

			</form>



		</div>
	</div>

</body>

</html>

Код signup.php
<?php
include 'dbh.php';
$uname=$_POST['uname'];
$email=$_POST['Email'];
$pass=$_POST['Password'];
$group=$_POST['group'];
$name=$_POST['name'];
$surname=$_POST['surname'];




$sql="insert into signup(username, email, password, group,  name, surname) values ('$uname','$email','$pass', '$group', '$name', '$surname')";
$result=$conn->query($sql);

header("Location:index.php");	






?>
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
@FanatPHP
Слово group является зарезервированным в mysql, и его надо брать в обратные кавычки.

Но код этот в целом просто чудовищный. Мне реально было противно его читать. Такое ощущение, что тебя штрафуют на 100 рублей за каждый пробел.

Не говоря уже про дырявость и дурацкую идею про "сначала пусть заработает". Проверять работу запроса надо в mysql. А в PHP "пробовать" не надо, надо сразу писать запрос через prepare
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
SagePtr
@SagePtr
Еда - это святое
Не пишите настолько дырявый код... Выкиньте этот самоучитель, из которого пытаетесь примеры брать.
Ответ написан
g_hagmt
@g_hagmt
Начинающий веб-разработчик
Прежде чем создавать такой длинный код, который не работает, лучше пиши по кусочкам, но так, чтобы ты мог быть уверен что он работает. Взять хотя бы то, что у тебя в двойные кавычки вложены двойные кавычки (и на пробелы ты забил вообще):
<option value="<?echo$res["id"];?>">
Кроме того, никогда не сохраняй пароли в исходном виде!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы