Ir para conteúdo
Fórum Script Brasil

Linkbes

Membros
  • Total de itens

    29
  • Registro em

  • Última visita

Tudo que Linkbes postou

  1. Linkbes

    AJUDA NO CUTENEWS

    Olha o que acontece é o seguinte, o php lancou nas novas funções preg_ essas funções tem mais recursos e funcionam melhor que as ereg_..... Por esse motivo, as novas versões do PHP avisam que as funções antigas estão obsoletas ( deprecated ) Para estimular você a parar de usa-las e começar a usar as novas. Como o cute-news é antigo, ele utiliza funções antigas e o seu servidor é novo. Com isso ou você alterar todas as funções que estão com erro pelas novas ou desiste do cute-news, porque você não vai achar um servidor com PHP antigo.
  2. Aonde esta a lista ? como você pretende passar as informações para o PHP ? form ou javascript ? sua explicação ficou meio curta.
  3. você deve usar var_dump( $c ) ou print_r( $c ) Ambas vão escrever true ou false na tela. dar echo em uma variável com true ou false não aparece nada na tela. usando as funções acima, você diz para o php retorar a string que representa o valor da variavel.
  4. olha, como você não colocou o código inteiro, vou chutar...... Antes de trabalhar com sessões no PHP você precisa colocar o session_start() como uma das primeiras linhas do seu código. de preferencia a 1ª mesmo. sem isso o PHP não trabalha direito com sessões.
  5. Cara, iniciar é muito dificil mesmo. Se você não fizer um cursinho, faculdade ou qualquer outra coisa aonde alguém te ensine alguma coisa, você vai demorar bem mais tempo para apreender. Se for fazer sozinho o ideal e que você tenha alguma ideia de site, e faça ele do inicio ao fim. Muitas das dúvidas e aprendizado só acontecem na hora da produção. Sem começar a fazer algum site, você não vai a lugar nenhum. Então fica a dica, faça um site seu primeiro. Depois tente vaga de estagiário, mesmo que não remunerado para poder adquirir experiencia.
  6. Linkbes

    AJUDA NO CUTENEWS

    Amigo, é so usar a função preg_match() ao invés da sua. pronto.
  7. Amigo, usando ajax para checar se foi feita alguma alteração é meio ruim por 2 motivos: 1) consumo de banda Ter que ficar enviando requisições ao servidor toda hora, imagina o cliente ficar brincando de clicar nas abas e fizer uns 20 cliques direto ? 2) Se você mandar fazer o UPDATE o MySql já checa sozinho se foi alterado e só altera caso seja diferente do que já está guardado. O que você pode fazer é colocar o ajax com async : false, dessa meneira ele vai funcionar como o alert que você testou, só vai sair quando terminar de checar. E para não ir para próxima página você coloca o preventDefault() no click de todos os links da página que estão os editores. Algo mais ou menos assim: $(document).ready(function() { $("a").click(function( e ) { $.ajax({ async : false, url : "sua/pagina/aqui", success : function(responseText) { /* * Dê um jeito de ná pagina que verifica dar echo somente no 0 quando for erro * ou 1 quando der certo. */ if( responseText == 0 ) { e.preventDefaut();//isso previne que o navegador vá para o link clicado. alert("você esquece de salvar, oreia seca!"); } else { //não precisa de else. pois nada foi alterado. } } }); }); }); Mas reforço que verificar em ajax é ruim. Você tambem pode criar 2 campos text 1 que vai ser do MCE e outro oculto, e na hora do clique, você confere se os 2 inputs continuam iguais. isso vai eliminar o ajax desse seu problema. Testa o código ai veja se se encaixa no que você precisa e dá o retorno. espero ter ajudado.
  8. Tinha algumas coisas erradas no PHP. No javascript eu apenas otimizei. Não lembro de tudo que mexi, mas algumas coisas: a conexão ao banco só deve ser feita se o form foi enviado, por isso coloquei dentro do IF. o FOREACH não pode ser usado diretamente na variaveal $_POST porque o post tem outros itens tambem. o formulario foi enviado com um array de campos que serão usados para ser inseridos no bd então : $_POST["campo"] = array( 1 => array( "nome", "quantidade" ), 2 => array( "nome", "quantidade" ), 3 => array( "nome", "quantidade" ), xx... => array( "nome", "quantidade" ) ); por isso devemos colocar o foreach assim: foreach( $_POST["campo"] as $linha )//Rodar todo o post linha por linha, e econtrar os que possuem nome e quantdiade { .....// aqui rodaremos cada 1 dos campos que estão no array do POST } O array $linhasOk já fica formatado para ser inserido diretamente na sql seguindo o seguinte padrão $linhasOk = array( 0 => "('nome', 'quantidade')", 1 => "('nome', 'quantidade')", xx... => "('nome', 'quantidade')" ); Os parentes e as aspas simples em volta da string já são colocados. No final, você executará 1 Query só, e se todas as linhas ok não forem inseridas, nenhuma fica no banco. todas são eliminadas, mantendo assim a certeza de que este form foi todo inserido no bd. $query = "INSERT INTO torre (qtde_produto, status_preenchimento) VALUES " . implode(", \n", $linhasOk); O que esta linha faz é gerar o inicio da SQl e no final colocar os values já formatados com parentes e aspas e separa-los por virgula oque ficaria assim: INSERT INTO torre (qtde_produto, status_preenchimento) VALUES ('01', '150'), ('02', '300') Que é o padrão para inserir várias linhas de 1 vez no MySql. Espero ter ajudado mesmo, pois pelo que percebi tem pouca gente ajudando as pessoas nos foruns, a maioria indica outro lugar para estudo ao invés de tirar as duvidas. Abraço.
  9. Olha, eu não tinha testado o código quando postei. Sem contar que você mexeu bastante no código que te passsei. Esse novo código eu criei a tabela que citou acima, teste e está funcionando 100%. Fiz algumas alterações para o seu PHP mostrar todos os tipos de erros e você poder localizar alguma coisa errada por ai. Lembro que testei e está funcionando OK. Mudei tambem o seu Javascript porque não estava otimizado, você não precisa inserir uma tabela inteira, somente o TR dentro da tabela existente já é o suficiente. <?php error_reporting(E_ALL | E_STRICT);//Para mostrar todos os tipos de erros e poder encontrar aonde está errado. ?> <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.1.min.js"></script> <script type="text/javascript"> $(document).ready(function() { /* * Alterer este valor para quantos inputs você já deixar pronto no form. * no meu caso, deixei 2 inputs prontos. deixe quantos quiser mas mude aqui **/ var qtdInputs = 2; $("#add").click(function() { qtdInputs++;//Aumento em 1 a quantidade de inputs para não ter numeros repetidos $("table tbody").append( '<tr><td><input name="campo[' + qtdInputs + '][nome]" type="text" /></td><td><input name="campo[' + qtdInputs + '][quantidade]" type="text" /></td></tr>'); }); }); </script> <form method="post"> <table width="100" border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td><input name="campo[1][nome]" type="text" /></td> <td><input name="campo[1][quantidade]" type="text" /></td> </tr> <tr> <td><input name="campo[2][nome]" type="text" /></td> <td><input name="campo[2][quantidade]" type="text" /></td> </tr> </tbody> <tfoot> <tr> <td><input type="button" id="add" value="Addicionar"></td> <td><input type="submit" name="enviar" value="Cadastrar"></td> </tr> </tfoot> </table> </form> <?php if( isset( $_POST['enviar'] ) ) // Verifica se a variavel existe { $conexao = mysql_connect("localhost", "root", "P@ssw0rd") or die(mysql_error()); $db = mysql_select_db("d_confec_wigam"); $linhasOk = array(); foreach( $_POST["campo"] as $linha )//Rodar todo o post linha por linha, e econtrar os que possuem nome e quantdiade { print_r($linha); echo "<br>"; /* * Validação necessária para garantir que a linha * tenha os valores necessários para ir ao banco de dados * Caso não tenha, passa direto para próxima. */ if( isset($linha['nome']) && isset($linha['quantidade']) ) { $linhasOk[] = "('{$linha["nome"]}', '{$linha["quantidade"]}')"; } } $query = "INSERT INTO torre (qtde_produto, status_preenchimento) VALUES " . implode(", \n", $linhasOk); echo "<pre>{$query}<pre>"; mysql_query($query) or die(mysql_error()); mysql_close($conexao); } Posta ai se deu certo.
  10. Seguinte amigo, acho que a melhor maneira de checar é assim: Troca de : if( $_POST['enviar'] ) para if( isset( $_POST['enviar'] ) ) porque como você criou o input submit contendo apenas o name = "enviar" e não definiu o value, o if do php não entra pois o enviar existe mas está vazio. checando com isset() vai funcionar.
  11. Não entendi qual efeito você quer aplicar cara. vi o site mas não vi erro. e tambem não vi nenhum indicio do que você quer aplicar. Se for o zoom na foto do produto, é feito em flash, nesse site que você pasou
  12. Amigo, obviamente que quanto mais "carga" seu cliente tem que baixar do servidor, mais lento fica seu site. é claro que aumentar em 20 div's seu site o tamanho em kbs quase não vai fazer diferença mas falando na performance do navegador apos a página carregada a rolagem da tela e a execução de JS fica mais lenta conforme o número de tags aumenta Alguns programadores afirmam que o ideal é deixar a página com menos de 900 tags no total, não importa qual tag seja.
  13. Na verdade a lógica é : quando for apertada uma tecla faça { se a quantidade de caracteres dentro deste input == ao limite deste input { focar o proximo elemento input } } o melhor é que você use jQuery ou coloque id's com numeros nos inputs e vá incrementado e passando ao próximo input
  14. Primeira? Vocês quis dizer que funcionou de primeira quando você testou foi isso?
  15. Boa noite amigo, olha, tem 2 coisas que precisam estar certas para seu código funcionar 1) HTML : os inputs devem sercriados assim: <input name="campo[1][nome]" type="text" /> <input name="campo[1][quantidade]" type="text" /> <br /> <input name="campo[2][nome]" type="text" /> <input name="campo[2][quantidade]" type="text" /> <br /> <input name="campo[x][nome]" type="text" /> <input name="campo[x][quantidade]" type="text" /> <br /> ....... 2) PHP : uma vez que os input's tem ligação pelo indice no array, ai você vai poder criar a função no php. a sua está pegando realmente somente o nome, em seu caso, que foi digitado, para pegar o nome e o valor, faça assim: if( $_POST['enviar'] ) { $novosRegistros = Array(); foreach( $_POST['nome'] as $linha )//Rodar todo o post linha por linha, e econtrar os que possuem nome e quantdiade { /* * Validação necessária para garantir que a linha * tenha os valores necessários para ir ao banco de dados * Caso não tenha, passa direto para próxima. */ if( isset($linha["nome"]) && isset($linha["quantidade"]) ) { $novosRegistros[] = "( ". $linha["nome"] .", ". $linha["quantidade"] ." )"; } } $query = "INSERT INTO torre ( qtde_produto, status_preenchimento ) VALUES ". implode(", ", $novosRegistros); echo $query; mysql_query($query) or die(mysql_error()); } Certeza que assim vai funcionar, não esqueça de postar o resultado ein, abraço. :rolleyes:
  16. Ok, mas você poderia fazer direto no sql assim: $consulta = mysql_query("select * from usuarios where Login='$login' AND Senha='$senha AND status !='bloqueado'"); if( mysql_num_rows($consulta) == 0) { echo "Tu está bloqueado!"; // não precisa por die(); } else { //....poe todo o resto aqui // ..... não poe nada fora do else } com isso o mysql_num_rows so vai entrar caso o usuário já esteja bloqueado sem ifs adicionais. fica menor e mais rápido para processar.
  17. Cara, eu vi 2 coisas; 1- a variável $trab não foi mostrada no codigo que você postou. 2- o id 16 está fixo é isto mesmo?
  18. O erro não está no index, está no config.php logo na linha 1. deve ser espaço em branco antes de abrir o php <?php ou algum echo informando algum erro.
  19. Linkbes

    Problemas Cookies e Sessions

    Cara, não esquece que o session apaga quando fecha o navegador. fora isso não vi erro no seu código.
  20. Ai cara, a melhor maneira de fazer isto é usando 2 sql's ao invés do inner join pois com o inner join, você vai aumentar a taxa de transferencia carregando as mesmas informaçoes do cliente em todas as linhas. faça assim: $sql1 = "SELECT C.nome, C.id_cliente FROM cliente C WHERE C.id_cliente = {$_GET['id']}"; $res_cliente = mysql_query($sql); $cliente = mysql_fetch_array( $query); $sql12 = "SELECT P.dt_pedido, P.id_pedido, P.vl_total FROM pedido P WHERE P.id_cliente = {$_GET['id']}"; $res_pedido = mysql_query($sql); $pedido = mysql_fetch_array($res_pedido); ?>
  21. Ey Cara, você ainda está longe, mas ta andando. Ainda falta você colocar no formulário de cadastro, o campo nivel ex: Administrador, vendedor, fachineiro, peão, quebra galho. Feito isso, grave esta informação no banco de dados. ai pra fazer o login fica assim: f ( $contagem == 1 ) { $cliente = mysql_fetch_array($confirmacao); setcookie ("login", $cliente["login"]); //grava o cookie com o login setcookie ("senha", $cliente["senha"]); //grava o cookie com a senha setcookie ("nivel", $cliente["nivel"]); //grava o cookie com o nivel de privilegio do cliente //ai faz um switch para decidir qual página redirecionar. switch ( $cliente["nivel"]) { case "administrador": { $pagina = "pagina_adm.php"; break; } case "peao": { $pagina = "pagina_peao.php"; break; } default: { $pagina = "pagina_pagina_padrao.php"; break; } } header( 'Location: ' . $pagina ); } else { echo "Login ou senha inválidos. <a href=java script:history.go(-1)>Clique aqui para voltar.</a>"; //se a senha está incorreta mostra essa mensagem } ?> Espero ter ajudado. abraço. Obs: este não é o melhor sistema de login, pois pessoas mal intencionadas facilmente podem hackea-lo. mas escute oque eu digo: você vai ter que dominar este sistema simples até conseguir fazer sozinho sem ler em lugar nenhum para passar ao mais avançado.
  22. Cara, tente fazer isto <?php ... //Como ainda não sabemos se tem o id começamos vazios $limite = ""; //Caso o exista o id na url if( isset($_GET["id"] ) { //definimos que vai ter o limit $limit = " LIMIT 1"; } //caso não tenha o id a var $limite vai estar vazia e não vai alterar em nada o código // mas se o existir o ID vai ser adicionado o limit 1 no fim da query. $consulta = mysql_query("select * from usuarios where Login = '$login_usuario' " . $limit); ?> espero ter ajudado.
  23. Cara, você vai precisar usar o GROUP BY assim: SELECT * FROM tabela_clientes AS c INNER JOIN tabela_emails AS e ON e.id_cliente = e.id_dono_cliente GROUP BY c.id_cliente assim, o MySql vai pegar somente o 1º email de cada cliente, se o cliente tiver pelo menos 1 email cadastrado.
×
×
  • Criar Novo...