Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 a 10 de 17
  1. #1
    Lamer
    Data de Ingresso
    Oct 2011
    Posts
    10

    Enviando arquivo por nome de usuário

    Galera,estou com um pequeno problema.Fiz todo um sistema em php usando SESSION de login e senha com usuários,cada uma com seu perfil.
    Isso para um site que tem aqui que enviar arquivos (documentos) para seus clientes.Agora que vem a parte complicada para mim.
    Sei fazer a parte onde se faz o upload de documentos,imagens e etc,mais não sei como criar essa "ferramenta" dentro do meu código php para enviar o arquivo para o usuário espicífico.
    Alguém pode me ajudar ?
    Ta feia a coisa aqui ..rs

    Usei o Dreamweaver CS4 para fazer tudo.Até achei um código na net,mais infelizmente o cara fez na "unha" e os códigos não batem como o meu e ai vira uma confusão danada..rsrs


    Abraço.

  2. #2
    Moderador Avatar de eduardu0
    Data de Ingresso
    Feb 2007
    Posts
    979
    Seja bem vindo RafsQ!

    Acho mais fácil você postar pedaços do seu código, ou então exemplos de como você pretende fazer, pois somente com essas especificações fica difícil ajudar.
    Pense em uma frase bonita.

  3. #3
    Moderador Avatar de Marcelo Moraes
    Data de Ingresso
    May 2007
    Localização
    localhost
    Posts
    578
    Olá bom dia amigo,

    Vamos ver se eu entendi a sua dúvida, você tem uma tela de login onde casa usuário vai se autenticar. Cada usuário terá a permissão de enviar arquivos para outros usuários que também fazem parte desse sistema ?? É isso esse "enviar o arquivo para o usuário espicífico" ??

    como eduardu0 disse poste o código para ver como está, tenho uma ideia de como fazer isso e se for o que estou pensando não tem nada de muito complicado

    Abraços,
    Att,
    Marcelo Moraes.

  4. #4
    Lamer
    Data de Ingresso
    Oct 2011
    Posts
    10
    É assim galera,na verdade não é para os usuários mandarem arquivos uns para os outros,é para o admin mandar os arquivos para os usuários.
    O meu "sisteminha" aqui é composto por, tela de login do usuário,tela de login do admin,painel do usuário e painel do admin.Quero,pelo painel do admin enviar um arquivo (documento) para um usuário qualquer,mais que só ele veja.Só isso,não é para os usuários mandarem uns para os outros os arquivos,só eu mesmo que tenho que mandar para eles.Estou fazendo tudo em php.A idéia é o seguinte,ter um botão de buscar arquivo (no caso dentro de meu pc) e uma box com o nome do pessol,assim eu apenas clico no nome,escolho o arquivo e mando para o usuário.
    Deu para entender melhor ?

    Código:
    ///////////////////////////////////////////////////
    
    <?php
    //initialize the session
    if (!isset($_SESSION)) {
      session_start();
    }
    
    // ** Logout the current user. **
    $logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
    if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
      $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
    }
    
    if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
      //to fully log out a visitor we need to clear the session varialbles
      $_SESSION['MM_Username'] = NULL;
      $_SESSION['MM_UserGroup'] = NULL;
      $_SESSION['PrevUrl'] = NULL;
      unset($_SESSION['MM_Username']);
      unset($_SESSION['MM_UserGroup']);
      unset($_SESSION['PrevUrl']);
    	
      $logoutGoTo = "loginadmin.php";
      if ($logoutGoTo) {
        header("Location: $logoutGoTo");
        exit;
      }
    }
    ?>
    <?php
    if (!isset($_SESSION)) {
      session_start();
    }
    $MM_authorizedUsers = "";
    $MM_donotCheckaccess = "true";
    
    // *** Restrict Access To Page: Grant or deny access to this page
    function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
      // For security, start by assuming the visitor is NOT authorized. 
      $isValid = False; 
    
      // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
      // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
      if (!empty($UserName)) { 
        // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
        // Parse the strings into arrays. 
        $arrUsers = Explode(",", $strUsers); 
        $arrGroups = Explode(",", $strGroups); 
        if (in_array($UserName, $arrUsers)) { 
          $isValid = true; 
        } 
        // Or, you may restrict access to only certain users based on their username. 
        if (in_array($UserGroup, $arrGroups)) { 
          $isValid = true; 
        } 
        if (($strUsers == "") && true) { 
          $isValid = true; 
        } 
      } 
      return $isValid; 
    }
    
    $MM_restrictGoTo = "erro.php";
    if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
      $MM_qsChar = "?";
      $MM_referrer = $_SERVER['PHP_SELF'];
      if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
      if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0) 
      $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
      $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
      header("Location: ". $MM_restrictGoTo); 
      exit;
    }
    ?>
    <!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" /><meta http-equiv="imagetoolbar" content="no" />
    <link rel="stylesheet" href="styles/layout.css" type="text/css" />
    <!-- Homepage Specific Elements -->
    <script type="text/javascript" src="scripts/jquery-1.4.1.min.js"></script>
    <script type="text/javascript" src="scripts/jquery-ui-1.7.2.custom.min.js"></script>
    <script type="text/javascript" src="scripts/jquery.tabs.setup.js"></script>
    <title>Painel Principal - Adminstrador</title>
    <style type="text/css">
    body {
    	background-color: #FFC;
    }
    body,td,th {
    	font-family: "Caviar Dreams";
    	font-size: 16px;
    	font-weight: bold;
    }
    </style>
    </head>
    
    <body>
    <center><div id="topnav">
          <ul>
            <li class="active"><a href="cadastrocliente.php">Cadastrar Cliente</a></li>
            <li><a href="paineldoadmin.php">Clientes Cadastrados</a></li>
            <li><a href="uploaddearquivos.php">Enviar Arquivo</a></li>
            <li><a href="<?php echo $logoutAction ?>">Sair</a></li>
          </ul>
        </div>
      <form id="form1" name="form1" method="post" action="">
        <p><form enctype="multipart/form-data" action="save.php" method="post">
    	<!--<input type="hidden" name="MAX_FILE_SIZE" value="1048576" />-->
    	<label for="file"><strong>Arquivo a ser enviado</strong>:</label>
    	<input id="file" name="file" type="file" />
    	<input type="submit" value="Enviar" />
    </form></p>
    </form>
    <form id="form1" name="form1" method="post" action="">
    Enviar para:
    </form>
    </center>
    </body>
    </html>
    Daí me pintou a idéia maluca de fazer uma coisa baseada no id,mais pelo id ia ser complicado pois ia ter que ir no banco de dados olhar o id do usuário,melhor pelo nome mesmo,mais foi mais ou menos assim o que me surgiu em mente
    Código:
    $id="10";
    
    // João = ID -> 10
    
    enviar-arquivo.php?id=10
    
    // aqui você vai ter listado somente os dados de joão do ID->10
    
    // e no Select ou até mesmo no Insert ou Update você inseri o seguinte...
    
    
    $sql=mysql_query("update tabela set arquivo='$arquivo' where id='$id'") or die ("ERRO>".$sql);
    
    // somente o joão ID-> 10 verá os arquivos, simples.
    Abraço,da uma ajudinha ai galera..rs
    Última edição por Marcelo Moraes; 04 Oct 2011 às 13:06. Razão: Colocar Tags

  5. #5
    Moderador Avatar de Marcelo Moraes
    Data de Ingresso
    May 2007
    Localização
    localhost
    Posts
    578
    Bem é o seguinte cara que da para você fezer.

    Crie uma tabela chamada arquivos contendo o seguinte.

    id_arq int(5) - Chave primária PK
    tx_caminho char(200) - Indica o caminho do arquivo no servidor exemplo (\httpd\arquivos\imagem.jpg) - FK
    id_usuario int(5) - Chave estrangeira da tabela usuário - FK

    Crie outra tabela chama usuários com o seguintes campos

    id_usuario int(5) - Chave primária com o id do usuário
    tx_nome char(100) - Nome do usuário
    ... e os outros atributos que você desejar

    A query para cadastro ficaria

    Código:
    INSERT INTO usuarios (tx_nome) VALUES ("Marcelo");
    INSERT INTO arquivos(tx_caminho) VALUES ("C:\windows\ar.jpg");
    Lembre-se de deixar o id como auto increment e colocar os relacionamentos do campo id_usuario da tabela arquivos para a tabela usuários.

    Ai para exibir é muito simples, basta usar a função mysql_fetch_array e comparar o id com o outro

    Da até para fazer em SQL se preferir, eu acho melhor para que complicar se da para facilitar heheh
    A query ficaria assim

    Código:
    SELECT * FROM usuarios,arquivos WHERE usuarios.id_usuarios=arquivos.id_usuarios;
    Qualquer dúvida só perguntar

    Abraços,
    Att,
    Marcelo Moraes.

  6. #6
    Lamer
    Data de Ingresso
    Oct 2011
    Posts
    10
    Citação Postado originalmente por Marcelo Moraes Ver Post
    Bem é o seguinte cara que da para você fezer.

    Crie uma tabela chamada arquivos contendo o seguinte.

    id_arq int(5) - Chave primária PK
    tx_caminho char(200) - Indica o caminho do arquivo no servidor exemplo (\httpd\arquivos\imagem.jpg) - FK
    id_usuario int(5) - Chave estrangeira da tabela usuário - FK

    Crie outra tabela chama usuários com o seguintes campos

    id_usuario int(5) - Chave primária com o id do usuário
    tx_nome char(100) - Nome do usuário
    ... e os outros atributos que você desejar

    A query para cadastro ficaria

    Código:
    INSERT INTO usuarios (tx_nome) VALUES ("Marcelo");
    INSERT INTO arquivos(tx_caminho) VALUES ("C:\windows\ar.jpg");
    Lembre-se de deixar o id como auto increment e colocar os relacionamentos do campo id_usuario da tabela arquivos para a tabela usuários.

    Ai para exibir é muito simples, basta usar a função mysql_fetch_array e comparar o id com o outro

    Da até para fazer em SQL se preferir, eu acho melhor para que complicar se da para facilitar heheh
    A query ficaria assim

    Código:
    SELECT * FROM usuarios,arquivos WHERE usuarios.id_usuarios=arquivos.id_usuarios;
    Qualquer dúvida só perguntar

    Abraços,
    Att,
    Marcelo Moraes.
    Valeu ai pela ajuda,mais como vai ficar no perfil do usuário para ele ver o arquivo ?
    Vai aparecer do nada ou tem alguma script que tenho que criar para ele ver o arquivo em seu perfil dentro do sistema ?

    Abraço

  7. #7
    Moderador Avatar de Marcelo Moraes
    Data de Ingresso
    May 2007
    Localização
    localhost
    Posts
    578
    Vai ficar como eu disse acima cara.

    A query para execução para ele ver o arquivo é essa
    Código:
    SELECT * FROM usuarios,arquivos WHERE usuarios.id_usuarios=arquivos.id_usuarios;
    no caso você vai ter que armazenar o id de usuário em uma variável e compara-lá. Crie uma ComboBox que liste o nome de usuários e o value passado seja referente ao id de usuário. Ai o código que será chamado deverá ser assim:
    Código:
    <?php
    include("conectar.php");//Arquivo referente a conexão do banco
    
    $id=(int)$_POST['id'];//O id_usuario que está cadastrado no BD
    $sql="SELECT * FROM arquivos WHERE id_usuario=$id";
    .
    .
    .
    ?>
    Abraços,
    Att,
    Marcelo Moraes.

  8. #8
    Lamer
    Data de Ingresso
    Oct 2011
    Posts
    10
    Citação Postado originalmente por Marcelo Moraes Ver Post
    Vai ficar como eu disse acima cara.

    A query para execução para ele ver o arquivo é essa
    Código:
    SELECT * FROM usuarios,arquivos WHERE usuarios.id_usuarios=arquivos.id_usuarios;
    no caso você vai ter que armazenar o id de usuário em uma variável e compara-lá. Crie uma ComboBox que liste o nome de usuários e o value passado seja referente ao id de usuário. Ai o código que será chamado deverá ser assim:
    Código:
    <?php
    include("conectar.php");//Arquivo referente a conexão do banco
    
    $id=(int)$_POST['id'];//O id_usuario que está cadastrado no BD
    $sql="SELECT * FROM arquivos WHERE id_usuario=$id";
    .
    .
    .
    ?>
    Abraços,
    Att,
    Marcelo Moraes.

    Valeu parceiro,vou montar aqui e ver se da certo.
    Abraço

  9. #9
    Moderador Avatar de Marcelo Moraes
    Data de Ingresso
    May 2007
    Localização
    localhost
    Posts
    578
    Ok,

    é tudo lógica, mas siga os passos que eu disse que vai dar certo sim

    qualquer dúvida pergunte.

    Abraços!

  10. #10
    Lamer
    Data de Ingresso
    Oct 2011
    Posts
    10
    Parceiro,joguei dentro da página de sistema de login e deu erro ao tentar se conectar,aparecem erros de conexão ao banco de dados.Fiz pelo Dreamweaver,as variáveis de id,nome,senha,email,endereço e tal nunca se parecem com essas daí.Se coloco iguais da erro.
    Código:
    <?php
    //initialize the session
    if (!isset($_SESSION)) {
      session_start();
    }
    
    // ** Logout the current user. **
    $logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
    if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
      $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
    }
    
    if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
      //to fully log out a visitor we need to clear the session varialbles
      $_SESSION['MM_Username'] = NULL;
      $_SESSION['MM_UserGroup'] = NULL;
      $_SESSION['PrevUrl'] = NULL;
      unset($_SESSION['MM_Username']);
      unset($_SESSION['MM_UserGroup']);
      unset($_SESSION['PrevUrl']);
    	
      $logoutGoTo = "loginadmin.php";
      if ($logoutGoTo) {
        header("Location: $logoutGoTo");
        exit;
      }
    }
    ?>
    <?php
    if (!isset($_SESSION)) {
      session_start();
    }
    $MM_authorizedUsers = "";
    $MM_donotCheckaccess = "true";
    
    // *** Restrict Access To Page: Grant or deny access to this page
    function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
      // For security, start by assuming the visitor is NOT authorized. 
      $isValid = False; 
    
      // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
      // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
      if (!empty($UserName)) { 
        // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
        // Parse the strings into arrays. 
        $arrUsers = Explode(",", $strUsers); 
        $arrGroups = Explode(",", $strGroups); 
        if (in_array($UserName, $arrUsers)) { 
          $isValid = true; 
        } 
        // Or, you may restrict access to only certain users based on their username. 
        if (in_array($UserGroup, $arrGroups)) { 
          $isValid = true; 
        } 
        if (($strUsers == "") && true) { 
          $isValid = true; 
        } 
      } 
      return $isValid; 
    }
    
    $MM_restrictGoTo = "erro.php";
    if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
      $MM_qsChar = "?";
      $MM_referrer = $_SERVER['PHP_SELF'];
      if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
      if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0) 
      $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
      $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
      header("Location: ". $MM_restrictGoTo); 
      exit;
    }
    ?>
    <!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" /><meta http-equiv="imagetoolbar" content="no" />
    <link rel="stylesheet" href="styles/layout.css" type="text/css" />
    <!-- Homepage Specific Elements -->
    <script type="text/javascript" src="scripts/jquery-1.4.1.min.js"></script>
    <script type="text/javascript" src="scripts/jquery-ui-1.7.2.custom.min.js"></script>
    <script type="text/javascript" src="scripts/jquery.tabs.setup.js"></script>
    <title>Painel Principal - Adminstrador</title>
    <style type="text/css">
    body {
    	background-color: #FFC;
    }
    body,td,th {
    	font-family: "Caviar Dreams";
    	font-size: 16px;
    	font-weight: bold;
    }
    </style>
    </head>
    
    <body>
    <center><div id="topnav">
          <ul>
            <li class="active"><a href="cadastrocliente.php">Cadastrar Cliente</a></li>
            <li><a href="paineldoadmin.php">Clientes Cadastrados</a></li>
            <li><a href="uploaddearquivos.php">Enviar Arquivo</a></li>
            <li><a href="<?php echo $logoutAction ?>">Sair</a></li>
          </ul>
        </div>
      <form id="form1" name="form1" method="post" action="">
        <p><form enctype="multipart/form-data" action="save.php" method="post">
    	<!--<input type="hidden" name="MAX_FILE_SIZE" value="1048576" />-->
    	<label for="file"><strong>Arquivo a ser enviado</strong>:</label>
    	<input id="file" name="file" type="file" />
    	<input type="submit" value="Enviar" />
    </form></p>
    </form>
    <form id="form1" name="form1" method="post" action="">
    Enviar para:
    <?php
    include("sisonline.php");//Arquivo referente a conexão do banco
    
    $id=(int)$_POST['id'];//O id_usuario que está cadastrado no BD
    $sql="SELECT * FROM arquivos WHERE id_usuario=$id";
    ?>
    </form>
    
    </center>
    </body>
    </html>
    Ta ai o código todo meu,o do painel de enviar arquivo.

    Tem como me dar uma luz ai ?
    rs

    Abraço.
    Última edição por R0Dr1g0.; 04 Oct 2011 às 17:14. Razão: Adição das tags code

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •