
neto.joaobatista
Membros-
Total de itens
116 -
Registro em
-
Última visita
Tudo que neto.joaobatista postou
-
Elementar meu karo, sua URL deverá ficar assim: http://127.0.0.1/admin/editFeeds.php?filename=kartunes1.txt http://127.0.0.1/admin/editFeeds.php?filename=xpto1.txt <A href='editFeeds.php?filename=$filename'> e no PHP você resgata: $filename = $_GET[ "filename" ];
-
alguém conhece como Mascarar URL com PHP?
pergunta respondeu ao Fernandes FLAME RIDDLE de neto.joaobatista em PHP
Amigo, segue o link abaixo, talvez te ajude: http://scriptbrasil.com.br/forum/index.php?showtopic=138797 -
Hey Beraldo, Você pode sempre encadear vários JOINs em uma única consulta, porém o ideal é que o seu SELECT principal seja feito na tabela que terá o menor número de registros. Faz um teste com a consulta abaixo: select ecm.id, ecm.mensagem, ecm.data, ecm.reservado, ecm.ip, u1.nome "envio", u2.nome "destino" from ead_chat_mensagem ecm LEFT JOIN usuarios u1 ON u1.id = ecm.usuario_envio LEFT JOIN usuarios u2 ON u2.id = ecm.usuario_destino Porém, como não temos um WHERE para a consulta principal, o SELECT vai percorrer TODOS os registros da sua tabela ead_chat_mensagem e depois buscar os nomes na tabela de usuários. Como provavelmente o id na tabela de usuários é uma chave primária você terá apenas uma linha para analizar, mas se sua tabela de mensagens ficar muito grande é ALTAMENTE recomendável que você crie uma condição para o SELECT principal e crie um índice para essa condição: mysql> select -> ecm.id, -> ecm.mensagem, -> ecm.data, -> ecm.reservado, -> ecm.ip, -> u1.nome "envio", -> u2.nome "destino" -> from -> ead_chat_mensagem ecm -> LEFT JOIN -> usuarios u1 -> ON -> u1.id = ecm.usuario_envio -> LEFT JOIN -> usuarios u2 -> ON -> u2.id = ecm.usuario_destino ->; +----+----------+---------------------+-----------+-----------+---------+---------+ | id | mensagem | data | reservado | ip | envio | destino | +----+----------+---------------------+-----------+-----------+---------+---------+ | 1 | hey | 2009-07-12 21:40:00 | N | 127.0.0.1 | Neto | Beraldo | | 2 | teste | 2009-07-12 21:40:00 | N | 127.0.0.1 | Beraldo | Neto | +----+----------+---------------------+-----------+-----------+---------+---------+ 2 rows in set (0.00 sec) Como não temos um WHERE para o SELECT principal: mysql> explain select ecm.id, ecm.mensagem, ecm.data, ecm.reservado, ecm.ip, u1.nome "envio", u2.nome "destino" from ead_chat_mensagem ecm LEFT JOIN usuarios u1 ON u1.id = ecm.usuario_envio LEFT JOIN usuarios u2 ON u2.id = ecm.usuario_destino; +----+-------------+-------+--------+---------------+---------+---------+--------------------------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+--------+---------------+---------+---------+--------------------------+------+-------+ | 1 | SIMPLE | ecm | ALL | NULL | NULL | NULL | NULL | 2 | | | 1 | SIMPLE | u1 | eq_ref | PRIMARY | PRIMARY | 3 | test.ecm.usuario_envio | 1 | | | 1 | SIMPLE | u2 | eq_ref | PRIMARY | PRIMARY | 3 | test.ecm.usuario_destino | 1 | | +----+-------------+-------+--------+---------------+---------+---------+--------------------------+------+-------+ 3 rows in set (0.00 sec) Adicionando um WHERE: mysql> select ecm.id, ecm.mensagem, ecm.data, ecm.reservado, ecm.ip, u1.nome "envio", u2.nome "destino" from ead_chat_mensagem ecm LEFT JOIN usuarios u1 ON u1.id = ecm.usuario_envio LEFT JOIN usuarios u2 ON u2.id = ecm.usuario_destino WHERE ecm.usuario_envio = 1; +----+----------+---------------------+-----------+-----------+---------+---------+ | id | mensagem | data | reservado | ip | envio | destino | +----+----------+---------------------+-----------+-----------+---------+---------+ | 2 | teste | 2009-07-12 21:40:00 | N | 127.0.0.1 | Beraldo | Neto | +----+----------+---------------------+-----------+-----------+---------+---------+ 1 row in set (0.00 sec) Resultado: mysql> explain select ecm.id, ecm.mensagem, ecm.data, ecm.reservado, ecm.ip, u1.nome "envio", u2.nome "destino" from ead_chat_mensagem ecm LEFT JOIN usuarios u1 ON u1.id = ecm.usuario_envio LEFT JOIN usuarios u2 ON u2.id = ecm.usuario_destino WHERE ecm.usuario_envio = 1; +----+-------------+-------+--------+---------------+---------+---------+--------------------------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+--------+---------------+---------+---------+--------------------------+------+-------+ | 1 | SIMPLE | ecm | ref | uenvio | uenvio | 3 | const | 1 | | | 1 | SIMPLE | u1 | const | PRIMARY | PRIMARY | 3 | const | 1 | | | 1 | SIMPLE | u2 | eq_ref | PRIMARY | PRIMARY | 3 | test.ecm.usuario_destino | 1 | | +----+-------------+-------+--------+---------------+---------+---------+--------------------------+------+-------+ 3 rows in set (0.00 sec)
-
Hey amigão, qual será no final, o objetivo disso tudo ?? PS: da um toque no gtalk
-
Estranho, nessa mensagem de erro deveria ter o nome/ip da maquina que você tentou conectar e não um ♦... Você está usando Windows ou ...nix ? Tenta adicionar uma entrada no seu arquivo hosts para a maquina que vai conectar no servidor. Nos ...nix o arquivo é: /etc/hosts Nos Windows eu não tenho certeza mas acho que deve ficar em /windows/hosts Depois de adicionar a entrada em hosts com o a maquina que vai conectar ao servidor você faz o seguinte: Vai até o servidor e acesse o mysql pela linha de comando e insira na sua tabela `mysql`.`user` uma nova linha com o nome de usuario e no servidor você coloca "%". Para todos as colunas que o tipo for enum você coloca "Y". A estrutura da tabela user é: mysql> show fields from user; +-----------------------+-----------------------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------------------+-----------------------------------+------+-----+---------+-------+ | Host | char(60) | NO | PRI | | | | User | char(16) | NO | PRI | | | | Password | char(41) | NO | | | | | Select_priv | enum('N','Y') | NO | | N | | | Insert_priv | enum('N','Y') | NO | | N | | | Update_priv | enum('N','Y') | NO | | N | | | Delete_priv | enum('N','Y') | NO | | N | | | Create_priv | enum('N','Y') | NO | | N | | | Drop_priv | enum('N','Y') | NO | | N | | | Reload_priv | enum('N','Y') | NO | | N | | | Shutdown_priv | enum('N','Y') | NO | | N | | | Process_priv | enum('N','Y') | NO | | N | | | File_priv | enum('N','Y') | NO | | N | | | Grant_priv | enum('N','Y') | NO | | N | | | References_priv | enum('N','Y') | NO | | N | | | Index_priv | enum('N','Y') | NO | | N | | | Alter_priv | enum('N','Y') | NO | | N | | | Show_db_priv | enum('N','Y') | NO | | N | | | Super_priv | enum('N','Y') | NO | | N | | | Create_tmp_table_priv | enum('N','Y') | NO | | N | | | Lock_tables_priv | enum('N','Y') | NO | | N | | | Execute_priv | enum('N','Y') | NO | | N | | | Repl_slave_priv | enum('N','Y') | NO | | N | | | Repl_client_priv | enum('N','Y') | NO | | N | | | Create_view_priv | enum('N','Y') | NO | | N | | | Show_view_priv | enum('N','Y') | NO | | N | | | Create_routine_priv | enum('N','Y') | NO | | N | | | Alter_routine_priv | enum('N','Y') | NO | | N | | | Create_user_priv | enum('N','Y') | NO | | N | | | Event_priv | enum('N','Y') | NO | | N | | | Trigger_priv | enum('N','Y') | NO | | N | | | ssl_type | enum('','ANY','X509','SPECIFIED') | NO | | | | | ssl_cipher | blob | NO | | NULL | | | x509_issuer | blob | NO | | NULL | | | x509_subject | blob | NO | | NULL | | | max_questions | int(11) unsigned | NO | | 0 | | | max_updates | int(11) unsigned | NO | | 0 | | | max_connections | int(11) unsigned | NO | | 0 | | | max_user_connections | int(11) unsigned | NO | | 0 | | +-----------------------+-----------------------------------+------+-----+---------+-------+ 39 rows in set (0.01 sec) Você terá alguma coisa assim: mysql> select * from user where user="root" and host="%"; +-----------+------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+ | Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | +-----------+------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+ | % | root | xxxxxxxxxxxxxxxx | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 | +-----------+------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+ 1 row in set (0.00 sec) Depois de editar você executa: mysqladmin flush-privileges Feito isso você precisará reiniciar seu servidor: mysqld --skip-grant-tables --log restart Agora você vai na sua maquina cliente e tenta conectar. Se conectar você vai voltar no seu servidor, irá abrir o log do seu servidor e irá ver a entrada que corresponde a sua conexão. Nessa entrada terá o nome/ip da maquina que você conectou. Ai você volta ao servidor e no lugar do % você irá colocar o nome/ip que está no log. Tenta conectar novamente.
-
(Resolvido) (Resolvido) Erro com cookies...
pergunta respondeu ao Luis Dalmolin de neto.joaobatista em PHP
Não existe absolutamente nada executando antes desses dois arquivos ? Você está chamando diretamente o login.php e o login chama o arquivo que faz a conexão, não existe nenhum outro arquivo sendo chamado por algum desses dois ? Tenta criar um arquivo chamado teste.php e nele você coloca apenas: setcookie("user", "$login"); setcookie("pass", "$senha"); setcookie("logado", 1); Ai você verifica se os cookies foram gravados ou se a mensagem de erro continua. Ahh, de uma olhada nisso aqui também: -
Não li o código do _Vinny_, mas se ele diz que funciona é suficiente. Sendo assim, você pode estar tendo problemas no seu servidor. Para ter certeza que o serviço de envio de email está funcionando no seu servidor, tente enviar um email de teste criando um arquivo chamado teste.php: teste.php: $seunome = "Gustavo"; //Coloque no @seudominio.com o dominio onde o projeto está hospedado. //Antes do @ pode ter qualquer nome válido, mesmo que não tenha um email desse nome. Porém o @dominio DEVE ser o mesmo domínio que o seu projeto //está hospedado. Isso é apenas para testarmos se o seu servidor envia ou não. $seuemail = "gustavo@seudominio.com"; $header = sprintf( "From: %s <%s>\r\n" , $seunome , $seuemail ); mail( "quemrecebe@dominio.com" , "Teste de envio de mensagem" , "Testando o envio de emails" , $header ); O código acima deve ser suficiente para enviar o teste. Se você não receber o email, então o problema é com o seu servidor. Porém se você receber o email, então: 1. Alguns servidores obrigam que o campo "From:" seja do mesmo dominio que o site está hospedado, nesse caso você não conseguirá enviar como seunome@gmail.com se você estiver hospedado em www.seudominio.com. O servidor apenas aceitará seunome@seudominio.com. 2. Alguns servidores são mais "relaxados" outros mais "certinhos". Se o seu servidor for um "certinho" então não esqueça de terminar cada linha sem exceção do seu email com \r\n. (RFC 2822)
-
(Resolvido) (Resolvido) Erro com cookies...
pergunta respondeu ao Luis Dalmolin de neto.joaobatista em PHP
Bom amigo, cookies são na verdade cabeçalhos HTTP. Os cabeçalhos HTTP só podem ser enviados quando eles são os primeiros dados a serem enviados, se você der um echo, print ou exibir qualquer informação você terá esse erro. Ai você pode me dizer, "mas eu não estou enviando nada...." Talvez, apesar de você não estar enviando nada antes dos cookies, você está tendo algum problema que está gerando um NOTICE ou um WARNING. É essa mensagem de erro que está causando o seu problema com os cookies, porque foi enviada primeiro. Tente sempre verificar cada ação que você toma antes de assumir que tudo ocorreu bem, por exemplo: Seu código: $conexao = mysql_connect("localhost", "root", ""); $db = mysql_select_db("webinformar"); No fragmento acima, você está assumindo que tanto a conexão com o banco de dados foi bem sucedida quanto a seleção do banco de dados também foi. Nunca assuma nada, teste sempre: Tente mudar para: $conectado = false; if ( ( $conexao = mysql_connect( "localhost" , "root" , "" ) ) ){ if ( ( $db = mysql_select_db( "webinformar" ) ) ){ $conectado = true; } } Seu código: include('conexao.php'); $login = $_POST["login"]; $senha = $_POST["senha"]; $sql = "SELECT * FROM adm WHERE login = '$login' and senha = '$senha'"; $resultado = @mysql_query($sql); if (mysql_num_rows($resultado) > 0) { setcookie("user", "$login"); setcookie("pass", "$senha"); setcookie("logado", 1); } Novamente você está assumindo que o usuário enviou via POST os dois campos: "login" e "senha" e também está assumindo que a query foi bem sucedida: Tente mudar para: if ( isset( $_POST[ "login" ] ) && isset( $_POST[ "senha" ] ) ){ include( "conexao.php" ); if ( $conectado ){ $login = $_POST[ "login" ]; $senha = $_POST[ "senha" ]; $sql = sprintf( "SELECT * FROM adm WHERE ( login='%s' ) AND ( senha='%s' );" , $login , $senha ); if ( ( $resp = mysql_query( $sql ) ) && ( mysql_num_rows( $resp ) > 0 ) ){ setcookie("user", "$login"); setcookie("pass", "$senha"); setcookie("logado", 1); } else { echo "<script>alert('Dados incorretos');</script>"; echo "<script>window.location = 'index.php';</script>"; } } else { echo "<script>alert('Não estamos conectados');</script>"; echo "<script>window.location = 'index.php';</script>"; } } -
(Resolvido) Mostrars resultados do Banco de Dados
pergunta respondeu ao Parisi de neto.joaobatista em PHP
Bom, então se vale a sugestão: Tabela de clientes: CREATE TABLE `clientes` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `nome` varchar(50) NOT NULL, `descricao` text NOT NULL, `endereco` varchar(50) NOT NULL, `telefone` varchar(14) NOT NULL, `imagem` varchar(80) NOT NULL, `categoria` mediumint(8) unsigned NOT NULL, `ativo` enum('S','N') NOT NULL DEFAULT 'S', PRIMARY KEY (`id`), KEY `nomes` (`nome`), KEY `categorias` (`categoria`,`nome`) USING BTREE, KEY `ativos` (`ativo`,`categoria`,`nome`) USING BTREE ) ENGINE=MyISAM; Tabela de categorias: CREATE TABLE `categorias` ( `id` mediumint UNSIGNED NOT NULL AUTO_INCREMENT, `nome` varchar(30) NOT NULL, PRIMARY KEY (`id`), INDEX `nomes`(`nome`) ) ENGINE = MyISAM; Ai no seu PHP para resgatar os clientes: $inicio = 5; $qnt = 10; $categoria = "categoria_1"; $ativo = "S"; $sql = sprintf( "select cli.id, cli.nome, cli.descricao, cli.endereco, cli.telefone, cli.imagem, cat.nome 'categoria' from categorias cat left join clientes cli use index(ativos) on ( cli.ativo = '%s' ) AND ( cli.categoria = cat.id ) where ( cat.nome = '%s' ) order by cli.nome ASC limit %d,%d", $ativo, $categoria, $inicio, $qnt ); Dessa forma, você terá suas categorias separadas em uma tabela e seus clientes em outra. Os clientes poderão ser "ativos" ou "inativos", essa consulta (um pouco maior que a anterior) já traz os seus clientes exatamente no mesmo formato que da forma anterior, então basta você cadastrar suas categorias e depois quando cadastrar um cliente usar o id da tabela categoria que a listagem dos clientes ficará igual antes. ps: É apenas uma sugestão. ;) []'s J. Neto -
(Resolvido) Mostrars resultados do Banco de Dados
pergunta respondeu ao Parisi de neto.joaobatista em PHP
Basta você utilizar um WHERE: SELECT * FROM clientes WHERE categoria="categoria_1" ORDER BY nome ASC LIMIT 1, 1 No PHP: $inicio = 5; $qnt = 10; $categoria = "categoria_1"; $sql = sprintf( "SELECT * FROM clientes WHERE categoria='%s' ORDER BY nome ASC LIMIT %d,%d" , $categoria , $inicio , $qnt ); <_< Será mesmo que vale a pena a perda de desempenho que esse formato irá causar por conta de "um trabalho maior" ??? []'s J. Neto -
Acredite amigo, ainda bem que isso é definitivamente IMPOSSÍIVEL !!! Tenta assim: if($cont==0){ //... $width = 600; $height = 600; // A linha abaixo irá abrir uma janela popup com $width de largura e $height de altura, centralizada na tela printf( "<script>window.open( '%s' , '_blank' , 'width=%d,height=%d,left='+( ( screen.availWidth / 2 ) - %f ) + ' , top='+( ( screen.availHeight / 2 ) - %f) + '' );</script>" , $url , $width , $height , $width / 2 , $height / 2 ); break; //O break deve estar dentro de um switch, for, do ou white. }else{ //... } []'s J. Neto
-
(Resolvido) Importar um arquivo txt para o meu bd
pergunta respondeu ao claudio elias de neto.joaobatista em MySQL
Bom, tem certeza que não esqueceu nenhum passos que o Denis falou ? 1. Passo: mysql> create table `temp` ( linha char(255) DEFAULT NULL ) engine=MyISAM; Query OK, 0 rows affected (0.00 sec) 2. Passo: mysql> load data local infile 'lista.txt' into table temp lines terminated by '\n'; Query OK, 7 rows affected (0.00 sec) Records: 7 Deleted: 0 Skipped: 0 Warnings: 0 Testando: mysql> select * from temp; +-------------------------------------------------------------------------------------------------------------------------+ | linha | +-------------------------------------------------------------------------------------------------------------------------+ | 000.000.000-00 fulano 1 2009 28.00 | | 000.000.000-00 ciclano 2 2009 29.00 | | 000.000.000-00 beutrano 3 2009 30.00 | | 000.000.000-00 neto 4 2009 31.00 | | 000.000.000-00 joao batista 5 2009 32.00 | | 000.000.000-00 denis courcy 6 2009 33.00 | | 000.000.000-00 claudio elias 7 2009 34.00 | +-------------------------------------------------------------------------------------------------------------------------+ 7 rows in set (0.00 sec) Ok, Arquivo importado... 3. Passo: mysql> insert into -> teste( cpf , nome , mes , ano , total ) -> select -> rtrim( substr( linha , 1 , 14 ) ) cpf, -> rtrim( substr( linha , 16 , 74 ) ) nome, -> rtrim( substr( linha , 90 , 12 ) ) mes, -> rtrim( substr( linha , 103 , 12 ) ) ano, -> rtrim( substr( linha , 115 , 12 ) ) total -> from -> temp; Query OK, 7 rows affected (0.00 sec) Records: 7 Duplicates: 0 Warnings: 0 Testando: mysql> select * from teste; +----+----------------+---------------+-----+------+-------+ | id | cpf | nome | mes | ano | total | +----+----------------+---------------+-----+------+-------+ | 7 | 000.000.000-00 | fulano | 1 | 2009 | 28.00 | | 8 | 000.000.000-00 | ciclano | 2 | 2009 | 29.00 | | 9 | 000.000.000-00 | beutrano | 3 | 2009 | 30.00 | | 10 | 000.000.000-00 | neto | 4 | 2009 | 31.00 | | 11 | 000.000.000-00 | joao batista | 5 | 2009 | 32.00 | | 12 | 000.000.000-00 | denis courcy | 6 | 2009 | 33.00 | | 13 | 000.000.000-00 | claudio elias | 7 | 2009 | 34.00 | +----+----------------+---------------+-----+------+-------+ 7 rows in set (0.00 sec) Tudo funciona 100% !!! 4. Passo mysql> drop table temp; Query OK, 0 rows affected (0.00 sec) []'s J. Neto -
(Resolvido) Importar um arquivo txt para o meu bd
pergunta respondeu ao claudio elias de neto.joaobatista em MySQL
Use LOAD DATA INFILE: LOAD DATA LOCAL INFILE "arquivo.txt" INTO TABLE sua_tabela FIELDS TERMINATED BY '\t' Supondo é claro, que seus campos no .txt estão separados com tabs []'s J. Neto -
O seu servidor está ouvindo a porta 3306 ? Tenta da sua maquina cliente conectar ao servidor via telnet: telnet 192.168.0.1 3306 Se você conseguir estabelecer uma conexão ai você tenta o código abaixo (fecha a conexão telnet primeiro), senão você coloca a mensagem de erro aqui no fórum GRANT ALL PRIVILEGES IN seubancodedados.* TO 'onomedousuario'@'%' identified by 'suasenha'; []'s J. Neto
-
(Resolvido) Como fazer paginação com include ?
pergunta respondeu ao Parisi de neto.joaobatista em PHP
Bom amigo, pelo que entendi você está dando apelidos para seus arquivos, verificando se o apelido foi definido e se sim, você carrega ele. A única informação que faltou é relativa ao erro que você está tendo quando você coloca os códigos da sua paginação, mas tenta fazer seus links assim: <a href="index.php?area=LINK&pagina=1">Anterior</a> <a href="index.php?area=LINK&pagina=2">Próxima</a> E no seu PHP: $pagina = 1; if ( isset( $_GET[ "pagina" ] ) ){ $pagina = $_GET[ "pagina" ]; //Esse é o kara da paginação } if ( isset( $_GET[ "area" ] ) ){ switch( ( $area = $_GET[ "area" ] ) ){ case "LINK": //... default: //... } } Se não for isso, coloque ai o erro que você está recebendo e a forma que você está criando os seus links. []'s J. Neto -
Eu não vi que já tinha sido resolvido, por isso postei esse código, ehehhehe Mas acho que ele também faz o trampo... []'s J. Neto
-
Bom, vamos tentar diferente então: no seu arquivo CONEXAO.PHP: abstract class Conexao { /** * Nome do administrador */ const SYS_ADM = "Anderson Ferreira / Rafael Pereira"; /** * Email do administrador */ const SYS_MAIL = "urnaonline@yahoo.com.br"; /** * Mensagem de erro para usuário ou senha inválido */ const SYS_ERR1 = "<font color='#FF0000'>ERRO - 'Login' e/ou 'Senha' inválido(s)</font><br><br><a href='../'><font color='#FFFFFF'>VOLTAR</font></a>"; /** * Mensagem de erro para dados inválidos */ const SYS_ERR2 = "<font color='#FF0000'>ERRO - Dados inválidos</font><br><br><a href='../'><font color='#FFFFFF'>VOLTAR</font></a>"; /** * Nome ou IP do servidor de banco de dados */ const DB_HOST = "localhost"; /** * Usuário do banco de dados */ const DB_USER = "root"; /** * Senha do banco de dados */ const DB_PSWD = "urna"; /** * Nome da base de dados */ const DB_NAME = "urna_online"; /** * Erro de conexão com o servidor de banco de dados */ const DB_ERR1 = "<br><b>Erro ao conectar</b> - Contate o administrador: <br><br>%s - %s<br><br><br><a href='index.html'>Voltar</a>"; /** * Erro ao selecionar o banco de dados */ const DB_ERR2 = "<br><b>Erro ao selecionar a base de dados</b> - Contate o administrador: <br><br>%s - %s<br><br><br><a href='index.html'>Voltar</a>"; /** * Recurso gerado pela conexão com o banco de dados * @var resource */ static private $conn; /** * Faz a autenticação do usuário * @param string $user O nome do usuário * @param string $pswd A senha do usuário * @return boolean TRUE se o usuário for válido */ static public function authenticate( $user , $pswd ){ $ret = false; if ( self::connect() ){ $user = mysql_real_escape_string( $user ); $pswd = mysql_real_escape_string( $pswd ); $sql = sprintf( "SELECT * FROM eleitores WHERE ( login='%s' ) AND ( senha='%s' )" , $user , $pswd ); if ( ( $resp = mysql_query( $sql , self::$conn ) ) ){ if ( mysql_fetch_array( $resp ) ){ $ret = true; } else { throw new Exception( self::SYS_ERR1 ); } } else { throw new Exception( self::SYS_ERR2 ); } self::close(); } return( $ret ); } /** * Fechamos a conexão */ static private function close(){ if ( self::$conn ){ mysql_close( self::$conn ); } } /** * Conecta ao banco de dados * @return boolean TRUE se for possível conectar. */ static private function connect(){ $ret = false; if ( ( self::$conn = @mysql_connect( self::DB_HOST , self::DB_USER , self::DB_PSWD ) ) ){ if ( @mysql_select_db( self::DB_NAME , self::$conn ) ){ $ret = true; } else { throw new Exception( self::DB_ERR2 ); } } else { throw new Exception( sprintf( self::DB_ERR1 , self::SYS_ADM , self::SYS_MAIL ) ); } return( $ret ); } } No seu arquivo login.php: require_once( "conexao.php" ); $user = $_POST[ "val_login" ]; $pswd = $_POST[ "val_senha" ]; try { if ( Conexao::authenticate( $user , $pswd ) ){ session_start(); $_SESSION[ "login" ] = $user; $_SESSION[ "senha" ] = $pswd; printf( "<meta http-equiv='Refresh' content='0;URL=validacao.php>" ); } else { printf( Conexao::SYS_ERR1 ); } } catch( Exception $e ){ printf( $e->getMessage() ); } Acho que isso resolve... []'s J. Neto
-
Certo, continuando a leitura eu parei novamente aqui: Tenta mudar para: if ( $RF = mysql_fetch_array ( $RS ) ){ do { if ( $RF[ "senha" ] == $_SESSION[ "senha" ] ){ echo "<meta http-equiv='Refresh' content='0;URL=validacao.php>"; } else { echo "$erro3"; } } while ( $RF = mysql_fetch_array( $RS ) ); } else { echo "$erro"; } O que o Jhonatan falou (e ele está absolutamente correto) é que o ideal é você fazer seu SELECT já buscando o nome de usuário e senha e tirar fora esse loop while que só consome tempo e processamento: $conexao_tabela = ("SELECT * FROM eleitores WHERE login='$login' AND senha='$senha'"); if ( $RS = mysql_query($conexao_tabela) ){ echo "<meta http-equiv='Refresh' content='0;URL=validacao.php>"; } else { die( "Login ou senha inválido" ); } []'s J. Neto
-
Bom, parei de ler quando cheguei nessa linha, tenta trocar para: $conexao_tabela = ("SELECT * FROM eleitores WHERE login='$login'"); $RS = mysql_query($conexao_tabela) or die ("$erro"); Se não der certo ai continuamos lendo até o fim, hehehe []'s J. Neto
-
Mas é o contrário, são os servidores que são caracterizados como spammers. Se o problema é NÃO ser caracterizado spam, de uma olhada em: http://www.abemd.org.br/ http://www.e-commerce.org.br/e-mail_marketing.php
-
Bom, se você consegue pingar o seu servidor então o problema está nas credenciais do usuário. Tenta o seguinte: GRANT ALL ON *.* TO 'root'@'192.168.0.2'; GRANT SELECT, INSERT ON *.* TO 'root'@'192.168.0.2'; []'s J. Neto
-
não entendi... Bom, é o seguinte. Quando você (no caso o servidor onde você está hospedado) envia um grande número de emails para várias listas e tal o servidor pode ser marcado como um servidor de spam e ir parar em uma "blacklist". Se você estiver utilizando um servidor que está em uma "whitelist" você pode enviar para vários emails do mesmo domínio sem problemas, por exemplo: Sem problemas: from: fulano@umdominio.com to: eu@gmail.com ------------ from: beutrano@outrodominio.com to: voce@gmail.com ----------- from: ciclano@maisumoutrodominio.com to: alguém@gmail.com Agora com problema: from: fulado@dominio.com to: eu@gmail.com --------------------- from: fulado@dominio.com to: voce@dominio.com ----------------- from: fulado@dominio.com to: outro@teste.com O problema não está em enviar para vários email do mesmo domínio e sim enviar vários emails do mesmo servidor. E não basta apenas trocar a tag From para qualquer@coisa.com que também não funciona, a maioria dos servidores não deixam você fazer isso... []'s J. Neto
-
Bom, não sei o tamanho da sua lista, mas isso pode não funcionar... O problema não é o domínio do destinatário e sim o domínio de quem está enviando... []'s J. Neto
-
Esse 192.168.0.1 não é seu gateway ?? Tenta fazer um ping para o IP que você está utilizando, é bem provável que o IP do servidor seja outro. Acho que, ou o IP que você está utilizando está errado ou a string de conexão está errada uma vez que sua aplicação funciona na maquina que está o servidor (segundo o que você disse). Basicamente, no C# a string de conexão é: connection = new MySqlConnection( "Persist Security Info=False;Server=192.168.0.1;Port=3306;Database=SuaBaseDeDados;Uid=ousuario;Pwd=suasenha;" ); []'s J. Neto
-
Bom, isso é uma questão complicada porque "SPAM" está relacionado à prática e não ao método. Nesse servidor: http://wiki.locaweb.com.br/pt-br/Limites_do_email você tem um limite de 1000 por hora. Agora se você realmente precisar enviar uma quantidade muito maior que essa basta entrar em contato com seu servidor e pedir uma exceção (se isso não for rotina é claro). Porém, se você precisa enviar constantemente uma quantidade de mensagens muito grande de emails, você pode usar vários servidores para isso, usa SOAP para disparar o envio em cada um desses servidores. Ai sempre que um servidor estiver chegando no limite você aciona o outro com a lista que você precisa. Dessa forma você conseguirá utilizar o limite de cada um deles e não ter que pagar um valor alto em um link dedicado. []'s J. Neto