Jump to content


S4ur0N's Content

There have been 20 items by S4ur0N (Search limited from 29/03/2023)


Ordernar por                Order  

#989619 Problema Com Sessions E Classes

Posted by S4ur0N on 09/12/2009, 23:26 in PHP

No último trecho que código que você postou, tenta substituir a linha:
echo "$_SESSION["usuario"]->getNome()";

por...

echo $_SESSION["usuario"]->getNome();

sem as "aspas"...
Mais uma coisa, não reli o tópico pra ver se já foi perguntado... o PHP está exibindo os erros pra você?



#987953 Verificar Se O Email É Válido No Servidor

Posted by S4ur0N on 28/11/2009, 11:39 in PHP

Enviar email e esperar pelo erro pode não ser a melhor solução, pois vários administradores de rede configuram o servidor de email pra receber qualquer coisa e simplesmente ignorar caso a conta não exista. Isso evita que os spammers façam um flood pra descobrir as contas válidas.



#987952 Problema Com Sessions E Classes

Posted by S4ur0N on 28/11/2009, 11:32 in PHP

Fui testar todo o programa mas no primeiro, quem tem o echo tá dando erro e não consegue carregar a página. Fiz o programa inclusive um pouco mais simples, pois ele imprime direto com o echo sem testar e possivelmente transferir para o entrar.php, pois ele só é chamado se passar pelo login (e assim já foi testado).

Sabe porque está dando erro no echo???

Se você tirou a verificação, provavelmente tá dando erro porque a $_SESSION['usuario'] não existe.

2-
Quando coloco include("Usuario.php");
$_SESSION["usuario"] = new Usuario("João da Silva");

ele já "carrega" a função Usuario? Porque pelo que aprendi primeiro faria
a= new Usuario();
$_SESSION["usuario"]-> Usuario(João da Silva");

É como se fosse um construtor?

Usuário é uma classe, não uma função.

O include é pra carregar os arquivos.
$a= new Usuario(); << você tá instanciando um objeto Usuario na variável $a.
$_SESSION["usuario"]-> Usuario(João da Silva"); << você está chamando o método Usuario() do objeto que tá instanciado na variavel 'usuario' da session.

Você poderia fazer assim:
$a = new Usuario("João da Silva"); << instancia o objeto na variável
$_SESSION['usuario'] = $a; << joga a variável na session

1-
Preciso carregar todas as informações pessoais do usuario. Neste programa como faço? Pensei em criar um getNome, outro getEmail que acesso o MySQL tendo o usuario do getNome etc.
e acesso as informações por
$_SESSION["usuario"]->getNome();
$_SESSION["usuario"]->getEmail();

etc.

É assim mesmo?

Eu faria assim: depois de submetido o formulário de login, pega todos os dados do usuario e joga numa classe Usuario na session. Eu não faria os selects dentro da classe.



#987652 Problema Com Sessions E Classes

Posted by S4ur0N on 26/11/2009, 14:02 in PHP

Vê se esse exemplo ajuda:

<?php
//index.php
include("Usuario.php");
session_start();

if (!isset($_SESSION["usuario"]))
    header("location: entrar.php");

echo "Olá {$_SESSION["usuario"]->getNome()}!";

?>

<?php
//entrar.php
include("Usuario.php");
session_start();

$_SESSION["usuario"] = new Usuario("João da Silva");

header("location: ./");

?>

<?php
//Usuario.php
class Usuario{
    
    private $nome;
    
    public function Usuario($nome) {
    	$this->nome = $nome;
    }
    
    public function getNome() {
    	return $this->nome;
    }

}
?>



#987499 Problema Com Sessions E Classes

Posted by S4ur0N on 25/11/2009, 19:18 in PHP

Cara, essa classe é usada pra armazenar informações do usuário na session? O que exatamente deveria acontecer e não está acontecendo?

Uma coisa, não testei, mas a forma correta de instanciar uma classe é assim: new informacoesUser(); << com os parênteses. E você precisa dar o session_start() pra iniciar a session.



#983239 Php + Blog

Posted by S4ur0N on 10/10/2009, 11:33 in PHP

<?php include("meuarquivo.php"); ?>

Espero que essa não seja a resposta para a sua dúvida... explica melhor ai.



#969123 Gerar Rtf Com Php

Posted by S4ur0N on 30/05/2009, 16:26 in PHP

Abra o seu arquivo rtf com o notepad e veja o fonte, vai ser algo assim:
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Courier New;}}
{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\lang1046\f0\fs20 ol\'e1 mundo!\par
}

Ai é só você identificar os dados variáveis e salvar um novo arquivo rtf com este conteúdo.
Pra imprimir direto eu não sei se tem como.



#966272 Php Para Pdf

Posted by S4ur0N on 06/05/2009, 14:30 in PHP

Dá uma lida nos tutoriais: http://www.fpdf.org/



#966012 Valorporextenso()

