Я делаю форму аутентификации на HTML и пытаюсь связать ее с PHP. HTML-код такой
<!DOCTYPE html>
<html>
<head>
<title>Authorized logged in</title>
</head>
<div id = "adminBoard">
<form method = "POST" action = "auth.php">
<input type="text" class = "credentialInputL" name="loginInput" value = "login" size = 30>
<input type="password" class = "credentialInputP" name="passwordInput" value = "pass" size = 30>
<input class="loginLogoutButton" type = "submit" value = "Sign in" name="loginLogout">
</form>
</div>
</body>
</html>
Соответствующий файл auth.php (который я создал, чтобы убедиться в базовой работе метода POST перед его расширением) выглядит так:
<?php
if (isset($_POST['loginInput']) && isset($_POST['passwordInput'])){
$username = $_POST['loginInput'];
$password = $_POST['passwordInput'];
echo "The username is :" . $username;
echo "The password is :" . $password;
}
?>
Но когда я открываю HTML-файл в Chrome и нажимаю кнопку «Войти», то файл auth.php просто загружается. Никаких действий не происходит. Файлы html и php находятся в одной папке.
Я упускаю какой-то синтаксис/оператор/метод?
решение1
Веб-сервер имеет тенденцию загружать файл вместо его выполнения, если не распознает его тип.
Сначала убедитесь, что вы установили и включили php5module. Вы можете проверить из командной строки:
$ a2enmod -l
действия псевдоним auth_basic authn_file authz_host authz_groupfile authz_user autoindex cgi dir env expires include log_config mime negotiation setenvif ssl socache_shmcb userdir reqtimeout authn_core mcrypt mod_rewritephp5authz_core
Затем также проверьте ваш httpd.conf или default-server.conf и убедитесь, что он включает в себяДобавитьТип
DocumentRoot "/srv/www/htdocs"
DirectoryIndex index.html index.htm index.php index.php5 index.php4 index.php3
AddType приложение/x-httpd-php .php .php3 .php4 .php5
Не забудьте перезапустить ваш веб-сервер для Ubuntu: sudo service apache2 restart