Jump to content

Recommended Posts

Posted

Boas, estou aqui com um problema, quando tento enviar uma imagem para a base de dados, o campo na BD continua vazio, este é o codigo que estou a utilizar:

<?php
session_start();

include_once("./comuns.php");
?>

<html>
<head>
 <title>ADICIONAR IMAGENS</title>

</head>
</head>

<body bgcolor='#FFFFFF' leftmargin='0' topmargin='1' marginwidth='0' marginheight='0'>
<?php

/* ÁREA DE FUNÇÕES ************************************************************/
function form_categorias($id_carros){
?>

 <form name="insere_categoria" method="POST" action="adicionar_imagens_p.php?funcao=grava&id_carros=<?php echo $id_carros ?>" enctype="multipart/form-data">
   <input name="id_carros" type="hidden" value="<?php echo $id_carros; ?>">
  <TABLE align="center" width="500px" cellspacing="0" cellpadding="0" border="0">
   <TR>
    <TD colspan="2" height="1" class="altura_login" align="left"> </TD>
   </TR>
   <TR>
    <TD colspan="2" valign="bottom" class="Texto_Normal" align="left" bgcolor="#cccccc">
        Adicionar Imagens ao projecto<?php echo $id_carros ?>
    </TD>
   </TR>
   <tr>
    <td colspan="2"> </td>
   </tr>
   <tr>
    <td class="texto_normal"><b>Imagem (1)</b></td>
    <td>

    <INPUT type="file" name="foto" size="60" maxlength="255"
    class="Login_Caixas_onblur"
    onfocus="this.className='Login_Caixas_onblur'"
    onblur="this.className='Login_Caixas_onblur'"
    onkeypress="return handleEnter(this, event)">

    </td>
   </tr>
   <tr>
    <td colspan="2">
<div align="center">
     <input type="submit" value="GRAVAR" class="Login_Botao"
     onmouseover="this.className='Login_Botao_Over'" onmouseout="this.className='Login_Botao'">

     <input type="button" value="FECHAR" class="Login_Botao" onmouseover="this.className='Login_Botao_Over'"
     onmouseout="this.className='Login_Botao'"
     onclick="window.opener.location.reload();window.close();">
   </div></td>
  </tr>
 </TABLE>

<?php
}//FIM FORM CATEGORIAS

// Busca os dados do utilizador
function busca_dados($id_fotos_ficheiros,$id_carros){

       $db = new sql_db(CONST_SERVIDOR, CONST_UTILIZADOR, CONST_PASSWORD, CONST_DB, false);
       if(!$db->db_connect_id){
               echo "Não se conecto a Base de Dados";
               exit;
       }
               $sql = "SELECT *
                       FROM fotos_ficheiros
                       WHERE id_fotos_ficheiros ='$id_fotos_ficheiros'
                       ";


               $result = $db->sql_query($sql);
               $row = $db->sql_fetchrow($result);
               //$row['path']= $row['caminho'];


 return $row;
}// FIM DO BUSCA DADOS

function ficha_categorias($_POST,$id_fotos_ficheiros,$id_carros){


?>

        <TABLE align="center" width="500px" cellspacing="2" cellpadding="0" border="0">
         <TR>
          <TD colspan="2" valign="center" class="descricao" >
                  <font color="red">++</font>
                     Visualizar Foto:
                  <font color="red">++</font>
          </TD>
         </TR>
         <tr>
          <td class="titulo"> </td>
         </tr>
         <tr>
          <td class="t1">
             <div align="center">
            <img src=ver_fotos_ficheiros.php?id=<?php echo $id_fotos_ficheiros;?> width="500px">
              </div>
          </td>
         </tr>
         <tr>
          <td colspan="2" class="rodape_registo" align="center">

           <input type="button" value="FECHAR" class="Login_Botao"
                  onmouseover="this.className='Login_Botao_Over'"
                  onmouseout="this.className='Login_Botao'"
                  onclick="window.opener.location.reload();window.close();">
          </td>
         </tr>
        </TABLE>

<?php
}//FIM DA FICHA CATEGORIAS


function verifica_erros($_POST,$id_fotos_ficheiros=0){
       //Nome completo
      //$_POST['nome_ficheiros'] = trim($_POST['nome_ficheiros']);
     // if (!$_POST['nome_ficheiros']) {
     //     $errors[] = "Deve fornecer o nome do ficheiro.";
     // }
      return $errors;
}//FIM DO VERIFICA ERROS