Posted by S4ur0N on 04/05/2009, 12:04 in Artigos, Dicas e Tutoriais de PHP

Esse aqui funciona bem:

<?php


/*

	   Nome:  extenso.inc
	  Autor:  Jairo Raiol
	   Data:  28/02/2002
  Linguagem:  PHP 4
   Compilar:  -
	   Nota:  Esta funcao fornece o valor por extenso.

	Exemplo:  extenso( 12345678.90, "real", "reais", "centavo", "centavos" );

*/


function extenso( $valor, $moedaSing, $moedaPlur, $centSing, $centPlur ) {

   $valorExt = "";

   $centenas = array( 0,
	   array(0, "cento",		"cem"),
	   array(0, "duzentos",	 "duzentos"),
	   array(0, "trezentos",	"trezentos"),
	   array(0, "quatrocentos", "quatrocentos"),
	   array(0, "quinhentos",   "quinhentos"),
	   array(0, "seiscentos",   "seiscentos"),
	   array(0, "setecentos",   "setecentos"),
	   array(0, "oitocentos",   "oitocentos"),
	   array(0, "novecentos",   "novecentos") );

   $dezenas = array( 0,
			"dez",
			"vinte",
			"trinta",
			"quarenta",
			"cinquenta",
			"sessenta",
			"setenta",
			"oitenta",
			"noventa" );

   $unidades = array( 0,
			"um",
			"dois",
			"três",
			"quatro",
			"cinco",
			"seis",
			"sete",
			"oito",
			"nove" );

   $excecoes = array( 0,
			"onze",
			"doze",
			"treze",
			"quatorze",
			"quinze",
			"dezeseis",
			"dezesete",
			"dezoito",
			"dezenove" );

   $extensoes = array( 0,
	   array(0, "",	   ""),
	   array(0, "mil",	"mil"),
	   array(0, "milhão", "milhões"),
	   array(0, "bilhão", "bilhões"),
	   array(0, "trilhão","trilhões") );

   $valorForm = trim( number_format($valor,2,".",",") );

   $inicio	= 0;

   if ( $valor <= 0 ) {
	  return ( $valorExt );
   }

   for ( $conta = 0; $conta <= strlen($valorForm)-1; $conta++ ) {
	  if ( strstr(",.",substr($valorForm, $conta, 1)) ) {
		 $partes[] = str_pad(substr($valorForm, $inicio, $conta-$inicio),3," ",STR_PAD_LEFT);
		 if ( substr($valorForm, $conta, 1 ) == "." ) {
			break;
		 }
		 $inicio = $conta + 1;
	  }
   }

   $centavos = substr($valorForm, strlen($valorForm)-2, 2);

   if ( !( count($partes) == 1 and intval($partes[0]) == 0 ) ) {
	  for ( $conta=0; $conta <= count($partes)-1; $conta++ ) {

		 $centena = intval(substr($partes[$conta], 0, 1));
		 $dezena  = intval(substr($partes[$conta], 1, 1));
		 $unidade = intval(substr($partes[$conta], 2, 1));

		 if ( $centena > 0 ) {

			$valorExt .= $centenas[$centena][($dezena+$unidade>0 ? 1 : 2)] . ( $dezena+$unidade>0 ? " e " : "" );
		 }

		 if ( $dezena > 0 ) {
			if ( $dezena>1 ) {
			   $valorExt .= $dezenas[$dezena] . ( $unidade>0 ? " e " : "" );

			} elseif ( $dezena == 1 and $unidade == 0 ) {
			   $valorExt .= $dezenas[$dezena];

			} else {
			   $valorExt .= $excecoes[$unidade];
			}

		 }

		 if ( $unidade > 0 and $dezena != 1 ) {
			$valorExt .= $unidades[$unidade];
		 }

		 if ( intval($partes[$conta]) > 0 ) {
			$valorExt .= " " . $extensoes[(count($partes)-1)-$conta+1][(intval($partes[$conta])>1 ? 2 : 1)];
		 }

		 if ( (count($partes)-1) > $conta and intval($partes[$conta])>0 ) {
			$conta3 = 0;
			for ( $conta2 = $conta+1; $conta2 <= count($partes)-1; $conta2++ ) {
			   $conta3 += (intval($partes[$conta2])>0 ? 1 : 0);
			}

			if ( $conta3 == 1 and intval($centavos) == 0 ) {
			   $valorExt .= " e ";
			} elseif ( $conta3>=1 ) {
			   $valorExt .= ", ";
			}
		 }

	  }

	  if ( count($partes) == 1 and intval($partes[0]) == 1 ) {
		 $valorExt .= $moedaSing;

	  } elseif ( count($partes)>=3 and ((intval($partes[count($partes)-1]) + intval($partes[count($partes)-2]))==0) ) {
		 $valorExt .= " de " + $moedaPlur;

	  } else {
		 $valorExt = trim($valorExt) . " " . $moedaPlur;
	  }

   }

   if ( intval($centavos) > 0 ) {

	  $valorExt .= (!empty($valorExt) ? " e " : "");

	  $dezena  = intval(substr($centavos, 0, 1));
	  $unidade = intval(substr($centavos, 1, 1));

	  if ( $dezena > 0 ) {
		 if ( $dezena>1 ) {
			$valorExt .= $dezenas[$dezena] . ( $unidade>0 ? " e " : "" );

		 } elseif ( $dezena == 1 and $unidade == 0 ) {
			$valorExt .= $dezenas[$dezena];

		 } else {
			$valorExt .= $excecoes[$unidade];
		 }

	  }

	  if ( $unidade > 0 and $dezena != 1 ) {
		 $valorExt .= $unidades[$unidade];
	  }

	  $valorExt .= " " . ( intval($centavos)>1 ? $centPlur : $centSing );

   }

   return ( $valorExt );

}

