Ir ao conteúdo
  • Cadastre-se
Daniel Alves_788390

Site htm, php problemas ao acessar no servidor.

Recommended Posts

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>

 

Editado por dif
Inserir os códigos no post. assim fica mais fácil de ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Daniel Alves_788390

Poderia postar o conteúdo de relatorio.php? ( creio que você deve ter alterado algo depois de minha explicação)

 

Para postar o código aqui, use o botão  CODE que tem o ícone de <>  entre o citar e emoticon.

 

Sobre a "ancora" qual é o problema?

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×