function grava_alteracao_categoria($_POST,$id_fotos_ficheiros,$id_carros){

        $db = new sql_db(CONST_SERVIDOR, CONST_UTILIZADOR, CONST_PASSWORD, CONST_DB, false);
        if(!$db->db_connect_id){
            echo "Não se conecto a Base de Dados";
            exit;
        }

       // COLOCAR FOTO *********************************************************************
       //
       //   INSERIR FOTO NUMERO 1
       //*********************************************************************************
           $nomefoto = $_FILES['foto']['name'];
       if ($_FILES['foto']['type']!=''){

            $pathinicial2 = $_FILES['foto']['tmp_name'];
            $tipo = $_FILES['foto']['type'];
            $pathfinal2 = "/tmp".$_FILES['foto']['name'];

            if (move_uploaded_file($pathinicial2,$pathfinal2)){
                    //echo "Moveu para <b>$pathfinal</b> com sucesso!
";
                    // Gravou para a pasta temporaria, agora vai redimensionar e depois guardar na BD
                    // Redimensionamento
                    $foto = redimensiona_ficheiros($pathfinal2,500);
                    //echo "Já redimensionou";


            }else{
                    echo "Ocorreu um erro: Possivel ataque ao ficheiro!";

            }
                 // FIM de guardar o registo com foto

       }elseif($_POST['id_ficheiro'] == ""){  // Não foi enviada uma foto
            $pathinicial2 =  "./imagens/Foto_Sombra.gif";
            $tipo = "image/pjpeg";
            $fp = fopen($pathinicial2, "rb");
            $foto = addslashes(fread($fp, filesize ($pathinicial2)));
            $_POST['foto']=$foto;
       }


               $id_carros = $_POST['id_carros'];
               $data_actual = date('Y-m-d');//Formula para adata actual
                // Se for primeira vez (não vem id_utilizador) grava


                $SQL="INSERT INTO `fotos_ficheiros`
                      (`id_carros`, `foto`, `tipo`,`data_ficheiro`, `activo`)
                      VALUES ('$id_carros','$foto','$tipo','$data_actual','1');";

                $result = $db->sql_query($SQL);
                $id_fotos_ficheiros = mysql_insert_id();

                //echo $SQL;exit;


        $db->sql_close();
        return $id_fotos_ficheiros;
}//FIM DO GRAVA ALTERAÇÃO

/******************************************************************************/
/* MAIN - Secção principal do ficheiro*****************************************/
// Função insere novo utilizador

// BUSCA AS HABILITAÇÕES E CARREGA O ARRAY DESTAS
$db = new sql_db(CONST_SERVIDOR, CONST_UTILIZADOR, CONST_PASSWORD, CONST_DB, false);
       if(!$db->db_connect_id){
               echo "Could not connect to the database";
               exit;
       }


if ($_GET['id_fotos_ficheiros']=="" && $_GET['funcao'] == "inserir"){
       $id_carros = $_GET['id_carros'];
       $_POST = form_categorias($id_carros);

}else if ($_GET['id_fotos_ficheiros']!="" && $_GET['funcao'] == "ver"){

       $_POST = busca_dados($_GET['id_fotos_ficheiros'],$id_carros);
       $id_carros = $_GET['id_carros'];
       ficha_categorias($_POST,$_GET['id_fotos_ficheiros'],$id_carros);
}else if($_GET['funcao']=="grava"){
       $erros = verifica_erros($_POST,$_GET['id_fotos_ficheiros']);
       if (!isset($erros)){
               $id_carros = $_GET['id_carros'];
               $id_fotos_ficheiros = grava_alteracao_categoria($_POST,$_GET['id_fotos_ficheiros'],$id_carros);
                echo "<SCRIPT language=\"Javascript\">";
                 echo "window.location.href=\"adicionar_imagens_p.php?id_fotos_ficheiros=$id_fotos_ficheiros&id_carros=$id_carros&funcao=ver\"";
               echo "</SCRIPT>";

       }

}else {
     echo "<SCRIPT language=\"Javascript\">";
        echo "window.location.href=\"./erro.php\"";
     echo "</SCRIPT>";
}
?>

</body>

</html>

Alguém me pode ajudar com isto?

Obrigado

Posted

o teu teu código tem três metros de comprimento, por isso aconcelho a usar as tags do geshi (se não sabes tens o link no fundo da página na secção ajuda) e tenta depois apresentar isso bem identado, porque se não tiver, espero que alguém com paciência apareça porque eu não irei ler.

ps : é normal que o editor não goste da identação. para isso usa o botao de alteração do modo de edição que se encontra no canto superior esquerdo do editor da resposta.

IRC : sim, é algo que ainda existe >> #p@p

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.