Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kamada

Enviar dados de formulário para E-mail

Recommended Posts

Olá galera.

Sou iniciante em PHP e preciso da ajuda de vocês para enviar dados de um formulário em HTML para um e-mail.

Andei vendo algumas coisas na internet, e vi que é melhor desenvolver com a biblioteca phpmailer, porém não obtive sucesso.

 

Abaixo algumas dúvidas:

Como faço para enviar os dados do formulário para o gmail?

Quando é domínio próprio(meuemail@site.com.br) como consigo o usuário e a senha do servidor?

 

Abaixo os códigos:

 

Segue o formulários em HTML (o formulário esta sem estilização, pois no momento o importante é a funcionalidade do mesmo)

<html>
<head>
<title>TESTE CONTATO</title>
</head>
<body>
<form action="email.php" method="post">
	<label for="Nome">Nome:</label>
	<input type="text" name="Nome" size="35" /><br>

	<label for="Email">E-mail:</label>
	<input type="text" name="Email" size="35" /><br>

	<label for="Fone">Telefone:</label>
	<input type="text" name="Fone" size="35" /><br>

	<label for="Mensagem">Mensagem:</label>
	<textarea name="Mensagem" rows="8" cols="40"></textarea><br>

	<input type="submit" name="Enviar" value="Enviar" />
</form>
</body>
</html>

Segue o formulário PHP(se possível me ajudem corrigindo o que esta errado e porque esta errado)

<?php
$Nome		= $_POST["Nome"];	// Pega o valor do campo Nome
$Fone		= $_POST["Fone"];	// Pega o valor do campo Telefone
$Email		= $_POST["Email"];	// Pega o valor do campo Email
$Mensagem	= $_POST["Mensagem"];	// Pega os valores do campo Mensagem

// Variável que junta os valores acima e monta o corpo do email

$Vai 		= "Nome: $Nome\n\nE-mail: $Email\n\nTelefone: $Fone\n\nMensagem: $Mensagem\n";

require_once("phpmailer/class.PHPMailerAutoLoad.php");

define('GUSER', 'meuemail@gmail.com');	// <-- Insira aqui o seu GMail
define('GPWD', 'minhasenhadogmail');		// <-- Insira aqui a senha do seu GMail

function smtpmailer($para, $de, $de_nome, $assunto, $corpo) { 
	global $error;
	$mail = new PHPMailer();
	$mail->IsSMTP();		// Ativar SMTP
	$mail->SMTPDebug = 0;		// Debugar: 1 = erros e mensagens, 2 = mensagens apenas
	$mail->SMTPAuth = true;		// Autenticação ativada
	$mail->SMTPSecure = 'ssl';	// SSL REQUERIDO pelo GMail
	$mail->Host = 'smtp.gmail.com';	// SMTP utilizado
	$mail->Port = 587;  		// A porta 587 deverá estar aberta em seu servidor
	$mail->Username = GUSER;
	$mail->Password = GPWD;
	$mail->SetFrom($de, $de_nome);
	$mail->Subject = $assunto;
	$mail->Body = $corpo;
	$mail->AddAddress($para);
	if(!$mail->Send()) {
		$error = 'Mail error: '.$mail->ErrorInfo; 
		return false;
	} else {
		$error = 'Mensagem enviada!';
		return true;
	}
}

// Insira abaixo o email que irá receber a mensagem, o email que irá enviar (o mesmo da variável GUSER), 
//o nome do email que envia a mensagem, o Assunto da mensagem e por último a variável com o corpo do email.

 if (smtpmailer('contato@site.com.br', 'meugmail@gmail.com', 'Enviador', 'Assunto', $Vai)) {

	Header("location:http://www.dominio.com.br/obrigado.html"); // Redireciona para uma página de obrigado.

}
if (!empty($error)) echo $error;
?>

Desde já agradeço a atenção e a colaboração de todos.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual é o problema exatamente? Dá erro? Qual?

 

Lembre-se de habilitar todas as exibições de erro, como mostrado neste tópico

 

Também deixe SMTPDebug em 1 em vez de 0. Vai ajudar no debug do código, até fazê-lo funcionar 100%

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade não aparece erro nenhum.
Quando eu clico em enviar, o código PHP aparece na minha tela do navegador rsrs'

 

Eu gostaria que me ajudassem a fazer funcionar o código pra enviar o e-mail.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro faça este teste:

 

crie um arquivo com este conteúdo:

 

<?php
phpinfo();
?>

 

