Ir para conteúdo

Arquivado

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

Kelven

[Resolvido] esse script ta errado

Recommended Posts

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

é 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

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

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

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

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

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

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

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

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

×

Informação importante

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