Evandro Oliveira 331 Denunciar post Postado Maio 20, 2010 Poste a msg de erro, amigo. falta um cifrão na hora de definir a variável $imagem. não se compara variáveis com 'aspas' $nome = imagem; if (!empty('$imagem')) $nome = $imagem; if(!empty($imagem)) Edit: Experimente escrever alguma coisa no campo 'seunome' antes de enviar o arquivo ;) Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 20, 2010 é porque quando coloca aspas da erro Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or '$' in /home/flycratr/public_html/upload/php_formulario.php on line 9 Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Maio 20, 2010 você está verificando se uma STRING está vazia, quando ela não está if(!empty('$imagem')) é a mesma coisa que if(!empty('qualquercoisaqueeuescreverserve')) Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 20, 2010 eu coloquei outra verificação agora olha: if (isset($_POST['enviar']) && $_POST['enviar'] == 'send') mas mesmo assim não da certo porque o else ativa. o formulario que eu to usando é esse olha : <?php include ("conexao.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>formulario</title> </head> <body> <form action="php_formulario.php" method="post" enctype="multipart/form-data"> <label> Nome:</label> <input name="seunome" type="text" id="seunome" /> <br /> <label>Foto:</label><input name="imagem" type="file" id="imagem" /><br /> <input type="submit" name="enviar" /> </form> </body> </html> acabei de testar ve se aceitava qualquer coisa e não funcionol, eu tava querendo terminar esse negócio ainda hoje falta só isso pra mim colocar meu site no ar mais ta dando uma trabalheira. Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Maio 20, 2010 1. deixe a declaração do DOCTYPE na primeira linha e primeira coluna do documento, para evitar problemas <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>formulario</title> </head> <body> <form action="php_formulario.php" method="post" enctype="multipart/form-data"> <fieldset> <legend>Envio simples de arquivo</legend> <p><label for="nome">Nome:</label><input type="text" id="nome" name="nome" /></p> <p><label for="foto">Foto:</label><input type="file" id="foto" name="foto" /></p> </fieldset> <button type="submit">Enviar!</button> </form> </body> </html> arquivo php_formulario.php <?php include "conexao.php" if($_SERVER['REQUEST_METHOD'] == 'post'){ define('imgPath','uploads/'); $imagem = $_FILES['foto']['name']; if(!empty($imagem)) { move_uploaded_file($_FILES['foto']['tmp_name'],imgPath . $imagem); mysql_query("INSERT INTO `foto`(`foto`,`nome`) VALUES('{$imagem}', '{$_POST['nome']}')"); echo "Sucesso"; } else echo "Erro."; } Você tava com algum probleminha para manipular o arquivo vindo do formulário, primeiro procurava por $_FILES['imagem'] sendo que na verdade, o correto era $_FILES['foto'] Se vocês ativassem todos os erros, seria muito mais rápido pra gente poder identificar e ajudar =/ Mas a solução tá postada aí em cima. Espero que ajude. Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 20, 2010 o seguinte erro deu usando seu script: Parse error: syntax error, unexpected T_IF in /home/flycratr/public_html/upload/php_formulario.php on line 4 Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Maio 20, 2010 Faltou um ponto e vírgula no final desta linha: include "conexao.php" ; // falta colocar este ponto e vírgula Corrija isto e deve funcionar. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 21, 2010 pessoal alegremente anuncio que finalmente deu certo obrigado por todos ter me ajudado a fazer esse código sem pegar script pronto olha o resultado: depois eu coloco as validações. php: <?php include ("conexao.php"); $pegar = $_POST["nome"]; $nomeArquivo = $_FILES['imagem']['name']; $tmpFile = $_FILES['imagem']['tmp_name']; $caminhoA = "uploads/" . $nomeArquivo; if (move_uploaded_file ($tmpFile, $caminhoA)) { //inserir no banco $sql = "INSERT INTO fotos (foto, nome) VALUES ('$pegar', '$nomeArquivo')"; $qry = mysql_query ($sql); echo "Imagem enviada obrigado finalmente sera que prestou"; } ?> Formulario: <?php include ("conexao.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>formulario</title> </head> <body> <form action="php_formulario.php" method="post" enctype="multipart/form-data"> digite seu nome:<input name="nome" type="text" id="nome" /><br /> envie sua foto:<input name="imagem" type="file" id="imagem" /><br /> <input type="submit" name="enviar" /> </form> </body> </html> valeu mesmo galera fico feliz em saber que aqui o pessoal ajuda mesmo vlwww!! Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Maio 21, 2010 mime/type http://br2.php.net/manual/en/function.finfo-open.php Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 21, 2010 olha o código não ta funcionando porque não envia nenhum arquivo nem imagem nem sem ser imagem <?php include ("conexao.php"); $pegar = $_POST["nome"]; $nomeArquivo = $_FILES['imagem']['name']; $tmpFile = $_FILES['imagem']['tmp_name']; $caminhoA = "uploads/" . $nomeArquivo; if (!preg_match("/^image\/(gif|jpeg|jpg|png)$/i", $nomeArquivo["type"])) { echo "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; } else { //inserir no banco move_uploaded_file ($tmpFile, $caminhoA); $sql = "INSERT INTO fotos (foto, nome) VALUES ('$pegar', '$nomeArquivo')"; $qry = mysql_query ($sql); echo "Imagem enviada obrigado finalmente sera que prestou"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Maio 21, 2010 Kelven, você está tendo um pequeno probleminha ao interpretar o conteúdo das variáveis que você trabalha. Sabe trabalhar com array()'s ??? faça o seguinte, adicione isso aqui: var_dump($_FILES); logo depois de include "conexao.php" vai aparecer um pedaço de código, sugiro que você o leia, e procure entender O QUE É e COMO FUNCIONA. Você enviou o nome do arquivo para a variável $nomeArquivo e quer consultar o mime/type dela a partir dali. Compartilhar este post Link para o post Compartilhar em outros sites
Kelven 1 Denunciar post Postado Maio 21, 2010 sei, mas deu certo agora terminei tudo pronto vlw Compartilhar este post Link para o post Compartilhar em outros sites