Autor Tópico: formulário em php dizem eles num livro de php5.3 que é simples...  (Lida 1215 vezes)

Offline ismaelbonifacio

  • Usuário Ubuntu
  • *
  • Mensagens: 139
    • Ver perfil
Viva! È simples mas não corre. Neste formulário abre para responder às perguntas, mas quando submeto o formulário ele não processa no servidor e dá um erro www.meu site.com/<?php echo $PHP_SELF; ?>

outra coisa coloquei o formulario php numa página gravada em htm será que é disso? tenho de criar 2 páginas htm? Uma de mostrar formulário e outra página htm distinta com a function processa_furmulario?

Quem me souber ajudar agradecia

fica aqui o que fiz

<?php
function mostrar_formulario()
{
global $PHP_SELF;
?>
<form action="<?php echo $PHP_SELF; ?>" method=POST>
Nome:<input type=text name="nome"><br>
Email:<input type=text name=email"><br>
Como conheceu esta morada?<br>
<input type=radio name="procura" value="Busca por acaso">Busca por acaso<br>
<input type=radio name="procura" value="Contacto de amigo">Contacto de amigo<br>
<input type=radio name="procura" value="Procura orientada">Procura orientada<br>
<input type=radio name="procura" value="Conheço há muito tempo">Conheço há muito tempo<br>
<br>
Quantas vezes visita o Servidor profismael?
<input type=radio name="linguagem" value="1ª vez por semana">1ª vez por semana<br>
<input type=radio name="linguagem" value="2 vezes por semana">2 vezes por semana<br>
<input type=radio name="linguagem" value="1 vez por mês">1 vez por mês<br>
<br>
Gosta de ver o seu filho nos sites da nossa escola?
<input type=radio name="filho" value="Sim">Sim<br>
<input type=radio name="filho" value="Não">Não<br>
<br>
<input type=submit value="Submeter Dados">
</form>
<?php
}
?>
<?php
function processa_formulario () {
global $nome;
global $email;
global $procura;
global $linguagem;
global $filho;
printf(" O utilizador %s cujo o endereço de email é %s, procura a internet %s e em relação ao filho %s para fotos na net", $_POST [`name´], $_POST [`email´], $_POST[`procura´], $_POST [`filho´]);
}
?>
<?php
if (empty ($_POST [nome])) }
mostrar_formulario ();
} else{
processa_formulario
}
?>

Offline zekkerj

  • Usuário Ubuntu
  • *
  • Mensagens: 19.136
  • Gratidão gera gratidão, lamúria gera lamúria...
    • Ver perfil
Re:formulário em php dizem eles num livro de php5.3 que é simples...
« Resposta #1 Online: 26 de Abril de 2018, 08:52 »
Você diz "dá um erro".

Qual erro?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Offline agente100gelo

  • Administrador
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.325
  • @Ceará
    • Ver perfil
Re:formulário em php dizem eles num livro de php5.3 que é simples...
« Resposta #2 Online: 26 de Abril de 2018, 10:37 »
Página em PHP devem ter extensão .php mesmo que uma parte seja em HTML.

No caso, acredito que é uma página PHP só que ao mesmo tempo exige o formulário ou processa, dependendo dos dados.
Advogado e analista de sistema cearense.
Twitter: @glaydson

Offline ismaelbonifacio

  • Usuário Ubuntu
  • *
  • Mensagens: 139
    • Ver perfil
Re:formulário em php dizem eles num livro de php5.3 que é simples...
« Resposta #3 Online: 27 de Abril de 2018, 05:55 »
Conforme menciono em cima dá um erro ao carregar no "enviar"...abre o browser com esta linha de comandos  dá um erro www.meu site.com/<?php echo $PHP_SELF; ?>
ficando uma página em branco.

Offline agente100gelo

  • Administrador
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.325
  • @Ceará
    • Ver perfil
Re:formulário em php dizem eles num livro de php5.3 que é simples...
« Resposta #4 Online: 27 de Abril de 2018, 07:36 »
O arquivo é .php ou .html?

O PHP está configurado no servidor?
Advogado e analista de sistema cearense.
Twitter: @glaydson

Offline ismaelbonifacio

  • Usuário Ubuntu
  • *
  • Mensagens: 139
    • Ver perfil
Re:formulário em php dizem eles num livro de php5.3 que é simples...
« Resposta #5 Online: 27 de Abril de 2018, 07:58 »
Pois eu também acho que o problema está no formulário e no processa.  Vamos lá haver o formulário do php, numa página em html ficaria assim:
<html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
</head>

<body>

