Jump to content


mestreteia's Content

There have been 60 items by mestreteia (Search limited from 27/04/2023)



Ordernar por                Order  

#567550 Output De Jpg (gd)

Posted by mestreteia on 12/04/2005, 08:41 in PHP

A questão não era a letra em maiúscula ou não. O que ocorreu foi a falta de uma informação dentro do php.ini:

; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:/php/extensions"


Era só isso. Mesmo assim, trabalhar com GD ainda demanda maior conhecimento.



#567298 Output De Jpg (gd)

Posted by mestreteia on 11/04/2005, 15:42 in PHP

Troquei para maiúsculo e nada... eu verifiquei no manual do PHP e só consta q preciso ter o php_gd2.dll na pasta raiz do PHP e configurar o php.ini. Fiz isso. Eu teria que configurar ou instalar algo além do q é pedido?



#567283 Output De Jpg (gd)

Posted by mestreteia on 11/04/2005, 15:05 in PHP

Utilizo a versão 4.3.10 do PHP e já configurei o php.ini para utilizar GD para redimensionar o tamanho de imagens JPG.

O problema ocorre no output da imagem na página, sai tudo codificado. O que acontece? Peguei diversos scripts e creio q a maioria esteja correta. O último que usei foi:

   header("Content-type: image/jpeg");
$imagem = "9.jpg";

    $im      = imagecreatefromjpeg($imagem);
    $largurao = imagesx($im);
$alturao  = imagesy($im);
$alturad  = 75;
    $largurad = 75;

$nova    = imagecreatetruecolor($largurad,$alturad);
imagecopyresized($nova,$im,0,0,0,50,$largurad,$alturad,$largurao-20,$alturao-50);
    imagejpeg($nova);
    imagedestroy($nova);
imagedestroy($im);

Já dei uma fuçada nos tópicos daqui e não achei nada relacionado.

Obrigado



#565386 Mostrar Dados Do Mysql

Posted by mestreteia on 06/04/2005, 17:41 in PHP

Tenta colocar isso logo após <?:

session_start();



#565325 Sistema Colunistas...

Posted by mestreteia on 06/04/2005, 16:29 in PHP

Existe uma forma melhor de relacionar dados das tabelas:

"SELECT $tabela.*,$tabela2.* FROM $tabela, $tabela2 WHERE $tabela.parent = $tabela2.id ORDER by $tabela.$ordenado $ordem LIMIT $inicio, $limite"

Dessa mesma forma acima é possível escolher dois dados, mesmo que tenham o mesmo nome. O que vai diferenciá-los é o "$tabela." e "$tabela2."

Valeu?



#565299 Não Rendireciona

Posted by mestreteia on 06/04/2005, 16:07 in PHP

Cara, vou colocar o script que uso para minha página de login:

<?

//Verifica a existência das sessões
$sessao_login = isset ($_SESSION["login"])?$_SESSION["login"]:"";
$login = isset ($_POST["login"])?$_POST["login"]:"";
$senha = isset ($_POST["senha"])?$_POST["senha"]:"";
$logoff = isset ($_GET["logoff"])?$_GET["logoff"]:"";

include("conexao_banco.inc");

//Destrói a sessão aberta
if ($logoff == "ok"){
  session_unset();
   session_destroy();
  header("location:pagina_principal.php");
}

if (isset ($_POST["sair"])){
	session_destroy();
	header("location:página_principal.php");
}

