Ir para conteúdo
Fórum Script Brasil

Ivan Ferrer

Membros
  • Total de itens

    12
  • Registro em

  • Última visita

Posts postados por Ivan Ferrer

  1. veja se não é problema de permissão, na pasta...

    para mover arquivos de um diretório você precisa conceder permissão...

    ou experimente isso:

    <?php
    //100 megas em bytes
    if($total_bytes<104857600){
    
    
    $diretorio= 'upload';
    
    if ($_FILES["file"]["size"] < 104857600)
      {
      if ($_FILES["file"]["error"] > 0)
        {
        echo "Codigo retorno: " . $_FILES["file"]["error"] . "<br />";
        }
      else
        
        //echo "<p><center><H3>O arquivo já existe no diretório.</H3></center></p>";
        if (file_exists($diretorio."/". $_FILES["file"]["name"]))
          {
          echo "<p><center><H3>O arquivo já existe no diretório.</H3></center></p>";
          $nome_arquivo=$_FILES["file"]["name"];
          //echo $_FILES["file"]["name"] . "existente. ";
          }
        else
          {
          
          if(!is_dir($diretorio)){
          mkdir($diretorio."/",0777);
          }      
          
          $extensoes_permitidas = array('jpg', 'gif', 'png');
    
          $arq=$_FILES["file"]["name"];
          $ext_3=substr($arq, -3, 3);
          
          if (!in_array($ext_3, $extensoes_permitidas)){
          move_uploaded_file($_FILES["file"]["tmp_name"],
          $diretorio."/" . $_FILES["file"]["name"]);
          $sql_grava_info=mysql_query("Insert into tabela (arquivo,data,kbytes,permissao) values ('". $_FILES["file"]["name"]."','".date('Y-m-d')."','".$_FILES["file"]["size"]."','S')") or die ("Erro de salvamento de arquivo: ".mysql_error());
             echo 'Arquivo gravado no banco!<br>';
          }else{
           echo "<p><center><H3>The file \"".$_FILES["file"]["name"]."\"<br>sem permissão para envio.</h3></center></p>";
          }
          if($nome_arquivo!="")
          echo "<p><center><H3>Arquivo está vazio.</H3></center></p>";
          else if($erro_arquivo!=1)
          echo "<p><center><H3>\"".$_FILES["file"]["name"]."\"<br>o arquivo foi enviado com sucesso!</h3></center></p>";
          }
        }
      }
    else
      {
       echo "<p><center><H3>O arquivo \"".$_FILES["file"]["name"]."\" não tem permissão de envio.</h3></center></p>";
    
      }
    }  
    ?>

  2. PS: você pode usar o AC_Pagination também:

    eu fiz algumas modificações veja:

    classe AC_Pagination (arquivo AC_Pagination.php):

    <?php
    if (isset($_POST['AC_Pagination_Page'])) {
    if ($_POST['AC_Pagination_Page'] < 1)
    $_POST['AC_Pagination_Page'] = 1;
    elseif ($_POST['AC_Pagination_Page'] > $_POST['AC_Pagination_Pages'])
    $_POST['AC_Pagination_Page'] = $_POST['AC_Pagination_Pages'];
    header('Location: ' . str_replace(':page', $_POST['AC_Pagination_Page'], $_POST['AC_Pagination_URL']));
    exit;
    }
    class AC_Pagination {
    public $url = null;
    public $page = 1;
    public $limit = 10;
    public $xhtml = true;
    public $count = 0;
    public $query_count = null;
    public $ol_start = 1;
    public $pages = 0;
    private function get_count($query, $link_identifier) {
    if ($this->query_count == null)
    $this->query_count = 'SELECT COUNT(*) ' . substr($query, stripos($query, ' FROM '));
    $count = mysql_query($this->query_count, $link_identifier);
    $count = mysql_fetch_assoc($count);
    return $count['COUNT(*)'];
    }
    public function query($query = null, $link_identifier = false) {
    if ($this->page < 1 or !is_numeric($this->page))
    $this->page = 1;
    if(!is_numeric($this->limit))
    $this->limit = 10;
    $this->count = $this->get_count($query, $link_identifier);
    $this->pages = ceil($this->count / $this->limit);
    $begin = ($this->page - 1) * $this->limit;
    $this->ol_start = $begin + 1;
    $query .= ' LIMIT ' . $begin . ', ' . $this->limit;
    return mysql_query($query, $link_identifier);
    }
    public function pagination() {
    if ($this->page > 1)
    echo '<a href="' . str_replace(':page', ($this->page - 1), $this->url) . '">« Anterior</a> ';
    echo '<span class="pagina">Pág.</span> <span class="atual">' . $this->page . ' ' . $close_tag . '</span> de <span class="total">' . $this->pages . '</span>';
    if ($this->page < $this->pages)
    echo ' <a href="' . str_replace(':page', ($this->page + 1), $this->url) . '">Próxima »</a>';
    }
    }
    ?>
    E o arquivo que irá paginar seus registros:
    <?php
    date_default_timezone_set('America/Sao_Paulo');
    // Deve ser incluido antes de qualquer saída de texto
    include 'AC_Pagination.php';
    
    //configurações do banco de dados
    $servidor='localhost';
    $banco = 'nome_da_base';
    $usuario = 'root';
    $senha_banco = '';
    
    $mysql_connect = mysql_connect($servidor, $usuario, $senha_banco) or die('Erro ao conectar no banco de dados');
    //mysql_set_charset('utf8', $mysql_connect) or die('Erro ao definir charset');
    mysql_select_db($banco, $mysql_connect) or die('Erro ao selecionar a base de dados');
    
    $paginacao = new AC_Pagination;
    $paginacao->page = (int) isset($_GET['page']) ? $_GET['page'] : 1;
    $paginacao->limit = isset($_GET['limit']) ? $_GET['limit'] : 10;
    $paginacao->url = '?page=:page&limit=' . $paginacao->limit;
    
    $query = $paginacao->query('SELECT * FROM tabela where 1', $mysql_connect);
    
    echo 'Registros: ' . $paginacao->count . ', Páginas: ' . $paginacao->pages . '<hr />';
    
    echo '<ol start="' . $paginacao->ol_start . '">';
    
    while ($row = mysql_fetch_array($query))
    echo '<li>' . $row[1] . '</li>' . "\n";
    echo '</ol>';
    $paginacao->pagination();
    ?>

    Galera meu código para paginação está assim porém não está paginando corretamente, se alguém puder ajudar, acredito que falte algum detalhe q está passando.

    Valeu

    <?php

    session_start();

    $con = mysql_connect("localhost", "root", "") or dir ("Erro ao conectar no Banco");

    $base = mysql_select_db("guia",$con);

    $comboPlano = $_GET['comboPlano'];

    $comboEspecialidade = $_GET['comboEspecialidade'];

    $comboCidade = $_GET['comboCidade'];

    $txtMedico = $_GET['txtMedico'];

    if(($comboEspecialidade == 1) and ($comboCidade == 1) and ($txtMedico == ""))

    {

    $numreg = 1; // Quantos registros por página vai ser mostrado

    if (!isset($pg))

    {

    $pg = 0;

    }

    else

    {

    $pg = $_GET['pg'];

    }

    $inicial = $pg * $numreg;

    $sql1 = "SELECT m.idMedico, m.nome, m.endereco, m.bairro, m.cep, m.telefone, e.nomeEspecialidade, c.nomeCidade FROM medico as m, especialidade as e, cidade as c WHERE m.idEspecialidade = e.idEspecialidade AND m.idCidade = c.idCidade LIMIT $inicial, $numreg";

    $query = mysql_query($sql1);

    $quantreg1 = mysql_num_rows($query);

    if ($quantreg1 > 0)

    {

    $quantreg1 -= 1;

    }

    // Serve para contar quantos registros você tem na seua tabela para fazer a paginação

    $sql_conta = mysql_query("SELECT m.idMedico, m.nome, m.endereco, m.bairro, m.cep, m.telefone, e.nomeEspecialidade, c.nomeCidade FROM medico as m, especialidade as e, cidade as c WHERE m.idEspecialidade = e.idEspecialidade AND m.idCidade = c.idCidade");

    $quantreg = mysql_num_rows($sql_conta); // Quantidade de registros pra paginação

    $_SESSION["quantreg"] = $quantreg;

    echo "<br><br>"; // Vai servir só para dar uma linha de espaço entre a paginação e o conteúdo

    while($num = mysql_fetch_array($sql_conta)) // galera o problema ta aqui, pois quando coloco $sql_conta, ele trás todos o meus registro e não divide por páginas, agora quando coloco $query ele coloca apenas 1 registro pois é o limite dado no SQL, porém os outros registros não aparecem na paginação.

    {

    echo $num["nome"];

    echo $num["nomeEspecialidade"];

    }

    include("paginacao.php");

    }

    ?>

    paginacao.php

    <?php

    $numreg = 1;

    $quantreg = $_SESSION["quantreg"];

    $quant_pg = ceil($quantreg/$numreg);

    $quant_pg++;

    if(isset($_GET["btnEnviar"]))

    {

    $pg = $_GET["pg"];

    }

    // Verifica se esta na primeira página, se não estiver ele libera o link para anterior

    if(isset($_GET["btnEnviar"]))

    {

    if ( $pg > 0)

    {

    echo "<a href=.$_SERVER['PHP_SELF] ."?comboPlano=1&comboEspecialidade=1&comboCidade=1&txtMedico=&btnEnviar=Enviar&pg=".($pg-1) ." class=pg><b>« anterior</b></a>";

    }

    else

    {

    echo "<font color=#CCCCCC>« anterior</font>";

    }

    // Aqui começa a alteração

    // faz o controle da quantidade de paginas irá mostrar em números na paginação

    if (($pg - 3) < 1 )

    {

    $ant = 1;

    }

    else

    {

    $ant = $pg - 3;

    }

    if (($pg + 6) > $quant_pg )

    {

    $pos = $quant_pg;

    }

    else

    {

    $pos = $pg + 6;

    }

    // Faz aparecer os numeros das página entre o ANTERIOR e PROXIMO

    for($i_pg=$ant;$i_pg < $pos;$i_pg++)

    {

    // Aqui termina a alteração

    // Verifica se a página que o navegante esta e retira o link do número para identificar visualmente

    if ($pg == ($i_pg-1))

    {

    echo " <span class=pgoff>[$i_pg]</span> ";

    }

    else

    {

    $i_pg2 = $i_pg-1;

    echo " <a href=.$_SERVER['PHP_SELF] ."?comboPlano=1&comboEspecialidade=1&comboCidade=1&txtMedico=&btnEnviar=Enviar&pg=$i_pg2 class=pg><b>$i_pg</b></a> ";

    }

    }

    // Verifica se esta na ultima página, se não estiver ele libera o link para próxima

    if (($pg+2) < $quant_pg)

    {

    echo "<a href=".$_SERVER['PHP_SELF'] ."?comboPlano=1&comboEspecialidade=1&comboCidade=1&txtMedico=&btnEnviar=Enviar&pg=".($pg+1)." class=pg><b>proximo »</b></a>";

    }

    else

    {

    echo "<font color=#CCCCCC>proximo »</font>";

    }

    }

    ?>

  3. para paginar é muito simples:

    <?php
    
    
    //você primeiro deve definir a quantidade de registros que quer exibir na página:
    
    $max = 10;
    
    //depois definir a requisição da página inicial com primeira(1)
    $pagina = $_REQUEST["pagina"];  
    if($pagina == "") {  
        $pagina = 1;  
    } 
    
    //organizar a paginação
    $inicio = $pagina - 1;
    $inicio = $max * $inicio;
    
    //depois você pega o total de registros que irá paginar
    $sql_total = mysql_query("select * from tabela where 1");
    $total=mysql_num_rows($sql_total);  
    
    //depois pagina esse registro
    $sql_paginado = mysql_query("select * from tabela where 1 Limit $inicio, $max");
    
    
    //você pode acrescentar outras querys nesta variável ou deixar em branco igual o comentado abaixo:
    //$outras_querys='';
    
    $outras_querys='id=aaaa&sessao=bbbb&categoria=cccc';
    
    
    if($outras_querys!='')
    $outras_querys.='&';
    //AQUI você FAZ O WHILE E MOSTRA OS REGISTROS
    
    while($rs=mysql_fetch_array($sql_paginado)){
    
    echo 'campo1: '.$rs[1].'<br>';
    echo 'campo2: '.$rs[2].'<br>';
    echo 'campo3: '.$rs[3].'<br>';
    
    }
    
    
    //AQUI ENTRA O NAVEGADOR DAS PÁGINAS
    echo "<div align=center style=\"display:block; padding:6px;clear:both\">";
    // Calculando pagina anterior
    $menos = $pagina - 1;
    // Calculando pagina posterior
    $mais = $pagina + 1;
    $pgs = ceil($total / $max);
    if($pgs > 1 ) 
    {
    if($menos >0) 
    echo "<a href=\"?".$outras_querys."pagina=$menos\" class='texto_paginacao'>« Anterior</a> "; 
    
    if (($pagina-4) < 1 )
    $anterior = 1;
    else 
    $anterior = $pagina-4;
    
    if (($pagina+4) > $pgs )
    $posterior = $pgs;
    else
    $posterior = $pagina + 4;
    
    for($i=$anterior;$i <= $posterior; $i++) 
    if($i != $pagina) 
    echo " <a href=\"?".$outras_querys."pagina=".($i)."\" class='texto_paginacao'>$i</a>";
    else
    echo " <strong class='texto_paginacao_pgatual'>".$i."</strong>";
    
    if($mais <= $pgs) 
    echo " <a href=\"?".$outras_querys."pagina=$mais\" class='texto_paginacao'>Próxima »</a>";
    }
    echo "</div>";
    
    ?>

  4. Existe uma forma simples de resolver o problema:

    coloca isso antes do código que você não quer que execute com erro:

    error_reporting(0);

    ou

    coloque @ depois de uma função php

    exemplo:

    @mysql_query('...');

    @mail("...");

    Bom seguinte galera....a empresa em que eu trabalho contratou aquele empresa SiteBlindado para verificar as vunerabilidades do site. Bem entre as vunerabilidades apontadas esta a seguinte:

    - SQL Error Message

    A explicação dada:

    SQL Error Message, or SQL Exception, is a vulnerability caused by a Web application inserting user input in a SQL query without validation and failing to suppress error messages that may result from use of such input. This SmartAttack injects SQL characters in order to cause errors in SQL execution, and looks for evidence of such errors.

    Bom e o que o pessoal lá sugere que se faça para impedir que estes erros aparecao:

    PHP

    For PHP, you can control whether or not detailed error messages are presented to the client by setting the following directives. The configuration below will log errors to your server’s error log, but not display the errors to the client:

    log_errors = On

    display_errors = Off

    Bom o problema é que não sei onde colocar isso.....e sinceramente vocês acham uma boa não mostrar os erros?

    quanto a onde colocar...olhando o codigo do programador que desenvolveu o site ele colocou la na pagina principal assim:

    setlocale (LC_ALL, 'pt_BR');

    ini_set('error_reporting', E_ALL & ~E_NOTICE);

    Pelo que eu pesquisei isso é para mostrar todos os erros que acontecerem, no caso então se eu quissesse que não aprecesse seria apenas tirar isso?

    Seria o mesmo que o display_errors = off?

    alguém sabe me esclarecer estas duvidas?

    Valeu

    PS: Este tópico esta em PHP porque apesar da recomendaçao ser de erro MySQL, eu tenho que fazer a solucao deles em PHP, pois meu sistema esta em PHP

  5. Desta forma dá pra você analisar a procedência de uma incriptografia:

    <?php
    
    if(isset($_POST['senha'])){
    $senha=md5($_POST['senha']);
    
    //aqui ela testa a senha que poderia vir do banco!
    if($senha=="bf81f95ffeeedcb39147a31fe0ce41c8"){
    echo 'a senha está correta!';
    }
    else{
    echo 'chave de incriptografia: '.md5('testesenha2011').'<br>Senha: testesenha2011';
    }
    }
    else
    echo '<form action="'.$_SERVER['SCRIPT_NAME'].'" method=post>
    Senha:<br>
    <input type=password name=senha><br>
    <input type=submit value=Testar>
    </form>';
    
    ?>

  6. Gostaria de saber se após ter feito uma consulta em SQL, teria como ordenar a lista por nome e final do número funcional exemplo...

    Final 1

    1401 - André Carlos Pereira

    2341 - Abgail Silva Lima

    1231 - Bruno Casa Grande

    Final 2

    1402 - Aparecido Carlos Pereira

    2342 - André Silva Lima

    1232 - Amanda Casa Grande

    ...

    Código:

    <?php
    $sql="Select * from tb_cadastros ";
     $i=0; 
          while($rs=mysql_fetch_array($sql)){
          $funcional=$rs['codigo'];
           $nome=$rs['nome'];
            $i++;
    
    {
    echo "Funcional ".$funcional." - ";
    echo "Nome: ".$nome."<br>";
    }
    ?>

  7. Boa noite pessoal!

    Queria saber como se faz aquela função para quando clicar em uma imagem x do site e ele abrir uma janelinha, dentro do site, não pop-up, e escurecer o resto da tela?

    Não me recordo onde vi este recurso, mas vários sites estão utilizando, até tentei garimpar no google, mas não achei nada =/

    Sabe, quando clica na imagem, ela abre maior e escurece o browser, depois você clica de novo ela fecha e volta ao normal...

    Desde já obrigado!

    procure por lightbox...

    jquery

    http://leandrovieira.com/projects/jquery/lightbox/

  8. A concepção de upload é a mesma...

    A diferença é que você manda o arquivo por um file field dentro de uma div com style="display:none"

    ou seja, escondendo o campo...

    aí você cria um campo texto qualquer e manda esse valor por javascript para esse campo do file field escondido...

    depois é so deixar o botão submit fazer o resto...

  9. Olá

    Estou tendo problemas na hora de excluir dados de um capo de uma tabela.

    Tenho um script funcionando mas quando envio o comando e excluido todos os dados de cada campo.

    O $id=$GET [' ']; esta recebendo o nome da imagem que está no campo ci_imagem1 - (imagem23.jpg)

    Este e o script

    <?php require_once('../Connections/arquivoconecta.php'); ?>

    <?php

    $id = $_GET['ci_imagem1'];

    mysql_select_db($database_Concliente, $Concliente);

    $query_excluir = sprintf("DELETE FROM nometabela WHERE nomedocampo = '$id'");

    $excluir = mysql_query($query_excluir, $Concliente) or die(mysql_error());

    header("location:pagina.php")

    ?>

    OBS: Lembrado que os dados que esta no campo ci_imagem1 e o nome de uma imagem.

    Já fiz varias pesquizas e não encontrei um solução.

    Agradeço pela ajuda .

    Pra deletar você só faz isso...que ele deleta o registro inteiro...

    $apagar=mysql_query("Delete from tabela where id=$id ") or die ("Erro ao apagar: ".mysql_error());
    se você quer apagar apenas um campo, não pode usar delete... você tem que usar update...
    $pagar_campo=mysql_query("Update tabela set (campo_que_vou_apagar, campo_que_vou_gravar) value('','$variavel_do_request')") or die ("Erro ao atualizar_e_apagar: ".mysql_error());

×
×
  • Criar Novo...