salve-o como phpinfo.php (ou qualquer outro nome, desde que tenha a extensão ".php") e abra-o em seu servidor local

 

Deve aparecer algo como esta imagem:

 

phpinfo.jpg

 

Se continuar aparecendo o conteúdo do arquivo, o problema é com a instalação do PHP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho o phpMailer uma boa opção para envio de emails, para configurar o phpMailer de acordo com o servidor de email da sua hospedagem você tem que ver com a hospedagem(rsrsrs), geralmente eles tem um blog ou algo do tipo com os dados para você configurar (geralmente a Locaweb, King Host, Hostgator tem!).

 

Mas acho que uma dica que pode te ajudar com o seu código atual é mudar o valor de $mail->SMTPAuth para false e verificar a porta, se não me engano, é possível que dessa forma nem seja necessário a senha.... mas de qq forma precisa verificar com a hospedagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo, fiz o que você disse e apareceu essa tela das informações do php instalado...

Creio que não seja problema no php, pois tentei com outros códigos que peguei na internet e não aparecia o código php ao clicar em enviar.

O código php acima esta correto?

Falta alguma coisa?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho o phpMailer uma boa opção para envio de emails, para configurar o phpMailer de acordo com o servidor de email da sua hospedagem você tem que ver com a hospedagem(rsrsrs), geralmente eles tem um blog ou algo do tipo com os dados para você configurar (geralmente a Locaweb, King Host, Hostgator tem!).

 

Mas acho que uma dica que pode te ajudar com o seu código atual é mudar o valor de $mail->SMTPAuth para false e verificar a porta, se não me engano, é possível que dessa forma nem seja necessário a senha.... mas de qq forma precisa verificar com a hospedagem.

Entrei em contato com o pessoal da hospedagem e pedi os dados smtp e pop e também as portas.

E já verifiquei também a questão do usuário.

O usuário pode ser usado o e-mail e senha que uso pra entrar no webmail.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É estranho você dizer que o phpinfo() funciona e o email.php exibe o código PHP na tela... é como se o PHP não fosse executado e o código fosse processado como .txt

 

Aparentemente, o código parece correto

Em vez de enviar o form, acesse o email.php diretamente pelo navegador. Deve aparecer erros, principalmente por causa de $_POST. Veja se ocorre isso ou se o código é exibido na tela de novo

Compartilhar este post


Link para o post
Compartilhar em outros sites

É estranho você dizer que o phpinfo() funciona e o email.php exibe o código PHP na tela... é como se o PHP não fosse executado e o código fosse processado como .txt

 

Aparentemente, o código parece correto

Em vez de enviar o form, acesse o email.php diretamente pelo navegador. Deve aparecer erros, principalmente por causa de $_POST. Veja se ocorre isso ou se o código é exibido na tela de novo

Apareceu os erros.

Segue a SS.

 

Vou tentar fazer o seguinte...

Pegar um outro formulário que tenho aqui e tentar implementar esse email.php nele.

O que você acha?fkxq1y.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

É estranho você dizer que o phpinfo() funciona e o email.php exibe o código PHP na tela... é como se o PHP não fosse executado e o código fosse processado como .txt

 

Aparentemente, o código parece correto

Em vez de enviar o form, acesse o email.php diretamente pelo navegador. Deve aparecer erros, principalmente por causa de $_POST. Veja se ocorre isso ou se o código é exibido na tela de novo

Como dito, troquei de formulário.

Segue SS(ignorem a ausência do charset utf-8 rsrs)

kzDJ19A.jpg

 

