У меня произошла такая проблема что при отправке регистрационных данных на базу данных ничего не отправляется потому-что я установил htaccess код который убирает
.php в конце ссылки.
Вот он:
RewriteEngine On
RewriteCond %{THE_REQUEST} " (/[^?/]+)\.php"
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^/]+)$ /$1.php [L]
Если не сокращать ссылку то всё нормально работает.Но я проверял с другим php кодом с отправкой на базу данных и сокращением ссылки и всё работало.Может быть чтобы решить эту проблему надо поменять код htaccess или php. У меня Open Server.
Код формы регистрации php не работающий при сокращении ссылки:
<meta charset="UTF-8">
<?php
$dbc = mysqli_connect('localhost','root','','lesson');
if(isset($_POST['submit'])){
$username = mysqli_real_escape_string($dbc, trim($_POST['username' ]));
$password1 = mysqli_real_escape_string($dbc, trim($_POST['password1']));
$password2 = mysqli_real_escape_string($dbc, trim($_POST['password2']));
if(!empty($username) && !empty($password1) && !empty($password2) && $password1 == $password2){
$query = "SELECT * FROM `signup` WHERE username = '$username'";
$data = mysqli_query($dbc, $query);
if(mysqli_num_rows($data) == 0){
$query = "INSERT INTO `signup` (username,password) VALUES ('$username',SHA('$password1'))";
mysqli_query($dbc,$query);
echo 'регистрация завершена';
mysqli_close($dbc);
exit();
}
else{
echo 'логин уже существует';
}
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
<center>
<form method="POST" action="<?=$_SERVER['PHP_SELF']; ?>">
<label for="username">логин</label><br>
<input type="text" name="username"><br>
<label for="password">пароль</label><br>
<input type="password" name="password1"><br>
<label for="password">повторите</label><br>
<input type="password" name="password2"><br>
<button name="submit">готово</button><br>
</form>
</center>
</body>
</html>