данные не были успешно вставлены в БД - PullRequest
0 голосов
/ 14 декабря 2018
  • Файлы, сохраненные в каталоге htdocs **, когда я запускаю файл, я изменил его в URL: localhost / aa.html

html файл (aa.html):

<!DOCTYPE html>
<html>
<head>
<title>RegPage</title>
</head>
<body>

<form action ="bb.php" method="post">
name: <input type="text" name "username">
<br/>
email: <input type="text" name ="email">
<br/>
password: <input type="password" name="password">

<input type = "submit" value = "insert">

</form>

</body>
</html>

php файл (bb.php):

<?php
$con=mysqli_connect('localhost','root','');

if(!con)
{
    echo 'not connected to server';
}

if (!mysqli_select_db ($con,'pilot'))
{
    echo 'database not selected';
}

$name=$_post['username'];
$email=$_post['email'];
$password=$_post['password'];

$sql="insert into dbinvestor (email,password,name) values ('$email','$password', '$name')";

if (!mysqli_query($con,$sql))
{
    echo 'not inserted';
}
else
{
    echo 'inserted succesfuly';
}

header ("refresh:2;url=aa.html");
?>

дБ и таблица: DB

Выход: OutPut

не знаю, как ее решить, спасибо за помощь!

1 Ответ

0 голосов
/ 14 декабря 2018

Неопределенный индекс username должен быть вашей ошибкой в ​​вашей стороне php.

name: <input type="text" name "username">

Должно быть:

name: <input type="text" name="username">

Затем также используйте подготовленные операторы на стороне вашего сервера.

Тогда у вас также есть другая ошибка:

if(!con) неопределенная константа con

Это должно быть:

if(!$con)

Наконец, не храните пароль в виде простого текста, используйте password_hash () и password_verify ()

<?php
$con=mysqli_connect('localhost','root','');

if(!$con)
{
    echo 'not connected to server';
}

if (!mysqli_select_db ($con,'pilot'))
{
    echo 'database not selected';
}

$name=$_POST['username'];

$email=$_POST['email'];

$password=$_POST['password'];


//hash password

$hash = password_hash($password,PASSWORD_DEFAULT);

$sql="insert into dbinvestor (email,password,name) values (?,?,?)";


$stmt = $con->prepare($sql);
$stmt->bind_parm("sss",$email,$hash,$name);

if($stmt->execute()){

    echo 'inserted succesfuly';

}else{

    echo 'not inserted';

    echo $stmt->error;
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...