//Se existir a sessão $sessao_login, vá para a página inicio.php, senão, conecte-se ao banco. Se a conexão retornar verdadeira, selecione as colunas da tabela usuarios onde a coluna usu_login seja igual à variável $login
if ($sessao_login==""){
	if ($login!=""){
  if ($conn==TRUE){
 	 $SQL = "SELECT usu_login, usu_nome, usu_tipo FROM usuarios WHERE usu_login='$login'";
    $res = mysql_query($SQL);
    list($log, $nom, $tip)=mysql_fetch_row($res);
    //echo "$log, $nom, $tip <br> $SQL";
    $_SESSION["login"]=$log;
    $_SESSION["tipo"]=$tip;
    $_SESSION["senha"]=$senha;
    $_SESSION["usuario"]=$nom;
    header("location:pagina_principal.php");
  }
	}
?>
<!--Formulário para efetuar login-->
<form action="" name="tela_login" method="POST">
<table border="0" cellpadding="3" cellspacing="0" width="225" height="70" align="center" bgcolor="#EFC081" style="border:1.5pt solid #CB801B">
	<tr>
  <td>
  Login:
  </td>
  <td>
  <input type="text" name="login" size="10" maxlength="15">
  </td>
	</tr>
	<tr>
  <td>
  Senha:
  </td>
    <td>
    <input type="password" name="senha" size="10" maxlength="15">&nbsp;<input type="submit" name="logar" value="LOGAR" class="botao_laranja">
    </td>
	</tr>

</table>


Na página onde eu quero validar se existe a sessão, eu coloco:

//início da sessão//
session_start();
	
//variáveis para conexão com o banco de dados//
$login = isset($_SESSION["login"])?$_SESSION["login"]:"";
$senha = isset($_SESSION["senha"])?$_SESSION["senha"]:"";

//informações para diferenciar as permissões desta página//
$usuario = isset($_SESSION["usuario"])?$_SESSION["usuario"]:"";
$tipo = isset($_SESSION["tipo"])?$_SESSION["tipo"]:"";
$nome = isset ($_SESSION["usuario"])?$_SESSION["usuario"]:"";

OBS: Não criei uma coluna "senha". Eu trabalho de forma diferente, colocando o usuário e senha para acessar o banco de dados e não as tabelas. É mais fácil controlar as permissões dessa forma.



#564859 Sistema Colunistas...

Posted by mestreteia on 05/04/2005, 17:02 in PHP

Você já tentou dessa forma:

SELECT *, COUNT(*) FROM membros WHERE id= '$parent'

Tem q tomar cuidado com o grau de relação entre elas, se é de 1 pra N ou N pra N. Isso é importante para saber se vai precisar de uma tabela intermediária.



#564634 Não Rendireciona

Posted by mestreteia on 05/04/2005, 09:50 in PHP

O que vc colocou na painel_de_controle.php para aceitar a validação do login?

Na página restrita tem que ter uma validação da sessão, tipo:

session_start();
$login = isset ($_SESSION["login"])?$_SESSION["login"]:"";
$senha = isset ($_SESSION["senha"])?$_SESSION["senha"]:"";

if ($login!=""){

//mostre a página

}else{

//volte para a página de login

}


E ainda, você pode colocar uma campo em sua tabela onde diferencie administradores de usuários, se for o caso.



#564622 Formatar Data

Posted by mestreteia on 05/04/2005, 09:39 in PHP

Uma outra forma de se obter a data, e formatá-la de acordo com o idioma local, é utilizando a função setlocale.

  setlocale (LC_TIME, "portuguese");//visite: [URL=http://br.php.net/manual/pt_BR/function.setlocale.php ]setlocale[/URL] para ter uma noção melhor
  $data = ucwords(strftime("%A, %d de %B de %Y"));
  $semana = str_replace("De ","de ", $data);
  echo "$semana";

É um solução prática para evitar aquele script em javascript que troca os valores numéricos dos meses por seus respectivos nomes.

Essa função depende que o servidor tenha o idioma instalado, senão não funciona adequadamente.



#564369 Formatar Data

Posted by mestreteia on 04/04/2005, 15:55 in PHP

Vc pode trabalhar com datas em qualquer formato vindo do BD. Por exemplo:

Você colocou a data no BD no formato TIMESTAMP aaaa/mm/dd hh:mm:ss

Para resgatá-la, crie uma função do tipo:

function trans_data($date){
list($ano,$mes,$dia,$hora,$min,$seg) = split('[- :]',$date);//dê uma olhada no manual para ver a função split com mais detalhes
echo "$dia/$mes/$ano";
}

Depois vc pode adaptar a mesma função para gerar a hora.

Isso ajuda?



#562070 Cookie Nao Apaga

Posted by mestreteia on 31/03/2005, 08:01 in PHP

Vejam essas 3 páginas como exemplo de inserir e remover cookies.

Attached Files

  • Attached File  site.rar   570bytes   5 downloads



#561862 Cookie Nao Apaga

Posted by mestreteia on 30/03/2005, 16:48 in PHP

tenta o seguinte na página onde vc irá remover o cookie:

setcookie("exemplo","");

Perceba as aspas na parte onde fica o valor.



#561716 "if" Não Tiver Nada, Não Mostra Nada, Como?

Posted by mestreteia on 30/03/2005, 12:56 in PHP

Se vc está usando o script q vc postou, vai dar erro porque o segundo "temp" que vc informou não está caracterizado como variável.

if ($temp!=""){
echo "($temp)";
}

Se vc não quer que apareça nada se a variável $temp estiver vaiza, pra que mencionar? É mais trabalhar somente no caso dela existir. A não ser que vc faça dessa forma:

$temp = isset($_POST["temp"])?$_POST["temp"]:"";

Esse caso é interessante quando vc trabalha com variáveis que podem ter seu valor vazio, por exemplo:

$logar = isset($_POST["logar"])?$_POST["logar"]:"";

if ($logar==""){
mostre o formulário para preenchimento de login e senha
}else{
mostre a mensagem:"você está logado"
}



#561609 Parâmetro Na Query

Posted by mestreteia on 30/03/2005, 09:32 in PHP

Quando vc coloca queries para serem executadas pelo PHP, vc tem que tomar cuidado para o fato de pessoas poderem injetar um código malicioso nela. Tipo:

select * from table where id=12345;shutdown

E o cara pode injetar sim porque ele pode colocar aspas em algum campo que será lido pelo PHP. E esse campo é uma variável que está dentro da query.

Para evitar isso, vc pode parametrizar a query colocando um símbolo de escape, tipo "?". Depois é que vc vai dizer o que recebe esse símbolo, como no exemplo que eu dei no início.



#561602 Mensagem

Posted by mestreteia on 30/03/2005, 09:08 in PHP

Se você tem um usuário e esse usuário vai ter uma lista de outros usuários, você terá que ter uma tabela para armazenar os amigos. Uma tabela estruturada é a chave para se ter uma comunicação melhor entre os dados.

Depois que vc criar a tabela "amigos" é só criar uma função que pegará todos os e-mails dessa tabela e enviará as mensagens que vc quiser. É isso?



#561221 Tenho Um Sistema De Cadastro E Login

Posted by mestreteia on 29/03/2005, 15:33 in PHP

Na página restrita vc tem que colocar algum tipo de restrição. Você pode usar uma opção assim:

if (isset ($_SESSION["login"])!=""){

corpo da página com conteúdo restrito

}else{

header ("location:index.php");

}


Para ser mais criterioso, você pode trocar a condição para atender um resultado do banco de dados, por exemplo:

//$tipo_usuario é uma variável que recebe um valor do banco de dados

if ($tipo_usuario == "administrador"){

corpo da página

}else{

header ("location:index.php");

}


Eu uso as variáveis de sessão para guardar a senha e o login do usuário para acessar a base de dados. E uso os campos dessa base para dizer se o usuário tem privilégios ou não para acessar determinado conteúdo. Porque mesmo que o cara consiga criar uma sessão, ele não terá acesso ao banco se os valores login e senha não forem atendidos corretamente e ele não verá a página.



#561200 Sistema De Busca

Posted by mestreteia on 29/03/2005, 15:05 in PHP

Você coloca uma condição na query. Eu não entendi se são duas buscas diferentes. Se for, faz o seguinte:

SELECIONE idade DA tabela ONDE idade >= $valor_idade;

SELECIONE idade DA tabela ONDE idade <= $valor_idade;

E faz o contrário quando for para pegar só os menores de idade.

É isso?



#561198 Mensagem

Posted by mestreteia on 29/03/2005, 14:59 in PHP

Se você for usar banco de dado fica mais fácil. É só vc passar um valor qualquer, através de POST, para a página que deseja ler. Nessa página, resgate o valor e salve no banco de dados. Logo, quando vc exibir a lista com as mensagens que estiverem na caixa de entrada, é só ver a condição "SELECIONE mensagem DA tabela ONDE lida = 'sim'". Com isso vc tb faz a formatação para deixar o texto em negrito quando não for lida.



#561182 Tenho Um Sistema De Cadastro E Login

Posted by mestreteia on 29/03/2005, 14:47 in PHP

Se vc está passando os valores de login e senha por sessão, é bem simples:

Crie uma função para confirmar a saída do sistema (opcional):

<script language="JavaScript" type="text/javascript">
<!--
function confirma_saida(){
  caixa = confirm("Deseja sair do sistema?");
    if (caixa==true){
    window.location="index.php?logoff=ok";
    }
}
-->
</script>


Depois crie o botão de logout:

<input type="submit" name="logout" value="LOGOUT" onClick="confirma_saida()" class="botao">



Na pagina index.php, é só colocar o seguinte:

$logoff = isset ($_GET["logoff"])?$_GET["logoff"]:"";

if ($logoff == "ok"){
  session_unset();
  session_destroy();
  header("location:portusnet.php");
}


Se for diferente, é só postar de novo.



#561146 Parâmetro Na Query

Posted by mestreteia on 29/03/2005, 13:51 in PHP

Estou trabalhando com ODBC para comunicação com banco de dado, no caso, estou utilizando MySQL. Também estou tentando trabalhar com parâmetros, por questões de segurança. Acontece que o resultado da query, utilizando o parâmetro, fica completamente louco. O resultado é mostrado assim:

login - - nome - ð‘|=

E este é o código:

<?
//$login e $senha recebem valor de sessão

$conn = odbc_connect("banco", $login, $senha);

$SQL = "SELECT * FROM tabela WHERE [B]$login = ?[/B]";

$prep = odbc_prepare($conn, $SQL);
$res = odbc_execute($prep, [B]array($login)[/B]);

while (odbc_fetch_row($prep)){
echo "login - ".odbc_result($prep,"col1");
echo "- nome - ".odbc_result($prep,"col2")."<br>";
}

Versão do PHP 4.3.



#540834 Gravando Resultado

Posted by mestreteia on 22/02/2005, 09:38 in PHP

no index.php vc pode colocar assim embaixo do form do login:

<?
if (isset ($_GET['causa']) !="" ){
echo "$causa";
}
?>


Isso ajuda?



#477493 Pegar Valores De Uma Página

Posted by mestreteia on 05/11/2004, 17:35 in PHP

Na hora de gravar a sessão, faz o seguinte:

if($verifica==1){
session["nick"]=$nick;
session["senha"]=$senha;
header("location: suaconta.php");
}


na página suaconta.php:

@session_start();
$nick = isset ($_SESSION["nick"])?$_SESSION["nick"]:"";
$senha = isset ($_SESSION["senha"])?$_SESSION["senha"]:"";


no html:

Bem vindo, <?=ucfirst($nick);?>! A sua senha é: <?=$senha;?>




#443735 Formulário

Posted by mestreteia on 13/09/2004, 16:39 in HTML, CSS e Metodologias

Isso é fácil usando php.



#437975 Campo De Texto

Posted by mestreteia on 03/09/2004, 12:22 in Javascript / DOM / AJAX / ECMAScript

Tentei achar essa dúvida aqui mas não consegui...

Já tenho um código de máscara de entrada. Acontece que eu tenho um campo com 7 dígitos onde não é necessário incluir todos eles. Exemplo:
máscara - 999.999-9
digitando - 123.456-7

porém, quando o código for somente 456-7, ele fica assim - "456.7". Isso porque a digitação é feita da esquerda para a direita.

O que eu quero é que, ou ele preencha os espaços da frente com zeros, ou que a digitação aconteça da direita para a esquerda.

Muito obrigado pela ajuda.



#427645 Formulario

Posted by mestreteia on 18/08/2004, 10:53 in PHP

você vai precisar fazer 4 páginas: 2 em salvas com extensão .php e as outras com extensão .htm

-->página "fale_conosco.htm":

Monte o seu formulário corretamente (com os nomes dos campos sem acentuação e sem espaços, para evitar problemas com o seu servidor)

ex:

<form name="senddata" method="post" action="send.php">
        <table width="294" border="0" cellpadding="0" cellspacing="0" bordercolor="#0066FF">
          <tr>
            <td width="75"><font size="2" face="Arial, Helvetica, sans-serif">Nome:</font><i><b></b></i></td>
            <td width="219"><i><b>
              <input name="nome" type="text" size="30" maxlength="45">
              </b></i></td>
          </tr>
          <tr>
            <td><font size="2" face="Arial, Helvetica, sans-serif">E-mail:</font><i><b></b></i></td>
            <td><i><b>
              <input name="email" type="text" size="30" maxlength="45">
              </b></i></td>
          </tr>
          <tr>
            <td valign="top"> <font size="2" face="Arial, Helvetica, sans-serif">Mensagem:</font></td>
            <td><i><b>
              <textarea name="textodamensagem" cols="30" rows="4"></textarea>
              </b></i></td>
          </tr>
          <tr>
            <td><div align="left"><i><b> </b></i></div></td>
            <td><div align="left"><i><b>
                <input type="submit" name="enviar" value="Enviar">
                <input type="reset" name="reset" value="Limpar">
                </b></i></div></td>


repare que o action está direcionando para send.php

-->página "send.php"

edite o código dessa forma:

<?php
$date = date("d/m/Y h:i");

include "config.php";

//ENVIO DA MENSAGEM ORIGINAL
$headers = "$cabecalho_da_mensagem_original";
if ($assunto_digitado_pelo_usuario=="n")
{
  $assunto = "$assunto_da_mensagem_original";
};
$seuemail = "$email_para_onde_vai_a_mensagem";
$mensagem = "$configuracao_da_mensagem_original";
mail($seuemail,$assunto,$mensagem,$headers);

//ENVIO DE MENSAGEM DE RESPOSTA AUTOMATICA
$headers = "$cabecalho_da_mensagem_de_resposta";
if ($assunto_digitado_pelo_usuario=="n")
{
  $assunto = "$assunto_da_mensagem_de_resposta";
}
else
{
  $assunto = "Re: $assunto";
};
$mensagem = "$configuracao_da_mensagem_de_resposta";
mail($email,$assunto,$mensagem,$headers);

echo "<script>window.location='$exibir_apos_enviar'</script>";

?>


esse código possui alguns campos q eu não criei na minha página "fale_conosco.htm", como "assunto" e "headers" (vc pode criá-los, se necessário)

--> página "config.php"

<?php

//CONFIGURAÇÕES SOBRE SEU SITE
$nome_do_site="Seu site";
$email_para_onde_vai_a_mensagem = "seuemail@email.com.br";
$nome_de_quem_recebe_a_mensagem = "Voce";
$exibir_apos_enviar='enviado.html';

//ESSA VARIAVEL DEFINE SE É O USUARIO QUEM DIGITA O ASSUNTO OU SE DEVE ASSUMIR O ASSUNTO DEFINIDO
//POR VOCÊ CASO O USUARIO DEFINA O ASSUNTO PONHA "s" NO LUGAR DE "n" E CRIE O CAMPO DE NOME
//'assunto' NO FORMULARIO DE ENVIO
$assunto_digitado_pelo_usuario="s";

//CONFIGURAÇOES DA MENSAGEM ORIGINAL
$cabecalho_da_mensagem_original="From: $name <$email>\n";
$assunto_da_mensagem_original="Contato via formulario de email";
$configuracao_da_mensagem_original="Enviado por:\nNome: $nome\nEmail: $email\nMensagem: $textodamensagem\nEnviado em: $date";

//CONFIGURAÇÕES DA MENSAGEM DE RESPOSTA
// CASO $assunto_digitado_pelo_usuario="s" ESSA VARIAVEL RECEBERA AUTOMATICAMENTE A CONFIGURACAO
// "Re: $assunto"
$assunto_da_mensagem_de_resposta = "EMAIL RECEBIDO";
$cabecalho_da_mensagem_de_resposta = "From: $nome_de_quem_recebe_a_mensagem - $nome_do_site <$email_para_onde_vai_a_mensagem>\n";
$configuracao_da_mensagem_de_resposta="Obrigado por entrar em contato!\nEm breve responderemos ao seu questionamento.\n\nAtenciosamente,\nVoce \nSeu site \n\nEnviado em: $date";

?>


-->Página "enviado.htm"

Uma página dizendo q a mensagem foi enviada!!!

Preste atenção nos nomes dos campos. Isso ajuda a fazer as alterações de acordo com a sua necessidade.

Qualquer dúvida, é só postar de novo




IPB Skin By Virteq