Preciso de ajuda para enviar informações do HTML para o PHP por formulário (RESOLVIDO e SOLUÇÃO)
(Solução no final)
Código para exemplificar (nem esses, nem os originais funcionam)
HTML:
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="form-test-php.php" method="post">
<label for="nome">Nome</label>
<input type="text" name="nome" id="nome" placeholder="Nome" required>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
PHP (form-test-php.php):
<?php
if(isset($_POST['submit'])){
$test = $_POST['nome'];
echo $test;
echo "<SCRIPT LANGUAGE='JavaScript'>
window.alert('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA');
</SCRIPT>";
}
Não consigo enviar mesmo tudo parecendo certo. Eu estou a 2 dias pesquisando sobre k k, porém não acho nada sobre.
Já testei o PHP sozinho e tudo ta funcionando, porém, o navegador nem chega a carregar o PHP, ele retorna erro 405 do servidor como se não fosse permitido “POST”, mas o PHP consegue lidar com o método e não sei como faz para permitir método POST
Estou usando Live Server no VSCode para testar o site e to usando Ubuntu.
Solução e explicação
Parece que o Live Server não consegue lidar com scripts PHP. Logo quando ele recebia a requisição POST ele não sabia o’que fazer, se confundia com outros tipos de arquivo e retornava 405. E descobri que isso já é um bug antigo dele.
Para resolver esse problema (como o pessoal sugerio) eu criei um servidor de teste para rodar o site e lidar com as requisições, simplesmente rodando o comando php -S localhost:8000
na raiz do site o PHP cria um servido que você pode acessar e rodar paginas dinâmicas, etc.
Obrigado a ajuda de todos