?>



#965910 Problema Com Form

Posted by S4ur0N on 02/05/2009, 13:55 in PHP

Para ser escrito a URL na sua função javascript o formulário precisa ser submetido, mas em vez disso ele está chamando a função. O que exatamente você queria fazer com isso ai?



#965229 Redirecionamento Manual Atraves De Um Botao...

Posted by S4ur0N on 25/04/2009, 20:40 in PHP

Assim?
<a href="<?=$_GET['url']?>">Download</a>



#964715 Somar Horas

Posted by S4ur0N on 21/04/2009, 17:39 in PHP

Tenta fazer tudo usando timestamp, e depois converta o resultado pra horas manualmente com divisão.



#964542 Criar Link

Posted by S4ur0N on 20/04/2009, 11:37 in PHP

Não entendi direito, seria algo assim?
$linha['link'] = "<a href=\"estudo.php?id={$linha['id']}\">{$linha['data']} - {$linha['titulo']}</a>";
echo $linha['link'];



#964540 Erro, Notice: Use Of Undefined Constant

Posted by S4ur0N on 20/04/2009, 11:27 in PHP

Faltou as aspas. E se no primeiro if você quer ver se a variável existe, o correto é usar o isset() :
<?
if (!isset($_GET['secao'])) {
  $_GET['secao']="centro";
}
$verificacao = eregi("http|ftp|https|www|wget", $_GET['secao']);
if($verificacao)
  $_GET['secao']="ilegal";
include("{$_GET['secao']}.php");
?>



#964530 Problemas Com Alinhamento...

Posted by S4ur0N on 20/04/2009, 11:01 in HTML, CSS e Metodologias

Aqui aparece corretamente. Não tem nenhum div antes dela mandando alinhar no centro?



#964529 Problema Com Css

Posted by S4ur0N on 20/04/2009, 10:58 in Javascript / DOM / AJAX / ECMAScript

O topo e a base possuem altura fixa. Qual seria a melhor maneira de fazer?



#964526 Mudar Endereço Das Paginas

Posted by S4ur0N on 20/04/2009, 10:56 in HTML, CSS e Metodologias

Dentro do diretório inscricao, crie o arquivo index.php com o seguinte conteúdo:
<?php
header("location: www.meusite.com.br/inscricao.html");
?>



#964416 Mudar Endereço Das Paginas

Posted by S4ur0N on 18/04/2009, 11:48 in HTML, CSS e Metodologias

Cria o diretório /inscricao e coloque o código de redirecionamento no index.

Se o site for todo em HTML, usa a tag abaixo:
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=www.meusite.com.br/inscricao.html">

Se usa alguma outra linguagem, dai use o redirecionamento no servidor, tipo o header() do PHP.



#964411 Problema Com Css

Posted by S4ur0N on 18/04/2009, 11:28 in Javascript / DOM / AJAX / ECMAScript

To tentando fazer o layout ocupar toda a tela. Mas com o código abaixo, o div do meio fica com 100% da altura da tela, fazendo aparecer a barra de rolagem e escondendo o div de baixo. Como posso corrigir isso?

<div style="height:100%;">
  <div style="">topo</div>
  <div style="height:100%;">centro</div>
  <div style="">base</div>
</div>



#957152 Exibir Resultado Mesmo Que Alguma Coluna Seja Nula

Posted by S4ur0N on 09/02/2009, 11:29 in Teoria em Banco de Dados

Tenho uma tabela de usuários e uma tabela de compras. Preciso exibir um usuário e a soma do valor de todas as compras de determinado tipo deste usuário. Imagino algo assim:

select
  u.nm_usuario nome,
  sum(c.vl_compra) total
from
  usuarios u,
  compras c
where
  u.cd_usuario = c.cd_usuario and
  u.cd_usuario = 3 and
  c.tipo = 'D'
group by
  u.nm_usuario

Mas quando não existe compras com o tipo definido, o select não retorna nada. Eu precisava que ele retornasse zero, nulo ou algo do tipo.




IPB Skin By Virteq