Segue o código em HTML do novo formulário.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">	
	<!-- Import Google Font - Yanone Kaffeesatz  -->	
	<link href='http://fonts.googleapis.com/css?family=Yanone+Kaffeesatz' rel='stylesheet' type='text/css' />
 
	<title> ..Seja nosso REPRESENTANTE COMERCIAL..</title> 
	<!--SCRIPT ROLAGEM DE TEXTO - INICIO-->
		<script type="text/javascript"> 
			<!--

			// (0=zero)fica direto, (1)rola uma vez. 
			var repeat=0
			var title=document.title
			var leng=title.length
			var start=1
			function titlemove() {
			titl=title.substring(start, leng) + title.substring(0, start)
			document.title=titl
			start++
			if (start==leng+1) {
			start=0
			if (repeat==1)
			return
			}
			//velocidade regule no 140
			setTimeout("titlemove()",140)
			}
			if (document.title)
			titlemove()

			//-->
		</script>
	<!--SCRIPT ROLAGEM DE TEXTO - FIM--> 

	<style type="text/css"> 
	
	* { margin: 0px; padding: 0px; }
	
	body { 
		margin: 0 auto; 
		background: #f5f5f5; 	
		color: #555;	 
		width: 800px; 
				
		/* make reference to the Yanone Kaffeesatz font */
		font-family: 'Yanone Kaffeesatz', arial, sans-serif;
	}
	
	h1 { 
		color: #555; 
		margin: 0 0 20px 0; 
	}	
		
	label {	
		font-size: 20px;
		color: #666; 
	}
	
	form, select { 
		float: left;
		border: 1px solid #ddd; 
		padding: 30px 40px 20px 40px; 
		margin: 75px 0 0 0;
		width: 715px;
		background: #fff;
				
		/* -- CSS3 - define rounded corners for the form -- */	
		-webkit-border-radius: 10px;
		-moz-border-radius: 10px;
		border-radius: 10px; 		
		
		/* -- CSS3 - create a background graident -- */
		background: -webkit-gradient(linear, 0% 0%, 0% 40%, from(#EEE), to(#FFFFFF)); 
		background: -moz-linear-gradient(0% 40% 90deg,#FFF, #EEE); 
		
		/* -- CSS3 - add a drop shadow -- */
		-webkit-box-shadow:0px 0 50px #ccc;
		-moz-box-shadow:0px 0 50px #ccc; 
		box-shadow:0px 0 50px #ccc;		 		
	}	
	
	fieldset, select { border: none; }
	
	#user-details { 
		float: left;
		width: 230px; 
	}
	
	#user-message { 
		float: right;
		width: 405px;
	}
	
	input, textarea, select { 		
		padding: 8px; 
		margin: 4px 0 20px 0; 
		background: #fff; 
		width: 220px; 
		font-size: 14px; 
		color: #555; 
		border: 1px #ddd solid;
		
		/* -- CSS3 Shadow - create a shadow around each input element -- */ 
		-webkit-box-shadow: 0px 0px 4px #aaa;
		-moz-box-shadow: 0px 0px 4px #aaa; 
		box-shadow: 0px 0px 4px #aaa;
		
		/* -- CSS3 Transition - define what the transition will be applied to (i.e. the background) -- */		
		-webkit-transition: background 0.3s linear;							
	}
	
	textarea {		
		width: 390px; 
		height: 175px; 		 		
	}
	
	input:hover, textarea:hover { 
		background: #eee; 
	}
		
	input.submit { 	
		width: 150px; 
		color: #eee; 
		text-transform: uppercase; 
		margin-top: 10px;
		background-color: #18a5cc;
		border: none;
		
		/* -- CSS3 Transition - define which property to animate (i.e. the shadow)  -- */
		-webkit-transition: -webkit-box-shadow 0.3s linear;
		
		/* -- CSS3 - Rounded Corners -- */
		-moz-border-radius: 4px; 
		-webkit-border-radius: 4px;
		border-radius: 4px; 
						
		/* -- CSS3 Shadow - create a shadow around each input element -- */ 
		background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#18a5cc), to(#0a85a8)); 
		background: -moz-linear-gradient(25% 75% 90deg,#0a85a8, #18a5cc);		
	} 
	
	input.submit:hover { 		
		-webkit-box-shadow: 0px 0px 20px #555;
		-moz-box-shadow: 0px 0px 20px #aaa; 
		box-shadow: 0px 0px 20px #555;	
		cursor:  pointer; 
	} 		
				
	</style> 
	
</head> 
 
<body> 
	
	<form name="formulario_contato" id="formulario_contato "method="post" action="email.php"> 
	
		<h1>Seja um representante da METTAG ETIQUETAS!</h1>
				
		<fieldset id="user-details">	
			
			<label for="nome">Nome:</label>
			<input type="text" name="nome" id="nome" value="" placeholder="Digite seu nome completo" /> 
		
			<label for="email">E-mail:</label> 
			<input type="email" name="email" value="" placeholder="Digite seu E-mail"  /> 
		
			<label for="fone">Fone:</label> 
			<input type="text" name="fone" id="fone" value="" placeholder="Digite seu telefone"  /> 
		
			<label for="regiao">Região que deseja atuar:</label> 
			<select name="estado"> 
				<option value="estado">Selecione o Estado</option> 
				<option value="ac">Acre</option> 
				<option value="al">Alagoas</option> 
				<option value="am">Amazonas</option> 
				<option value="ap">Amapá</option> 
				<option value="ba">Bahia</option> 
				<option value="ce">Ceará</option> 
				<option value="df">Distrito Federal</option> 
				<option value="es">Espírito Santo</option> 
				<option value="go">Goiás</option> 
				<option value="ma">Maranhão</option> 
				<option value="mt">Mato Grosso</option> 
				<option value="ms">Mato Grosso do Sul</option> 
				<option value="mg">Minas Gerais</option> 
				<option value="pa">Pará</option> 
				<option value="pb">Paraíba</option> 
				<option value="pr">Paraná</option> 
				<option value="pe">Pernambuco</option> 
				<option value="pi">Piauí</option> 
				<option value="rj">Rio de Janeiro</option> 
				<option value="rn">Rio Grande do Norte</option> 
				<option value="ro">Rondônia</option> 
				<option value="rs">Rio Grande do Sul</option> 
				<option value="rr">Roraima</option> 
				<option value="sc">Santa Catarina</option> 
				<option value="se">Sergipe</option> 
				<option value="sp">São Paulo</option> 
				<option value="to">Tocantins</option> 
			</select>
			
		
		</fieldset><!--end user-details-->
		
		<fieldset id="user-message">
		
			<label for="mensagem">Mensagem:</label> 
			<textarea name="mensagem" id="mensagem" rows="0" placeholder="Digite sua mensagem" cols="0"></textarea> 
		
			<input type="submit" value="Enviar" name="submit" class="submit" />	
		
		</fieldset><!-- end user-message -->
		 
	</form>

</body> 
</html> 

Agora parou de aparecer o código na tela do navegador, porém quando eu clico em "ENVIAR" não acontece nada, o navegador fica processando o pedido, como se entrasse num LOOP INFINITO...

Vocês podem observar no canto inferior esquerdo da foto do formulário que esta escrito "AGUARDANDO METTAG.COM.BR" e fica só naquilo.

Se quiser fazer o teste você mesmo, entre no site:

http://www.mettag.com.br e clique em "SEJA NOSSO REPRESENTANTE" preencha o formulário e teste.

O que pode ser?

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se consegue fazer o debug dentro do if que redireciona para página de sucesso.

Por exemplo

 

 

if (smtpmailer('contato@site.com.br', 'meugmail@gmail.com', 'Enviador', 'Assunto', $Vai)) {

    var_dump($yourVar);
    exit;

}else{
 
    echo "Something is wrong!";
    exit;
 
}

 

Porque assim você consegue interromper o fluxo e debugar o programa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retire o header(). Até encontrar o problema, não redirecione.

Use echo e var_dump(), como sugerido

 

Também dê echo em $error dentro da função. Você imprimiu o valor dela fora da função. Ela é uma variável local à função e só existirá dentro dela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa assim e vê o que aparece:

<?php
$Nome   = $_POST["nome"]; // Pega o valor do campo Nome
$Fone   = $_POST["fone"]; // Pega o valor do campo Telefone
$Email    = $_POST["email"];  // Pega o valor do campo Email
$Mensagem = $_POST["mensagem"]; // Pega os valores do campo Mensagem

// Variável que junta os valores acima e monta o corpo do email

$Vai    = "Nome: $Nome\n\nE-mail: $Email\n\nTelefone: $Fone\n\nMensagem: $Mensagem\n";

require_once("phpmailer/class.PHPMailerAutoLoad.php");

define('GUSER', 'meuemail@gmail.com');  // <-- Insira aqui o seu GMail
define('GPWD', 'minhasenhadogmail');    // <-- Insira aqui a senha do seu GMail

function smtpmailer($para, $de, $de_nome, $assunto, $corpo) { 
  global $error;
  $mail = new PHPMailer();
  $mail->IsSMTP();    // Ativar SMTP
  $mail->SMTPDebug = 0;   // Debugar: 1 = erros e mensagens, 2 = mensagens apenas
  $mail->SMTPAuth = true;   // Autenticação ativada
  $mail->SMTPSecure = 'ssl';  // SSL REQUERIDO pelo GMail
  $mail->Host = 'smtp.gmail.com'; // SMTP utilizado
  $mail->Port = 587;      // A porta 587 deverá estar aberta em seu servidor
  $mail->Username = GUSER;
  $mail->Password = GPWD;
  $mail->SetFrom($de, $de_nome);
  $mail->Subject = $assunto;
  $mail->Body = $corpo;
  $mail->AddAddress($para);
  if(!$mail->Send()) {
    $error = 'Mail error: '.$mail->ErrorInfo; 
    echo $error;
    return false;
  } else {
    $error = 'Mensagem enviada!';
    return true;
  }
}

smtpmailer('contato@site.com.br', 'meugmail@gmail.com', 'Enviador', 'Assunto', $Vai);

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal consegui resolver o problema

Tinha vários errinhos, desde erros de sintaxe até erros semânticos.

Fora esses erros tive que trocar o phpmailer e deixar o require somente no phpmailerautoload.

require_once("phpmailer/PHPMailerAutoload.php");

Também alterei o SMTPSecure para TLS, pois estava SSL

$mail->SMTPSecure = 'tls'; 

Segue código PHP completo:

<?php
$nome   = $_POST["nome"]; // Pega o valor do campo Nome
$fone   = $_POST["fone"]; // Pega o valor do campo Telefone
$email    = $_POST["email"];  // Pega o valor do campo Email
$estado = $_POST["estado"]; // Pega o valor do campo estado
$mensagem = $_POST["mensagem"]; // Pega os valores do campo Mensagem

// Variável que junta os valores acima e monta o corpo do email

$Vai    = "Nome: $nome\n\nE-mail: $email\n\nTelefone: $fone\n\nMensagem: $mensagem\n\nRegião que deseja atuar: $estado";


require_once("phpmailer/PHPMailerAutoload.php");

define('GUSER', 'meuemail@gmail.com');  // <-- Insira aqui o seu GMail
define('GPWD', 'minhasenhagmail');    // <-- Insira aqui a senha do seu GMail

function smtpmailer($para, $de, $de_nome, $assunto, $corpo) { 
  global $error;
  $mail = new PHPMailer();
  $mail->IsSMTP();    // Ativar SMTP
  $mail->SMTPDebug = 0;   // Debugar: 1 = erros e mensagens, 2 = mensagens apenas
  $mail->SMTPAuth = true;   // Autenticação ativada
  $mail->SMTPSecure = 'tls';  // tsl REQUERIDO pelo GMail
  $mail->Host = 'smtp.gmail.com'; // SMTP utilizado
  $mail->Port = 587;      // A porta 587 deverá estar aberta em seu servidor
  $mail->Username = GUSER;
  $mail->Password = GPWD;
  $mail->SetFrom($de, $de_nome);
  $mail->Subject = $assunto;
  $mail->Body = $corpo;
  $mail->AddAddress($para);
  if(!$mail->Send()) {
    $error = 'Mail error: '.$mail->ErrorInfo; 
    echo $error;
    return false;
  } else {
    $error = 'Mensagem enviada!';
    return true;
  }
}

smtpmailer('contato@meudominio.com.br', 'meugmail@gmail.com', 'Enviador', 'Assunto', $Vai);

Header("location:http://www.obrigado.com.br"); // Redireciona para uma página de obrigado.

?> 

O código PHP acima esta 100% funcional, quem quiser usar, fique a vontade!

 

Obrigado a todos que ajudaram.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
    • Por First
      Olá a todos!
       
      Quando eu tento fazer o login me mostra esse erro "Could not log you in."; Alguém sabe me ajudar a resolver esse problema no meu código?
      <?php require_once("core/init.php"); if (Input::exists()) { if (Token::check(Input::get("token"))) { $validate = new Validate(); $validation = $validate->check($_POST, array( "username" => array("required" => true), "password" => array("required" => true) )); if ($validation->passed()) { $user = new User(); $remember = (Input::get("remember")) === "on" ? true : false; $login = $user->login(Input::get("username"), Input::get("password"), $remember); if ($login) { Session::flash("home", "Welcome back!"); Redirect::to("index.php"); } else { echo "Could not log you in."; } } else { foreach ($validation->errors() as $error) { echo $error."<BR>"; } } } } ?> <form action="" method="POST"> <div class="field"> <label for="username">Username</label> <input type="text" name="username" id="username"> </div> <div class="field"> <label for="password">Password</label> <input type="password" name="password" id="password"> </div> <div class="field"> <label for="remember"> <input type="checkbox" name="remember" id="remember"> Remember me </label> </div> <input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> <input type="submit" value="Log in"> </form>  
       
      Desde já obrigado.
    • Por ckcesar
      Eu tenho uma aplicação no zend com a versão 5.6 e com o postgresql 9.6. Agora eu precisei mudar a versão do meu postgresql para o 16.1, a parte de conexão do bd e consultas sqls funciona perfeitamente, o meu problema está para acessar os meus controllers. Eles não são encontrados em nenhuma rota, quero ver se alguém já passou por esse problema para me ajudar. Obrigado.
    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.