html — получает правильный ответ, но база данных MySQL не обновляется с переполнением стека

Я пытаюсь создать простую регистрационную форму. У меня есть файл для подключения к базе данных

conn.php

<?php
$db_name = "bp_reader";
$mysql_username = "root";
$mysql_password = "";
$server_name = "localhost";
$conn = mysqli_connect ($server_name, $mysql_username, $mysql_password, $db_name);

/*the connection here is fine*/
if($conn){ echo "connected"; }else{ echo "not connected"; }

?>

регистрация php

<?php
require "conn.php";

$name = $_POST["name"];
$email = $_POST["email"];
$age = $_POST["age"];
$height = $_POST["height"];
$weight = $_POST["weight"];
$password = $_POST["password"];

//check if user exists
$sql = "select * from user_profile where user_email like '".$email."';";

$result = mysqli_query($conn, $sql);

$response = array();

if(mysqli_num_rows($result) > 0){

$code = "registration failed";
$message = "User already exists";array_push($response, array("code"=>$code, "message"=>$message));

echo json_encode($response);

}else {
$sql = "insert into user_profile values ('".$name."', '".$email."', '".$age."', '".$height."', '".$weight."', '".$password."');";

$result = mysqli_query($conn, $sql);

$code = "registration Success";
$message = "Thank you for registration... you can login now..";

//jason data
array_push($response, array("code"=>$code, "message"=>$message));

echo json_encode($response);
}

mysqli_close($conn);
?>

и у меня есть простая форма регистрации HTML

<html>

<body>
<form action="register.php" method="post">
<table>
<tr>
<td>Name:</td>
<td>
<input type="text" name="name" /> </td>
</tr>
<tr>
<td>Email:</td>
<td>
<input type="email" name="email" /> </td>
</tr>
<tr>
<td>DOB:</td>
<td>
<input type="date" name="age" /> </td>
</tr>
<tr>
<td>height:</td>
<td>
<input type="number" name="height" /> </td>
</tr>
<tr>
<td>weight:</td>
<td>
<input type="number" name="weight" /> </td>
</tr>
<tr>
<td>Password:</td>
<td>
<input type="password" name="password" /> </td>
</tr>
<tr>
<td>
<input type="submit" value="Register" /> </td>
</tr>
</table>
</form>
</body>
</html>

Проблема в том, что когда я заполняю форму и отправляю, я получаю правильный ответ, что регистрация прошла успешно, однако, когда я проверяю свою базу данных на phpMyAdmin, база данных остается неизменной. Я не могу понять, где проблема.

0

Решение

Если у вас есть поле id в качестве идентификатора и автоинкремента, вы должны установить его:

   $sql = "insert into user_profile values ('', '".$name."', '".$email."', '".$age."', '".$height."', '".$weight."', '".$password."');";
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector