Jump to content


Photo

Function Não Funciona =x


  • Faça o login para participar
8 replies to this topic

#1 Aloha

Aloha

    Turista

  • Usuários
  • 27 posts
  • Sexo:Não informado

Posted 12/09/2008, 10:53

Olá, bom dia...

Estou desenvolvendo um sistema financeiro aqui para onde eu trabalho (começei ontem, haha)
E inventei a frescura de imprimir na página "Olá $USUÁRIO, Bom dia!" ou boa tarde/boa noite...

Aí no arquivo de funções coloquei:
// GERAR BOM DIA/TARDE/NOITE
function periodo() {
	$time = time();
	$hora = date('G', $time);
	switch ($hora) {
		case 0:
		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
		case 6:
		case 7:
		case 8:
		case 9:
		case 10:
		case 11:
			$periodo = 'bom dia!';
			break;
		case 5:
		case 12:
		case 13:
		case 14:
		case 15:
		case 16:
		case 17:
			$periodo = 'boa tarde!';
			break;
		case 18:
		case 19:
		case 20:
		case 21:
		case 22:
		case 23:
			$periodo = 'boa noite!';
			break;
	}
}

dei a chamada do arquivo de funções no arquivo que quero imprimir, e coloquei "echo( periodo() );", só que não aparece nada...

O que fiz errado?
PS: nunca mechi com 'functions' :P

Obrigado des de já.

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 12/09/2008, 11:02

<?php
function periodo()
{
	$time = time();
	$hora = date('G', $time);

	if( $hora >= 0 && $hora < 12 )
		$periodo = 'Bom dia!';
	else if( $hora >= 12 && $hora < 18 )
		$periodo = 'Boa tarde!';
	else
		$periodo = 'Boa noite!';

return $periodo;
}
?>

Por que não? :D

Não testei a sua, mas provavelmente retornou em branco porque você não colocou retorno nela. ;)

[]'sAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 Aloha

Aloha

    Turista

  • Usuários
  • 27 posts
  • Sexo:Não informado

Posted 12/09/2008, 17:47

hahaha

Eu pensei em mecher com IF para fazer isso...
Mas só sabia comparar o IF se é igual a algo...
Não sabia como fazer ele ver se é menor a X, ou maior a Y.. :P

Valeu Paulo, funcionou ;)

Abraços.

E neste caso que eu coloquei o retorna?

function salva_cadastro($nome_1, $nome_2, $email, $data_nasc, $user, $senha) {

	$inserir = mysql_query("INSERT INTO " . TABELA_USERS . " (nome_1,nome_2,email,data_nasc,user,senha) VALUES ('$nome_1','$nome_2','$email','$data_nasc','$user','$senha');") or die(mysql_error());
	
	if($inserir) { 
		$mensagem = 'OK';
	} 
	else {
		$mensagem = 'ERRO';
	}
	return $mensagem;

}



Abraços.

Edição feita por: Aloha, 12/09/2008, 17:47.


#4 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 12/09/2008, 21:30

E como você está chamando esta função? Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#5 Aloha

Aloha

    Turista

  • Usuários
  • 27 posts
  • Sexo:Não informado

Posted 15/09/2008, 11:21

Ah, mudei os esquemas aqui...

Pois assim, tenho uma página só para fazer todas as oprações com o banco de dados, essa página chama:
banco_dados.php, e eu estou trabalhando com um switch nela, assim:
<?php 

include('includes/includes.php');

$id = $_GET['id'];

switch ($id) {
	case 'cadastro_novo':
		$salva = salva_cadastro();
		if ($salva) 
		{
			$mensagem = 'OK';
		} else 
		{
			$mensagem = 'ERRO';
		}
		break;
	case 'cadastro_edita':
		[........]
	case 'banco_novo':
		[........]
		break;
				
}//fecha switch

?>

No caso, a função ficou assim agora:
function salva_cadastro() 
{

	$nome_1 = $_POST['nome_1'];
	$nome_2 = $_POST['nome_2'];
	$email = $_POST['email'];
	$data_nasc = $_POST['data_nasc'];
	$user = $_POST['user__'];
	$senha = $_POST['senha__'];
	
	$senha = md5($senha);
	$inserir = mysql_query("INSERT INTO " . TABELA_USERS . " (nome_1,nome_2,email,data_nasc,user,senha) VALUES ('$nome_1','$nome_2','$email','$data_nasc','$user','$senha');") or die(mysql_error());

}


Assim o banco_dados.php fica mais "limpo"...
Só que sempre imprime "ERRO", salvando ou não no banco.. :S


Amplexos.

Edição feita por: Aloha, 15/09/2008, 11:42.


#6 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 15/09/2008, 11:26

Bom, erro de sintaxe para não haver, provavelmente deve estar inserindo no banco, certo?

Mas se você esperava algum retorno, no caso um 'ok' ou 'erro', você deveria imprimir na tela, no momento da chamada da função, assim:

echo salva_cadastro(...);

[]'sAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#7 Aloha

Aloha

    Turista

  • Usuários
  • 27 posts
  • Sexo:Não informado

Posted 15/09/2008, 11:42

Paulo, desculpa, mas demorei na página de edição do post =x

É que mudei o esquema, da uma olhadinha no post de novo.

#8 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 15/09/2008, 11:50

Então, novamente, salva_cadastro() está sem retorno, logo:

$salva = salva_cadastro();

Sempre será falso porque não existe nada, consequentemente caindo no else desta condição, imprimindo o erro.

Tente fazer o retorno assim:

if( $inserir )
{
	return true;
}
else
{
	return false;
}

[]'sAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#9 Aloha

Aloha

    Turista

  • Usuários
  • 27 posts
  • Sexo:Não informado

Posted 15/09/2008, 12:07

Funcionou :D

Vlw Paulo :D

Obrigado.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq