grldesign 0 Denunciar post Postado Janeiro 26, 2004 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
wxkj 0 Denunciar post Postado Janeiro 26, 2004 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
Alisson Rodrigues 3 Denunciar post Postado Janeiro 26, 2004 Acho que não é preciso, no <form> tire isso: enctype="multipart/form-data">, ele vai enviar o texto do campo file como se fosse um campo de texto normal. ;) Compartilhar este post Link para o post Compartilhar em outros sites
wxkj 0 Denunciar post Postado Janeiro 26, 2004 sem enctype="multipart/form-data" não faz upload. Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Janeiro 26, 2004 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
grldesign 0 Denunciar post Postado Janeiro 26, 2004 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
Alisson Rodrigues 3 Denunciar post Postado Janeiro 26, 2004 Pra pegar o nome da imagem: $img = $_POST[img];$quebra = explode("\\", $img);$inv = array_reverse($quebra);$nome = $inv[0];Aparece algum erro na função copy? Compartilhar este post Link para o post Compartilhar em outros sites
grldesign 0 Denunciar post Postado Janeiro 26, 2004 retorna sempre que o arquivo ja existe e nao envia. Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Janeiro 26, 2004 você disse que se não tiver um nome ele é grvado com arquivo.jpg né?Bom, o código pro nome eu postei ai em cima, falta usar o file_size pra saber o tamanho. Compartilhar este post Link para o post Compartilhar em outros sites
grldesign 0 Denunciar post Postado Janeiro 26, 2004 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
Alisson Rodrigues 3 Denunciar post Postado Janeiro 26, 2004 Pode crê, tava esquecendo esse detalhe de divisão hehe. :D Compartilhar este post Link para o post Compartilhar em outros sites