<p><!--webbot bot="HTMLMarkup" startspan --><?php
function mostrar_formulario()
{
global $PHP_SELF;
?>
<form action="<?php echo $PHP_SELF; ?>" method=POST>
Nome:<input type=text name="nome"><br>
Email:<input type=text name=email"><br>
Como conheceu esta morada?<br>
<input type=radio name="procura" value="Busca por acaso">Busca por acaso<br>
<input type=radio name="procura" value="Contacto de amigo">Contacto de amigo<br>
<input type=radio name="procura" value="Procura orientada">Procura orientada<br>
<input type=radio name="procura" value="Conheço há muito tempo">Conheço há muito tempo<br>
<br>
Quantas vezes visita o Servidor profismael?
<input type=radio name="linguagem" value="1ª vez por semana">1ª vez por semana<br>
<input type=radio name="linguagem" value="2 vezes por semana">2 vezes por semana<br>
<input type=radio name="linguagem" value="1 vez por mês">1 vez por mês<br>
<br>
Gosta de ver o seu filho nos sites da nossa escola?
<input type=radio name="filho" value="Sim">Sim<br>
<input type=radio name="filho" value="Não">Não<br>
<br>
<input type=submit value="Submeter Dados">
</form>
<?php
}
?><!--webbot bot="HTMLMarkup" endspan --></p>

</body>

</html>

E agora meto o processa em extensão php no diretório do site? Mas não tenho de lhe dar um encaminhameneto? uma ligação de ação? Isto é do género, colocar no inicio do formulário anterior em html isto: <form method="post" action="processa.php" enctype="multipart/form-data"> e então dar o nome ao ficheiro em baixo de "processa.php". Peço desculpa, mas estou a dar os primeiros passos nesta área e gostaria de perceber um pouco como este tipo de formulários funciona.

<?php
function processa_formulario () {
global $nome;
global $email;
global $linguagem
global $filho
printf(" O utilizador %s cujo o endereço de email é %s, procura a internet %s e em relação ao filho %s para fotos na net", $_POST [`name´], $_POST [`email´], $_POST[`procura´], $_POST [`filho´]);
}
?>
<?php
if (empty ($_POST [nome])) }
mostrar_formulario ();
} else{
processa_formulario
}
?>




Offline ismaelbonifacio

  • Usuário Ubuntu
  • *
  • Mensagens: 139
    • Ver perfil
Re:formulário em php dizem eles num livro de php5.3 que é simples...
« Resposta #6 Online: 27 de Abril de 2018, 19:21 »
Sim tenho o lamp instalado e a versão  PHP Version 5.6.35-1+ubuntu14.04.1+deb.sury.org+1  e está a rolar.

Offline ismaelbonifacio

  • Usuário Ubuntu
  • *
  • Mensagens: 139
    • Ver perfil
Re:formulário em php dizem eles num livro de php5.3 que é simples...
« Resposta #7 Online: 27 de Abril de 2018, 20:44 »
Com as experiências que fiz o que direciona o formulário para o processa é a linha :


global $PHP_SELF;
?>
<form action="<?php echo $PHP_SELF; ?>" method=POST>

é uma variavel que processa no próprio documento não abre outro. Se eu no "form action" colocar um ficheiro com extensão php ou htm, html ele vai abrir no browser, mas fica em branco.
Eu quero que seja seja no mesmo documento. Neste momento ele abre um doc no browser com a linha de comando  http://omeusite/<?php echo $PHP_SELF; ?>
ou seja ,não processa.

Eu já tentei no form action colocar a segunda parte o processa ficheiro php, exemplo : <form action= " processa.php" Nao resulta . Abre no browser o ficheiro processa .php, mas aparece página branco e por aquilo que li na net esta variavel  "global $PHP_SELF" é para processar no próprio  formulário lá dentro.

Offline ismaelbonifacio

  • Usuário Ubuntu
  • *
  • Mensagens: 139
    • Ver perfil
Re:formulário em php dizem eles num livro de php5.3 que é simples...
« Resposta #8 Online: 27 de Abril de 2018, 21:01 »
como coloco um jpg aqui no forum? Posso colocar um link do meu site não, pois não?  Onde posso colocar uma foto e copiar o link para aqui para verem um texto sobre  esta variável?

Offline ismaelbonifacio

  • Usuário Ubuntu
  • *
  • Mensagens: 139
    • Ver perfil
Re:formulário em php dizem eles num livro de php5.3 que é simples...
« Resposta #9 Online: 28 de Abril de 2018, 05:44 »
O meu ficheiro em etc/php5.6/php.in não tem o register_globals On. Estive a ler paar este tipo de scrits  devia aparecere ou on ou off e nem sequer aparece!? Como instalo?

Offline ismaelbonifacio

  • Usuário Ubuntu
  • *
  • Mensagens: 139
    • Ver perfil
Re:formulário em php dizem eles num livro de php5.3 que é simples...
« Resposta #10 Online: 28 de Abril de 2018, 05:50 »
Esta variavel deixou de aparecer no php5.6 Bingo!
https://secure.php.net/manual/pt_BR/security.globals.php

Offline ismaelbonifacio

  • Usuário Ubuntu
  • *
  • Mensagens: 139
    • Ver perfil
