Ir para conteúdo

Arquivado

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

Kelven

[Resolvido] esse script ta errado

Recommended Posts

galera to tentando fazer um sistema de upload muito simples bem simples mesmo porque depois é que eu vou colocar as validações, mas o problema é que não ta dando certo e eu nem sei o porque, eu to tentando fazer o código pela lógica olha só a parte do 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">

Nome:<input name="nome" type="text" id="nome"  /><br />
Foto:<input type="file" name="foto" /><br />
<input type="submit" name="enviar" />

</form>
</body>
</html>

a parte do php do formulario:

 

<?php

$nome = $_POST["nome"];
$imagem = $_FILES["foto"];
$pasta = "uploads/"


if ()
{
	move_uploaded_file($_FILES["$imagem"]["$nome"], $pasta . $nome);
	mysql_query("INSERT INTO foto (foto,nome) VALUES ('$imagem','$nome')");
}
else
{
	echo "erro ao enviar a imagem";
	
}




?>

 

 

E o erro que da :

 

 

Parse error: syntax error, unexpected T_IF in /home/flycratr/public_html/upload/php_formulario.php on line 8

Compartilhar este post


Link para o post
Compartilhar em outros sites

O move_uploaded_file($_FILES["$imagem"]["$nome"], $pasta . $nome) não tem que estar dentro do if?

 

<?php

$nome = $_POST["nome"];
$imagem = $_FILES["foto"];
$pasta = "uploads/"


if (move_uploaded_file($_FILES["$imagem"]["$nome"], $pasta . $nome))
{
	mysql_query("INSERT INTO foto (foto,nome) VALUES ('$imagem','$nome')");
}
else
{
	echo "erro ao enviar a imagem";

}




?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

$nome = $_POST['nome'];
$imagem = $_FILES['foto']['name'];
$pasta = 'uploads/';

if ( !empty($_FILES['foto']['name']) )
{
        move_uploaded_file($_FILES['foto']['tmp_name'], $pasta . $nome);
        mysql_query("INSERT INTO foto (foto,nome) VALUES ('$imagem','$nome')");
}

exemplo de script de upload:

http://forum.imasters.com.br/index.php?/topic/395342-upload-multiplo-de-fotos/page__view__findpost__p__1544152

Compartilhar este post


Link para o post
Compartilhar em outros sites

bruno com esse tipo olha os erros que deram

 

 

Warning: move_uploaded_file(uploads/kelven) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/flycratr/public_html/upload/php_formulario.php on line 8

 

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpxnYW2Y' to 'uploads/kelven' in /home/flycratr/public_html/upload/php_formulario.php on line 8

 

Warning: mysql_query() [function.mysql-query]: Access denied for user 'nobody'@'localhost' (using password: NO) in /home/flycratr/public_html/upload/php_formulario.php on line 9

 

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/flycratr/public_html/upload/php_formulario.php on line

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal se colocar assim da certo olha?

porque eu tentei e deu o else

 

<?php
if(isset($_POST['submit']))
{
	$nome= $_POST['nome'];
	$foto= $_FILES['foto'];
	$pasta= 'local/';
	
	move_uploaded_file($_FILES["$imagem"]["$nome"], $pasta . $nome);
	mysql_query("INSERT INTO foto (foto,nome) VALUES ('$imagem','$nome')");	
}

else 
{
	echo "erro ao enviar o arquivo";
}
?>

eu não sei também se é porque meu servidor que eu uso é o homehost e ele la no ftp online no painel de controle eu clico com o direito em cima da pasta que eu quero que receba arquivos e coloco a opção receber arquivos eu não sei se não ta dando certo esse negocio por causa que a pasta não ta recebendo os arquivos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora tá 'tranquilo' ne cara?!

 

'Permission denied', o servidor é Linux?

vai lá no teu programa FTP, clica com o botão direito, ai procura algo parecido com 'propriedades', para setar o chmod para 777

 

e o outro erro do mysql_query, cadê a conexão com o banco ? ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

pio kkkkk

esqueci a conexão com o banco,

rsrs

mas sera que dessa vez da certo?

o problema é que eu to usando o win 7 e ele ja vem com o ie mais atualizado e não tem como alterar nada com o ftp só com o ftp online dentro do painel de controle la da homehost, mas la também não tem propriedades a opição, só tem essa que eu falei quando clica com o botão direito.

 

eu só conseguia asseçar o ftp pelo ie 6 como é que faz agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O looco cara, usa um programa de FTP ai...

 

faz o seguinte, meu note tb é win7..

baixa o FireFox (navegador), ai instala o FireFTP(complemento do firefox)

 

ai por ele, você vai conseguir alterar as permissões da pasta, se o teu servidor na homehost for linux.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu consegui mudar os direitos, tudo certo

mas o problema é o seguinte,

if(isset($_POST['submit']))
{
        $nome= $_POST['nome'];
        $foto= $_FILES['foto'];
        $pasta= 'local/';
        
        move_uploaded_file($_FILES["$imagem"]["$nome"], $pasta . $nome);
        mysql_query("INSERT INTO foto (foto,nome) VALUES ('$imagem','$nome')"); 
}

