Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

grldesign

Problemas com Upload

Recommended Posts

O script envia todas as informações do formulario corretamente, apenas o valor do campo FILE, com o qual envio uma figura para upload não é recebido. Abaixo colo o código, se alguém souber eu agradeço.

 

 

<? if (!$tipo) { ?>

  <form name="form1" method="post" action="adpanel.php?area=projetos&acao=adicionar&tipo=gravando" enctype="multipart/form-data">

          <table width="350" border="0" cellspacing="0" cellpadding="0">

            <tr valign="top">

              <td width="80"><div align="right">Cliente</div></td>

              <td width="5"> </td>

              <td><input name="cliente" type="text" class="inputs" id="cliente" size="40"></td>

            </tr>

            <tr valign="top">

              <td><div align="right">Descrição</div></td>

              <td> </td>

              <td><textarea name="descricao" cols="37" rows="4" id="descricao"></textarea></td>

            </tr>

            <tr valign="top">

              <td><div align="right">Screen</div></td>

              <td> </td>

              <td><input name="screen" type="file" size="25" id="screen" class="inputs"></td>

            </tr>

            <tr valign="top">

              <td><div align="right">Url</div></td>

              <td> </td>

              <td><input name="url" type="text" class="inputs" id="url" size="25"></td>

            </tr>

            <tr valign="top">

              <td><div align="right">Tecnologias</div></td>

              <td> </td>

              <td><input name="tecnologias" type="text" class="inputs" id="tecnologias" size="25"></td>

            </tr>

            <tr valign="top">

              <td><div align="right">Entrega</div></td>

              <td> </td>

              <td><input name="entrega" type="text" class="inputs" id="entrega" value="<? echo "$data_sql"; ?>" size="15"></td>

            </tr>

            <tr valign="top">

              <td> </td>

              <td> </td>

              <td height="30" valign="middle"> <input name="imageField" type="image" src="gfx/ok.gif" border="0">

              </td>

            </tr>

          </table>

        </form>

<? }

elseif ($tipo == "gravando") {

 

require('config/config_con.php');

   

   

//TRABALHANDO COM A IMAGEM ANEXA

$imagem = $_POST[screen];

     

//VERIFICAÇÕES

if($imagem != 'none') {  //VERIFICA SE VEIO VAZIO

     

 

if($imagem_size > 102400) {

     

$erros++;

     

$errors = $errors."O tamanho do arquivo excede 100 Kb. <br>";

      }

     

     

$arquivo = "http://localhost/grldesign/portfolio/$imagem_name";

     

      if(file_exists($arquivo)) {

$erros++;

$errors = $errors."O Arquivo já existe, renomeie-o.";

}

}

     

if($erros == 0) {

copy($imagem, "/portfolio/$imagem_name");     

   

$sel = "INSERT INTO grl_portfolio (id, cliente, descricao, screen, url, tecnologias, entrega) VALUES('', '$_POST[cliente]', '$_POST[descricao]', '$_POST[screen]', '$_POST', '$_POST[tecnologias]', '$_POST[entrega]')";

$sql= mysql_query($sel) or die(mysql_error());

   

if(!$sql) {

 

echo "<font color='#cc3300'>N&ato foi possível gravar o projeto!</font>";

 

echo "<br><br><a href='java script:window.history.go(-1)'>» Voltar</a>";

    }

else {

 

echo "<font color='#cc3300'>Gravação executada com sucesso!</font>";

}

}

else {

 

echo "Foram encontrados os seguintes erros:<br><br>";

echo "$errors";

}

  }

?>

Vale lembrar que estou utilizando querystring, se $tipo=gravando ele grava, senão ele exibe o formulário. Isto está funcionando normalmente, pois utilizo em outras ações nos meus scripts e nunca houve erro, mas o valor do campo file é que me intriga. Onde foi parar?

 

Flw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

para obter o valor de campos do tipo file você deve usar $_FILES[] assim como usa o $_POST[] e o $_GET[]

Compartilhar este post


Link para o post
Compartilhar em outros sites

O enctype="multipart/form-data" envia o arquivo pelo form, se você tirar ele vai enviar o conteúdo como um campo text normal, aí é só usar a função copy pra fazer o upload, entende? ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prescot, simplesmente não está enviando. Retirei o enctype, aí chegava a informação, mas não enviava o arquivo, coloco o enctype, não recebe a informação do form e não tem como fazer o upload.Sem contar que preciso da variavel $imagem_name, $imagem_size que só são geradas quando um file é enviado pelo formulário certo?Sem elas o valor do campo fica c:\pasta\pasta\arquivo.jpg e não me serve.O que posso fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolveu com sua resposta anterior e uma outra sua em um tópico sobre upload em que você diz que os "/" poderiam estar sendo interpretados como divisões e isolei-os. Isso tudo contribuiu. Valeu mais uma vez.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.