Ir ao conteúdo
  • Cadastre-se

Site htm, php problemas ao acessar no servidor.


Posts recomendados

Estou fazendo umas atividades referente ao uso de html e php na criação de sites para iniciantes, e me veio um problema. 

Praticamente está tudo pronto no que a atividade pede, mas ao hospedar os arquivos no servidor: http://treinamentoif.16mb.com/,

ao clicar no link cadastro me retorna uma mensagem de erro, ao invés de direcionar para a página cadastro e preencher o fomulário.

Outro problema é que ao acessar o formulário que fiz em Html e preencho todos, assim que clico em enviar me retorna mensagem

de erro no arquivo PHP.

 

Os arquivos que utilizei estão em anexo.

 

Sei que isso é pra iniciantes, mas se alguém puder ajudar ficarei agradecido.

 

Cadastro.html

<HTML>
<HEAD>
<TITLE>FORMULÁRIO DE CADASTRO</TITLE>
</HEAD>
<BODY>
<h1>Cadastro para novos usuários</h1>
<br>
<form action="relatorio.php" method="POST">
Nome: <input name="nome" type="text" size="20">
<br>
<br>
Sexo: <input name="sexo" value="Masculino" type="radio">Masculino
<input name="sexo" value="Feminino" type="radio">Feminino
<br>
<br>
Assuntos preferidos: <input name="assuntos[]"
<input type="checkbox" name= "assuntos[]" value="tecnologia"/> Tecnologia
<input type="checkbox" name= "assuntos[]" value="Esportes"/> Esportes
<input type="checkbox" name= "assuntos[]" value="Cultura"/> Cultura
<br>
<br>
<td align="left">
Cidade
<select name="cidade" size="1">
   <option value="Boa Esperança">Boa esperança</option>
   <option value="Campo Belo">Campo Belo</option>
   <option value="Cristais">Cristais</option>
</select>
<br>
<br>
Senha: <input name="senha" type="password" size="20">
<br>
<br>
Mensagem:<br><textarea name="Mensagem" rows="10" cols="60" wrap="virtual"></textarea></p><BR>

<input type="submit" value="enviar">
<input type="reset" value="limpar">

</form>

</BODY>
</HTML>

Index.html

<HTML>
<HEAD>
<TITLE>Central construções</TITLE>
</HEAD>
<BODY>
<h1><b>Bem vindo ao Nosso site</b></h1>
<br>
<h3><b>Realize seu cadastro para efetuar suas compras</b></h3>
<a href=cadastro.html">cadastro</a>

</BODY>
</HTML>

Relatorio.php

<HTML>
<HEAD>
 <TITLE>New Document</TITLE>
</HEAD>
<BODY>
<?php

$nome              =        $_POST["nome"];
$sexo              =        $_POST["sexo"];
$interesses        =        $_POST["interesses"];
$cidade            =        $_POST["cidade"];
$senha             =        $_POST["senha"];
$mensagem          =        $_POST["mensagem"];


echo "Veja abaixo seus dados: <br>";
echo "nome: $nome<br>";
echo "sexo: $sexo<br>";
echo "interesses: $interesses<br>";
echo "cidade: $cidade<br>";
echo "senha: $senha<br>";
echo "mensagem: $mensagem<br>;

?>
</BODY>
</HTML>

 

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Daniel Alves_788390 Basicamente seus códigos possuem alguns erros.

No arquivo cadastro.html:

Um dos inputs não foi fechado, no caso o de assuntos.

 

No relatorio.php, você não deve usar as tags do html ali.  pois a função dele é apenas receber os dados e mostrar em tela.

Além disso, a variável interesse   recebe um vetor de dados no caso de "assuntos".

Com isso, se quiser mostrar quais o checkbox foram marcados precisa fazer um laço de foreach para iterar o vetor.

 

Então ficaria algo como:

$assuntos  = $_POST["assuntos"];

echo "Interesses: ";
foreach($assuntos as $interesses):
	echo $interesses . "<br/>";
endforeach;

Este exemplo mostra recebendo o dado do formulário, itera o vetor de interesses e mostra um por um.

Veja que tem um echo antes do foreach. para mostrar a frase: "interesses" . Ficou fora do laço de foreach porque a cada linha iria mostrar a palavra interesse.

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Obrigado pelas dicas, mas ainda continuo com problemas em uma âncora que fiz da pagina index.html para a página cadastro.html, e também ao fazer um teste em preencher todo o formulário e clico em enviar me retorna esta mensagem de erro:

Erro de análise : erro de sintaxe, fim de arquivo inesperado no /home/u494659757/public_html/relatorio.php na linha 26

Link para o comentário
Compartilhar em outros sites

<?php

$nome              =        $_POST["nome"];
$sexo              =        $_POST["sexo"];
$assuntos          =        $_POST["assuntos"];
$cidade            =        $_POST["cidade"];
$senha             =        $_POST["senha"];
$mensagem          =        $_POST["mensagem"];


echo "Veja abaixo seus dados: <br>";
echo "nome: $nome<br>";
echo "sexo: $sexo<br>";
echo "Interesses: ";
foreach ($assuntos as $interesses):
        echo $interesses . "</br>";
endforeach;
echo "cidade: $cidade<br>";
echo "senha: $senha<br>";
echo "mensagem: $mensagem<br>";
?>

Este é o conteúdo do relatorio.php, depois da última mensagem descobri uma "<" sobrando e deu certinho, só faltou um detalhe quando preencho todos os dados e digito também uma mensagem na caixa dedicada, assim que clico em enviar agora me retorna os valores que digitei, menos o campo mensagem. 

 

o link é esse: http://treinamentoif.16mb.com/

 

Rerefente a âncora seria algo de errado no meu arquivo index.html, que apenas ao clicar na palavra cadastro seria redirecionado para a próxima página, mas ao invés disso o que está redirecionando são as frases do cabeçalho.

 

este é o arquivo index.html:

<HTML>
<HEAD>
 <TITLE>Central construções</TITLE>
</HEAD>
<BODY>

<a href="cadastro.html#>cadastro"</a>

<h1><b>Bem vindo ao Nosso site</b></h1>
<br>
<h3><b>Realize seu cadastro para efetuar suas compras</b></h3>
<a href="#cadastro.html">cadastro</a>

</BODY>
</HTML>

Desde já agradeço sua boa vontade em me ajudar.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderador

@Daniel Alves_788390

O erro do campo mensagem é por que no atributo "name" deste campo  você colocou "Mensagem"  e no php está recebendo "mensagem".  Qual a diferença?  o php é case sentive. Mensagem é diferente de mensagem

 

Sobre o erro do link,  aconteceu porque  faltou fechar o atributo href. 

errado e com um sinal de tralha "# " no final

<a href="cadastro.html#>cadastro"</a>

Certo sem o sinal de tralha # no final e aspas duplas fechando o atributo.

<a href="cadastro.html">cadastro"</a>

 

Outra coisa que lembrei, que tinha esquecido de mencionar.  SE você não seleciona nenhum interesse, mostra um erro. porque o vetor fica vazio. Neste caso podes fazer um teste de IF para saber se ele está vazio. se sim, mostra uma mensagem senão mostra lista de interesses.

 

exemplo:

if(empty($assuntos)):
	echo "Nenhum interesse foi selecionado";
else:
	foreach ($assuntos as $interesses):
	   echo $interesses . "</br>";
	endforeach;
endif;

No caso a função empty()  verifica se a variável $assuntos do tipo array está vazia.  Se sim mostra a mensagem de erro, senão entra no bloco else  iterando o vetor!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...