Re:formulário em php dizem eles num livro de php5.3 que é simples...
« Resposta #11 Online: 28 de Abril de 2018, 06:53 »
<form action= "" . Por aquilo que estou a ler é este problema...se eu inserir um ponto dentro "." vai para a página central do servidor se inserir um "#" abre a mesma página mas o formulário continua a não processar um imprimir na mesma página.  Se inserir só <form> como refere este artigo que li ao submeter fica em branco e aparece "mehtod post "visivel em cima na abertura da página e o formulário em banco para preencher de novo. Como faço para a parte de baixo ser processa e mostrar no mesma página do formulário?

o atributo action

Este atributo define para onde os dados são enviados. Seu valor deve ser um URL válido. Se esse atributo não for fornecido, os dados serão enviados para o URL da página que contém o formulário.
Exemplos

Neste exemplo, os dados são enviados para http://foo.com:

<form action="http://foo.com">

Aqui, os dados são enviados para o mesmo servidor que hospeda a página do formulário, mas para um URL diferente no servidor:

<form action="/somewhere_else">

Quando especificado sem atributos, como abaixo, o atributo <form>   faz com que os dados sejam enviados para a página que inclui o formulário:

<form>

Muitas páginas mais antigas usam a seguinte notação para indicar que os dados devem ser enviados para a mesma página que contém o formulário; Isso era necessário porque até HTML5, o atributo action era obrigatório. Isso não é mais necessário.

<form action="#">

Nota: É possível especificar um URL que use o protocolo HTTPS (HTTP seguro). Quando você fizer isso, os dados são criptografados junto com o resto da solicitação, mesmo se o formulário em si é hospedado em uma página insegura acessada usando HTTP. Por outro lado, se o formulário estiver hospedado na página segura, mas você especificar um URL HTTP inseguro com o atributo action, todos os navegadores exibirão um aviso de segurança para o usuário cada vez que Tente enviar dados porque os dados não serão criptografados.
« Última modificação: 28 de Abril de 2018, 06:56 por ismaelbonifacio »

Offline ismaelbonifacio

  • Usuário Ubuntu
  • *
  • Mensagens: 139
    • Ver perfil
Re:formulário em php dizem eles num livro de php5.3 que é simples...
« Resposta #12 Online: 28 de Abril de 2018, 15:29 »
Começo a pensar que o  amigo agente 100 tem razão o meu php deve estar a funcionar errado, pois neste formuláro não funcionou e no php.ini mudei  smtp, sendmail_from e sendmail_path...configurei reiniciei o php e ele não envia o email. è o script que se encontra em baixo.

<html>
<title>PHP-MySQL</title></head>
<body> <b>Envio de email</b>
<?php
print "para".$_REQUEST('email']." ---  em";
$dat=date("d :m :y");
print " $dat";
print "<form method=post action=".$_SERVER[`PATHINFO´]. ">";
?>
De:<input type=text name=remete size=30 value="<?php echo $_REQUEST ['nome']; ?>"><p>
Assunto:<input type=text name=assunto size=30><p>
Meu e-mail:<input type=text name=emailx size=30><p>
Mensagem<textarea name=mensagem cols=30 rows=3></textarea><palign=center>
<input type=submit value="-  enviar   -" name=enviar><p>
</form>
<?php
if ($_REQUEST['enviar']]){
mail ($_REQUEST['email'], $_REQUEST['assunto'],$_REQUEST['mensagem']."\n Saudações cordiais de ".$_REQUEST['remete'],"From:
".$_REQUEST['emailx']);
$dat1=date ("H : m: s");
print "Obrigado este e-mail foi enviado para ".$_REQUEST['email']." ás $dat1 do dia $dat";
}
//include ('menu1A.inc');
include  ('menu1.inc');
?>
</body>
</html>

Offline agente100gelo

  • Administrador
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.325
  • @Ceará
    • Ver perfil
Re:formulário em php dizem eles num livro de php5.3 que é simples...
« Resposta #13 Online: 02 de Maio de 2018, 07:32 »
Faça um arquivo com o seguinte conteúdo como info.php:

Código: [Selecionar]
<?php
phpinfo
();
?>

Tente acessar em http://seusite/info.php

Veja se funciona.
Advogado e analista de sistema cearense.
Twitter: @glaydson

Offline ismaelbonifacio

  • Usuário Ubuntu
  • *
  • Mensagens: 139
    • Ver perfil
Re:formulário em php dizem eles num livro de php5.3 que é simples...
« Resposta #14 Online: 06 de Maio de 2018, 08:27 »
Já sei qual é o problema. Na versão do php5.6 a variavel "register_globals não existe, deixou de ser usada. Na net dão uma solução que é inserir no ficheiro .htaccess que está no diretório etc o seguinte:
php_flag register_globals on
php_flag magic_quotes_gpc on

Mas o ficheiro .htaccess não aparece. Não sei o que aconteceu já fiz buscas de procura e para ver ficheiros ocultos e este ficheiro não existe.