andre2010 0 Denunciar post Postado Dezembro 18, 2009 Salve! Pessoal, estou precisando criar no meu formulario de cadastro, uma area de upload de imagens, para que eu possa mostrar as imagens inseridas no bd atraves do upload, no meu site! codigo do Formulario: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Cadastro de Praias</title> <style type="text/css"> .style1 { color: #FF0000; font-size: x-small; } .style3 {color: #0000FF; font-size: x-small; } </style> <link href="titulo_cadastro.css" rel="stylesheet" type="text/css"> </head> <body> Cadastro das praias na ZONA SUL: <p> <form id="cadastro" name="cadastro" method="post" action="cadastroPraiaZonaSul.php" onSubmit="return validaCampo(); return false;"> <table width="532" border="0"> <tr> <td>Fotos:</td> <td><label> <input type="text" name="textfield" id="textfield"> <input type="submit" name="upload" id="upload" value="Upload"> Max. 6 fotos para upload</label></td> </tr> <tr> <td height="45" colspan="2"><p> <input name="cadastrar" type="submit" id="cadastrar" value="Concluir meu Cadastro!" /> <input name="limpar" type="reset" id="limpar" value="Limpar Campos preenchidos!" /> <br><span class="style1">* Campos com * são obrigatórios!</span></p> <p></p></td> </tr> <tr> <td height="21" colspan="2"><a href="menuCadastro.php" style="text-decoration:none">Voltar</a></td> </tr> </table> </form> </body> </html> codigo da pagina de exibicao das imagens (obs: as imagens devem aparecer de acordo com o menu, qdo clicar no Exemplo 01, pegar do banco as 6 fotos relacionadas com o Exemplo 01...) <?php include ("config.php"); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Menu</title> </head> <body> Menu: <table width="103" border="0"> <tr><td><a href="?exemplo=1">Exemplo 01</a></td></tr> <tr><td><a href="?exemplo=2">Exemplo 02</a></td></tr> <tr><td><a href="?exemplo=3">Exemplo 03</a></td></tr> </table> Fotos: <table width="247" border="0"> <tr> <td width="68">Fotos</td> <td width="83"> </td> <td width="82"> </td> </tr> <tr> <td> <img src="imagens/png/85x65.png" border="0" onclick="MM_openBrWindow('imagens/png/660x510.png','','width=660,height=510')"/></td> <td> <img src="imagens/png/85x65.png" border="0" onclick="MM_openBrWindow('imagens/png/660x510.png','','width=660,height=510')"/></td> <td> <img src="imagens/png/85x65.png" border="0" onclick="MM_openBrWindow('imagens/png/660x510.png','','width=660,height=510')"/></td> </tr> <tr> <td> <img src="imagens/png/85x65.png" border="0" onclick="MM_openBrWindow('imagens/png/660x510.png','','width=660,height=510')"/></td> <td> <img src="imagens/png/85x65.png" border="0" onclick="MM_openBrWindow('imagens/png/660x510.png','','width=660,height=510')"/></td> <td> <img src="imagens/png/85x65.png" border="0" onclick="MM_openBrWindow('imagens/png/660x510.png','','width=660,height=510')"/></td> </tr> </table> </body> </html> Alguma sugestao? []'s Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Dezembro 18, 2009 declare: enctype="multipart/form-data" <form id="cadastro" name="cadastro" method="post" action="cadastroPraiaZonaSul.php" enctype="multipart/form-data" onsubmit="return validaCampo(); return false;">e use um move_uploaded_file() para transferir o arquivo. Qual é a dúvida? oque você ja fez? deu erro? qual ? Compartilhar este post Link para o post Compartilhar em outros sites
andre2010 0 Denunciar post Postado Dezembro 18, 2009 declare: enctype="multipart/form-data" <form id="cadastro" name="cadastro" method="post" action="cadastroPraiaZonaSul.php" enctype="multipart/form-data" onsubmit="return validaCampo(); return false;">e use um move_uploaded_file() para transferir o arquivo. Qual é a dúvida? oque você ja fez? deu erro? qual ? William, Tenho varias duvidas, pois nao sei como fazer o upload das fotos. 1- como faço para buscar as imagens no computador ao clicar em upload? 2- enquanto vou selecionando as imagens o nome dela vao aparecendo em baixo, listadas entende? 3- dps de selecionar as 6 imagens, ao clicar em "Concluir meu Cadastro!" como fazer para elas irem pro banco de dados, para que eu possa busca-las atraves do PHP e mostra-las nos lugares corretos la no site? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Dezembro 18, 2009 basta usar um input do tipo file. <input type="file" name="arquivo" /> essa tag HTML já faz todo esse trabalho para você. Compartilhar este post Link para o post Compartilhar em outros sites
andre2010 0 Denunciar post Postado Dezembro 18, 2009 basta usar um input do tipo file. <input type="file" name="arquivo" /> essa tag HTML já faz todo esse trabalho para você. Ok, o 1 item resolvido! <tr> <td>Fotos:</td> <td><label> <input type="file" name="arquivo" size="40"> <span class="style4">Max. 6 fotos para upload</span></label></td> </tr> <tr> <td><input type="submit" name="enviar" value="Upload!"></td> <td> </td> </tr> 2- como faço para listar o nome dos arquivos apos serem carregados? Willian, deixa eu te explicar oq eu preciso. Resumidamente, preciso inserir imagens no meu banco de dados e dpois mostrar no meu site, as imagens vindas do banco de dados. o que voce me sugere? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Dezembro 18, 2009 Isso será somente depois do submit do formulário.. você irá receber um: $_FILES['arquivo']['name']; que conterá o nome do arquivo enviado pelo usuário. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Dezembro 18, 2009 Dê uma estudada em manipulação de bancos de dados e upload de arquivo. Aparentemente, você não tem nenhum conhecimento nisso. É bom saber o básico antes de começar a aplicação. Para exibir os dados, usa-se o comando SELECT da SQL. Para fazer o upload, basta usar move_uplaoded_file(), basicamente. Veja: http://forum.imasters.com.br/index.php?/topic/192408-sistema-de-cadastro-em-phpmysql/ http://www.php.net/manual/pt_BR/features.file-upload.php Compartilhar este post Link para o post Compartilhar em outros sites
andre2010 0 Denunciar post Postado Dezembro 18, 2009 Segui o conselho do Beraldo e fui ler sobre manipulacao de dados, meu codigo ficou o seguinte: <? include ("config.php"); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <? if($_POST) { $pFoto = $_FILES["txtFoto"]["tmp_name"]; $pTipo = $_FILES["txtFoto"]["type"]; move_uploaded_file($pFoto, "c:\\temp\\latest.img"); $pont = fopen("c:\\temp\\latest.img", "rb"); $dados = addslashes(fread($pont, filesize("c:\\temp\\latest.img"))); $sql = mysql_query("INSERT INTO fotos (foto, tipo) VALUES('".$dados."', '".$pTipo."') ",$conexao); echo "<table border='0' cellpading='0' cellspacing='0' width='95%'>"; $row = mysql_affected_rows($conexao); if($row) { echo "<tr>"; echo "<td>Inclusão efetuada com Sucesso!"; echo "</tr>"; } else { echo "<tr>"; echo "<td>Erro na inclusão da foto!"; echo "</tr>"; } echo "</table>"; } else { ?> <form name="frmFoto" method="post" enctype="multipart/form-data"> <table width="443" border="0"> <tr> <td>Upload de fotos:</td> </tr> <tr> <td width="437"> <input type='file' name='txtFoto' size='50'> <input type='submit' value='Gravar'></td> </tr> <tr> <td> </td> </tr> <tr> <td><a href="cadastroPraiaZonaSul.html" style="text-decoration:none">Cadastrar Praia</a></td> </tr> <tr> <td><a href="menuCadastro.php" style="text-decoration:none">Voltar para o menu inicial</a></td> </tr> </table> </form> <? } ?> </body> </html> Quando clico em "Gravar" no form, a tela pisca mas nao insere no banco! alguma sugestao? []'s Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Dezembro 18, 2009 Faça o seguinte: - Habilite todas as mensagens de erro, adicionando este código ao início do script error_reporting(E_ALL); - Troque <? por <?php.- Qual a idéia com este código? $pont = fopen("c:\\temp\\latest.img", "rb"); $dados = addslashes(fread($pont, filesize("c:\\temp\\latest.img"))); O valor deste dado é o mesmo que está disponível em $_FILES['txtFoto']['size']. Veja se fazendo isto aparece algum erro Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
andre2010 0 Denunciar post Postado Dezembro 18, 2009 Faça o seguinte: - Habilite todas as mensagens de erro, adicionando este código ao início do script error_reporting(E_ALL); - Troque <? por <?php.- Qual a idéia com este código? $pont = fopen("c:\\temp\\latest.img", "rb"); $dados = addslashes(fread($pont, filesize("c:\\temp\\latest.img"))); O valor deste dado é o mesmo que está disponível em $_FILES['txtFoto']['size']. Veja se fazendo isto aparece algum erro Carlos Eduardo A ideia seria, "fopen" para abrir o arquivo e o "fread" para varre-lo.. rodei novamente com o "error_reporting(E_ALL);" no inicio do codigo e nao deu erros, ficou como estava antes! Carlos, estava lendo em alguns foruns e estavam falando q o modo mais simples de mostrar a imagem no site, era adicionar somente o caminho do arquivo no banco de dados.. seria melhor para resolver meu problema? nao preciso necessariamente inserir a imagem no banco. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Dezembro 18, 2009 Não tem necessidade de usar o fread e o fopen... Veja... O valor deste dado é o mesmo que está disponível em $_FILES['txtFoto']['size']. Além disto, fez a outra modificação? - Troque <? por <?php. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
andre2010 0 Denunciar post Postado Dezembro 18, 2009 Ok, retirei o fread e o fopen e tambem troquei para <?php Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Dezembro 18, 2009 E?? Mudou alguma coisa? De qualquer forma, dá uma lida neste link. http://br.php.net/manual/pt_BR/features.file-upload.php Tem os principais erros e possibilidades para não funcionar. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
andre2010 0 Denunciar post Postado Dezembro 18, 2009 E?? Mudou alguma coisa? De qualquer forma, dá uma lida neste link. http://br.php.net/manual/pt_BR/features.file-upload.php Tem os principais erros e possibilidades para não funcionar. Carlos Eduardo Nao mudou nada! Dei uma olhada no link q você mandou, tem muita coisa importante ali, mas ainda é mto complexo de entender, prefiro aprender por partes, como estamos fazendo! Usarei o link q você enviou para tirar duvidas onde forem surgindo. Carlos, estava lendo em alguns foruns e estavam falando q o modo mais simples de mostrar a imagem no site, era adicionar somente o caminho do arquivo no banco de dados.. seria melhor para resolver meu problema? nao preciso necessariamente inserir a imagem no banco. Sera que seria mais simples p o meu caso? Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Dezembro 18, 2009 Com certeza é mais simples. Apenas adicione o $_FILES['txtFoto']['name'] no insert. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
andre2010 0 Denunciar post Postado Dezembro 18, 2009 Com certeza é mais simples. Apenas adicione o $_FILES['txtFoto']['name'] no insert. Carlos Eduardo De que forma? Podes me mostrar a sintaxe no meu codigo por favor? Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Dezembro 18, 2009 $sql = mysql_query("INSERT INTO fotos (foto, tipo) VALUES('".$_FILES['txtFoto']['name']."', '".$pTipo."') ",$conexao); Mas eu acho que tem coisa errada no teu move_uploaded_file. Modifique esta parte e depois disto, poste o código completo como está agora. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
andre2010 0 Denunciar post Postado Dezembro 18, 2009 Codigo modificado! <? include ("config.php"); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <?php error_reporting(E_ALL); if($_POST) { $pFoto = $_FILES["txtFoto"]["tmp_name"]; $pTipo = $_FILES["txtFoto"]["type"]; move_uploaded_file($pFoto, "c:\\temp\\latest.img"); $sql = mysql_query("INSERT INTO fotos (foto, tipo) VALUES('".$_FILES['txtFoto']['name']."', '".$pTipo."') ",$conexao); echo "<table border='0' cellpading='0' cellspacing='0' width='95%'>"; $row = mysql_affected_rows($conexao); if($row) { echo "<tr>"; echo "<td>Inclusão efetuada com Sucesso!"; echo "</tr>"; } else { echo "<tr>"; echo "<td>Erro na inclusão da foto!"; echo "</tr>"; } echo "</table>"; } else { ?> <form name="frmFoto" method="post" enctype="multipart/form-data"> <table width="443" border="0"> <tr> <td>Upload de fotos:</td> </tr> <tr> <td width="437"> <input type='file' name='txtFoto' size='50'> <input type='submit' value='Gravar'></td> </tr> <tr> <td> </td> </tr> <tr> <td><a href="cadastroPraiaZonaSul.html" style="text-decoration:none">Cadastrar Praia</a></td> </tr> <tr> <td><a href="menuCadastro.php" style="text-decoration:none">Voltar para o menu inicial</a></td> </tr> </table> </form> <? } ?> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Dezembro 18, 2009 Vamos por partes: <? include ("config.php"); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <?php error_reporting(E_ALL); O error_reporting é na primeira linha e faltou colocar lá em cima o <?php... Veja: <?php error_reporting(E_ALL); include 'config.php'; ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <?php Execute de novo e veja se aparece algum erro. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
andre2010 0 Denunciar post Postado Dezembro 18, 2009 Fiz as alteracoes, Continua a mesma coisa, fechei o apache, limpei o historico, e rodei novamente, nada! Compartilhar este post Link para o post Compartilhar em outros sites