else 
{
        echo "erro ao enviar o arquivo";
}

ta executando o else, isso quer dizer que não ta dando o submit?

Compartilhar este post


Link para o post
Compartilhar em outros sites

depende.. como está o teu HTML ?

 

uma verificação mais legal é:

if($_SERVER['REQUEST_METHOD'] == 'POST'){

Compartilhar este post


Link para o post
Compartilhar em outros sites

sera que da certo se colocar no lugar do isset no if colocar tipo:

se o formulario da imagem não estiver vazio "&&" o submit tiver sido clicado

 

?

 

vou fazer essa que você mandou bruno

 

é do jeito que eu falei não deu certo e do jeito que você mandou bruno enviou para o banco de dados mas não enviol a foto só enviou o nome do form text.

 

ou olha só isso aqui enviol o nome da imagem para o banco de dados o que sera o erro agora?

<?php
include ("conexao.php");


$nome = $_POST['nome'];
$imagem = $_FILES['foto']['name'];
$pasta = 'uploads/';

if (!empty($_FILES['foto']) && isset($_POST['submit']) )
{
        move_uploaded_file($_FILES['foto']['tmp_name'], $pasta . $nome);
        mysql_query("INSERT INTO foto (foto,nome) VALUES ('$imagem','$nome')");
}
?>

mais não enviol a imagem para a pasta, mas o nome do arquivo ta la no banco de dados, eu ja coloquei 777 la nas permissões da pasta

Compartilhar este post


Link para o post
Compartilhar em outros sites

ou olha só esse:

<?php
include ("conexao.php");

$nome = $_POST["seunome"];
$imagem = $_FILES["imagem"]["name"];
$pasta = "uploads/";


if (!empty($_FILES['foto'])

{
	 move_uploaded_file($_FILES["$imagem"], $pasta . $imagem);
	 mysql_query("INSERT INTO foto (foto,nome) VALUES ('$imagem','$nome')");
}
else
{
        echo "erro ao enviar a imagem";
        
}




?>

quando passa pela verificação mas da erro na linha 11 que é a linha que só tem o "{" depois da verificação if.

o que sera que é ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai ve se funciona tem mais exemplos aqui falow B)

 


<!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>upload simples</title>
</head>

<body>

<form action="" method="post" enctype="multipart/form-data">
Nome:<input type="text" name="nome"  />
Arquivo :<input type="file" name="arquivo"  />
<input type="submit" name="submit" value="Enviar" />
</form>

<?php
//require_once('conexao.php');
if(isset($_POST['submit']))
{

$ARQUIVO  = $_FILES['arquivo'];
$ARQ_NOME = $ARQUIVO['name'];
$ARQ_TEMP = $ARQUIVO['tmp_name'];
$ARQ_TYPE = $ARQUIVO['type'];
$ARQ_SIZE = $ARQUIVO['size'];
$ARQ_LIMIT="512000";//500x1024	= 512000 = 500k
$ARQ_DIR  ="uploads/$ARQ_NOME";

$NM_USER  = $_POST['nome'];

print_r($ARQUIVO);


//verifica se existe um nome no campo
if($NM_USER==false){
echo"<script>alert('Preencha o nome');</script>";
echo"<script>history.back();</script>";
exit();
}

//verifica se existe algum arquivo selecionado
if($ARQ_NOME==false){
echo"<script>alert('selecione um arquivo ok]');</script>";
echo"<script>history.back();</script>";
exit();
}



//verifica tamanho do arquivo
if($ARQ_SIZE > $ARQ_LIMIT){
echo"<script>alert('Erro Tamanho do arquivo muito grande tamanho maximo permitido é [500k]');</script>";
echo"<script>history.back();</script>";
exit();
}

//verifica extenção do arquivo
if(!preg_match("^image^",$ARQ_TYPE)) {// so aceita arquivos de imagens
echo"<script>alert('Erro arquivo nao permitido para upload Ok');</script>";
echo"<script>history.back();</script>";
exit();
}


$MOVER_ARQ = move_uploaded_file($ARQ_TEMP,$ARQ_DIR);

$INSERE = mysql_query("INSERT INTO foto (foto,nome) VALUES ('$ARQ_NOME','$NM_USER')") or die(mysql_error());

if($INSERE==TRUE)
{
	echo"Arquivo Enviado Com Sucesso";
}
else
{
	echo"ERRO VERIFIQUE";
}


}


?>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

gente olha ta dando erro bem aqui olha so:

<?php
include ("conexao.php");

$nome = $_POST["seunome"];
$imagem = $_FILES["imagem"]["name"];
$pasta = "uploads/";
$nome = imagem;

if (!empty('$imagem'))
		   {
			    move_uploaded_file($_FILES['foto']['tmp_name'], $pasta . $nome );
       		 	mysql_query("INSERT INTO foto (foto,nome) VALUES ('$imagem','$nome')");
				echo "sucesso";

		   }
else 
{
	echo "erro ";
}

?>

toda vez que no if eu coloco aspas duplas ou simples da erro, mas a informação quando não da erro que eu tiro as aspas, a informação vai para o banco de dados.

 

eu queria saber se tem alguma coisa errada no codigo do upload porque ele que não ta funcionando

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.