Почему не отправляется данные в базу данных при сокращенной ссылке php?

У меня произошла такая проблема что при отправке регистрационных данных на базу данных ничего не отправляется потому-что я установил 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>
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
Я решил эту проблему вместо того htaccess кода я нашел htaccess код с которым сокращается ссылка и отправляется в БД

htaccess код:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы