FVIEIRAS 2 Denunciar post Postado Outubro 29, 2007 Amigos, Tenho uma página PHP que possui uma variável que já está vindo de uma outra página, onde dando um echo vejo que ela está sendo puxada normalmente. Porém nessa página que está chegando essa variável, preciso mandar essa mesma variável para uma outra página PHP que está sendo puxada por um formulário que faz o upload de um arquivo, porém não está funcionando. Alguém poderia me auxiliar no que pode estar errado... Seguem os códigos: Página PHP 1 (Onde está a variável funcioando) <html> <body> <? $id = $_GET["id"]; settype($id, "integer"); echo("$id") ?> <form action="envia.php" method="post" enctype="multipart/form-data"> Enviar o arquivo: <input type="file" name="arquivo" size="50"><br> <input type="submit" value="Enviar"> </form> </body> </html> Página PHP 2 (Onde não estou conseguindo fazer chegar o valor da variável da página PHP1) <? @ini_set('display_errors', '1'); error_reporting(E_ALL); $id = $_GET["id"]; settype($id, "integer"); //Faz o upload do arquivo $pasta = "images/grd"; //Nome da pasta para onde vão os arquivos if (copy($arquivo,"$pasta/".$arquivo_name)){ echo("<font face=verdana size=1><b>Arquivo enviado com sucesso!</b></font>"); }else{ echo ("<font face=verdana size=1><b>Erro no envio do arquivo!</b></font>"); } echo($arquivo_name); echo("---"); echo($id); //Salva o nome do novo arquivo no BD ?> Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Outubro 29, 2007 Essa "misteriosa" variável seria o id? :huh: No action do form, coloque: envia.php?id=$id Flws... ;) Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Outubro 29, 2007 É amigo, a misteriosa variável é o ID.... rs Fiz isso, ficou assim a página PHP 1 (Que chama a PHP 2 enviando a variável) <html> <body> <? $id = $_GET["id"]; settype($id, "integer"); echo("$id") ?> <form action="envia.php?id=$id" method="post" enctype="multipart/form-data"> Enviar o arquivo: <input type="file" name="arquivo" size="50"><br> <input type="submit" value="Enviar"> </form> </body> </html> E advinha.... NÃO FUNCIONOU.... rs.... Continua chegando como variável 0 Aonde será que tá o erro????? Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Outubro 29, 2007 Esse echo("$id") tem um valor diferente de zero? Comente a linha do settype em ambos os arquivos e faça o teste novamente. Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Outubro 29, 2007 Sim, é diferente de 0. Na página PHP1, de onde chama a envia.php, está certinha a variável com o valor 30 Somente não chega na outra.... Fiz esse teste que falou e não vai..... Em vez de chegar como 0 agora, chegou como $id Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Outubro 29, 2007 Esse segundo arquivo ai não está completo né? Onde é que você está utilizando $id? :huh: Se logo após a atribuição de $_GET["id"] você dar um echo e não aparecer o número, o problema está mais pra frente do arquivo, onde você não está mostrando ai. Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Outubro 29, 2007 Segue ele completo: <? @ini_set('display_errors', '1'); error_reporting(E_ALL); $id = $_GET["id"]; settype($id, "integer"); echo($arquivo_name); echo("---"); echo("$id"); //Apaga fotos do produto existentes para substituir $db['host'] = "localhost"; $db['username'] = "user"; $db['password'] = "password"; mysql_connect($db['host'], $db['username'], $db['password']); mysql_select_db("database"); mysql_query("delete from fotos where id = $id"); mysql_close(); //Faz o upload do arquivo $pasta = "images/grd"; //Nome da pasta para onde vão os arquivos if (copy($arquivo,"$pasta/".$arquivo_name)){ echo("<font face=verdana size=1><b>Arquivo enviado com sucesso!</b></font>"); }else{ echo ("<font face=verdana size=1><b>Erro no envio do arquivo!</b></font>"); } //Salva o nome do novo arquivo no BD ?> <style type="text/css"> <!-- .style2 {color: #FFFFFF} body { background-color: #000099; } --> </style> <a href="listar.php">Voltar</a> Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Outubro 29, 2007 Você verificou se o DELETE está sendo executado corretamente? Ou você está dizendo que não funciona por causa que não está sendo realizado o upload? Se for isso, o upload dessa forma não vai funcionar mesmo não. Compartilhar este post Link para o post Compartilhar em outros sites
batatinha66 0 Denunciar post Postado Outubro 29, 2007 N seria POST???? Página PHP 2 (Onde não estou conseguindo fazer chegar o valor da variável da página PHP1) <? @ini_set('display_errors', '1'); error_reporting(E_ALL); $id = $_GET["id"]; <<<<<<<<<< aki settype($id, "integer"); pagina 1: <form action="envia.php" method="post" enctype="multipart/form-data"> Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Outubro 29, 2007 O up load tá funcionando perfeitamente... O q não tá funcionando é justamente o dele, pois não encontra a variável id Tentei usar: session_start(); session_register("id"); Apresenta uma mensagem de erro de Warning, acho que está algo errado... Compartilhar este post Link para o post Compartilhar em outros sites
Paulo André 0 Denunciar post Postado Outubro 29, 2007 Estranho, de onde "brota" a variável $arquivo_name e $arquivo? :huh: A URL está certa? envia.php?id=30? Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Outubro 29, 2007 Putz.... Já tentei de tudo.... Vejam em detalhes, as vezes estou comendo alguma bola.... Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Outubro 29, 2007 Alguém conseguiu identificar o que pode estar de errado? Compartilhar este post Link para o post Compartilhar em outros sites
GuttoSP 2 Denunciar post Postado Outubro 29, 2007 Já alterou bastante, posta o code como está atualmente e explica o que você quer fazer. Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Outubro 29, 2007 EXPLICANDO, SÃO DOIS ARQUIVOS PHP, ONDE O PRIMEIRO A PESSOA SELECIONA O ARQUIVO E CLICA EM ENVIAR PARA FAZER O UPLOAD PARA O SERVIDOR, TAL PROCESSO É FEITO NO SEGUNDO ARQUIVO PHP, ONDE NELE SERÁ SALVO O PATH NO BANCO DE DADOS, PORÉM, PARA SER FEITO ISSO, PRECISO DE UMA VARIÁVEL CHAMADA ID, QUE NÃO ESTÁ CONSEGUINDO SER PUXADA PARA O ARQUIVO 2. SEGUE O PHP 1 <html> <body> <? $id = $_GET["id"]; settype($id, "integer"); echo($id); ?> <form action="envia.php?id=$id" method="post" enctype="multipart/form-data"> Enviar o arquivo: <input type="file" name="arquivo" size="50"><br> <input type="submit" value="Enviar"> </form> </body> </html> SEGUE O PHP 2 <? @ini_set('display_errors', '1'); error_reporting(E_ALL); $id = $_GET["id"]; settype($id, "integer"); echo($arquivo_name); echo("---"); echo($id); //Apaga fotos do produto existentes para substituir $db['host'] = "localhost"; $db['username'] = "user"; $db['password'] = "pass"; mysql_connect($db['host'], $db['username'], $db['password']); mysql_select_db("base"); mysql_query("delete from fotos where id = $id"); mysql_close(); //Faz o upload do arquivo $pasta = "images/grd"; //Nome da pasta para onde vão os arquivos if (copy($arquivo,"$pasta/".$arquivo_name)){ echo("<font face=verdana size=1><b>Arquivo enviado com sucesso!</b></font>"); }else{ echo ("<font face=verdana size=1><b>Erro no envio do arquivo!</b></font>"); } //Salva o nome do novo arquivo no BD ?> <style type="text/css"> <!-- .style2 {color: #FFFFFF} body { background-color: #000099; } --> </style> <a href="cadastro.html">Voltar</a> PRONTO OBS.: O UPLOAD DO ARQUIVO ESTÁ FUNCIONANDO NORMALMENTE, ESTÁ TUDO CERTO.... E OUTRA, NO PHP 1, ESSA VARIÁVEL JÁ ESTÁ VINDO DE UM OUTRO ARQUIVO E NELA FUNCIONA NORMALMENTE.... CREIO QUE POSSA EXISTIR ALGUM ERRO NA FORMA QUE ESTÁ SENDO ENVIADO NO FORMULÁRIO DO PHP 1, POIS É A ÚNICA COISA QUE VEJO QUE ESTÁ DIFERENTE DO OUTRO ARQUIVO QUE ESTÁ FUNCIONANDO NORMAL... NO OUTRO ESTÁ ASSIM O ENVIO DA VARIÁVEL.... <?php if(mysql_num_rows($resultado) < 1) { exit; } ?> <table width="714" border="1" align="center"> <tr> <th width="28" nowrap>ID</th> <th width="200" nowrap>Categoria</th> <th width="200" nowrap>Título</th> <th width="200" nowrap>Fabricante</th> <th width="200" nowrap>Marca</th> <th width="200" nowrap>Modelo</th> <th width="1000" nowrap>Descrição</th> <th width="1000" nowrap>Observações</th> <th width="200" nowrap>Valor Unitário</th> <th width="100" nowrap>Promoção</th> <th width="136" nowrap>EDITAR/EXCLUIR</th> </tr> <?php while($l = mysql_fetch_array($resultado)) { $id = $l["id"]; $categoria = $l["categoria"]; $titulo = $l["titulo"]; $fabricante = $l["fabricante"]; $marca = $l["marca"]; $modelo = $l["modelo"]; $descricao = $l["descricao"]; $observacoes = $l["observacoes"]; $valorunitario = $l["valorunitario"]; $Promocao = $l["Promocao"]; echo" <tr> <td>$id</td> <td>$categoria</td> <td>$titulo</td> <td>$fabricante</td> <td>$marca</td> <td>$modelo</td> <td>$descricao</td> <td>$observacoes</td> <td>$valorunitario</td> <td>$Promocao</td> <td><a href=\"editar.php?id=$id\">[Editar]</a> | <a href=\"excluir.php?id=$id\">[Excluir]</a> | <a href=\"enviar.php?id=$id\">[Anexar Foto]</a></td> </tr>\n"; } ?> </table> </body> </html> ELE ESTÁ CHAMANDO A PÁGINA PHP ATRAVÉS DE UM LINK E NÃO POR UM FORMULÁRIO ENVIANDO UM ARQUIVO... E AÍ... ALGUÉM SE HABILITA? Compartilhar este post Link para o post Compartilhar em outros sites
mmb 0 Denunciar post Postado Outubro 29, 2007 Amigo axo que você está enviando errado no form tente assim form action="envia.php?id=<? echo $id ?>" method="post" enctype="multipart/form-data"> Acho que é esse teu problema, pois o id está ganhando o valor de "$id" Tenta ae... Abraço, mmb Compartilhar este post Link para o post Compartilhar em outros sites
FVIEIRAS 2 Denunciar post Postado Outubro 29, 2007 Grande mmb!!!!!!!!!! MATOU A XARADA!!!!!!!!!!!! FUNCIONOU PESSOAL, ERA ISSO MESMO..... AGORA ENTENDI.... A ÁREA DO FORM QUE ESTAVA ENVIANDO ESTAVA COMO HTML E A VARIÁVEL PRECISA SER ENVIADA COMO PHP..... NUNCA MAIS ESQUEÇO ISSO!!!! OBRIGADO MESMO, SALVOU MEU DIA!!!!!!!!!!! Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Tschope 0 Denunciar post Postado Outubro 30, 2007 Po.. agora que li o topico... no primeiro post eu vi seu erro.... ahahhahahahaha!!! Fui lendo o resto dos posts pra ver se alguem falava do erro... mas beleza!! Boa sorte!! Compartilhar este post Link para o post Compartilhar em outros sites