Leandromx 0 Denunciar post Postado Julho 11, 2007 Pessoal, Meu sistema envia foto, normalmente.. Só preciso agora trocar o nome no BANCO DE DADOSO script abaixo, envia a nova imagem... Só que na minha tabela não altera o nome antigo da imagem para o novo nome.Agora só faltar mudar o campo FOTO_FOTO para o nome da nova imagem que estou subindo. $editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); } $foto = $_FILES['foto_foto']['name']; $fotoTmp = $_FILES["foto_foto"]["tmp_name"]; if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) { $updateSQL = sprintf("UPDATE fotos SET foto_foto='$foto', nome=%s, rg=%s WHERE ft_id=%s", GetSQLValueString($_POST['nome'], "text"), GetSQLValueString($_POST['rg'], "text"), GetSQLValueString($_POST['ft_id'], "int")); function geraImg($img, $max_x, $max_y, $imgNome) { //pega o tamanho da imagem ($original_x, $original_y) list($width, $height) = getimagesize($img); $original_x = $width; $original_y = $height; // se a largura for maior que altura acho a porcentagem if($original_x > $original_y) { $porcentagem = (100 * $max_x) / $original_x; } else { $porcentagem = (100 * $max_y) / $original_y; } $tamanho_x = $original_x * ($porcentagem / 100); $tamanho_y = $original_y * ($porcentagem / 100); $image_p = imagecreatetruecolor($tamanho_x, $tamanho_y); $image = imagecreatefromjpeg($img); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height); return imagejpeg($image_p, $imgNome, 100); } geraImg($fotoTmp, 640, 480, "../fotos/".$foto); mysql_select_db($database_rsConexao, $rsConexao); $Result1 = mysql_query($updateSQL, $rsConexao) or die(mysql_error()); $updateGoTo = "foto.php"; if (isset($_SERVER['QUERY_STRING'])) { $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?"; $updateGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $updateGoTo)); } ?> Alguém tem ideia de como alterar o nome no banco??? só falta isso Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 11, 2007 Você atribuiu o valor do nome da foto á variável $foto corretamente. Você também inseriu a variável $foto na SQL adequadamente. Deveria estar dando certo. Qual é o valor que fica armazenado no banco após a atualização? Se for uma string vazia. dê um echo em $foto para ver se ela não está vazia. Abraços, Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 11, 2007 Olá Beraldo, continua a foto antiga...vou dar um exemplo.nome meu BD está assim foto1.jpgVou trrocar para foto2.jpgA foto2 up na pasta.. mas no campo da minha tabela continua a foto1.jpg Sinceramente... não sei mais o que fazer.. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 11, 2007 Os campos nome e rg estão sendo alterados ou eles também permanecem com os dados antigos? Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 11, 2007 Dados antigos mesmo... Só a foto que não está mudando no banco... A foto nova SOBE para a PASTA indicada.. Mas nada de alterar no sistema e nem no banco.. continua a mesma foto e o mesmo nome no BD.. Tem alguma ideia???? Estou usando o exemplo do Leandro Vieira http://www.imasters.com.br/artigo/3866/mys...s_postar_fotos/ Nada tbm cara... Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 11, 2007 Muito estranho... Vamos tentar criar a SQL sem sprintf(): $updateSQL = "UPDATE fotos SET foto_foto='$foto', nome='" . $_POST['nome'] . "', rg='" . $_POST['rg'] . "' WHERE ft_id=$_POST['ft_id']"; Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 11, 2007 Tentei mudar aqui mas não deu...Eu troquei pela a antiga e não foi... deu erroParse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/site/public_html/secretaria/alterar/foto.php on line 57 Compartilhar este post Link para o post Compartilhar em outros sites
Bruno.Jr 0 Denunciar post Postado Julho 11, 2007 Nossa cara...Ferrou tudo hein..Eu tbm estou nessa luta.. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno.Jr 0 Denunciar post Postado Julho 12, 2007 Beraldo.. tem ideia de como resolvermos isso??? Já tentamos de tudo...ou melhor até nosso limite...Daqui pra frente... só para quem entende de verdade Compartilhar este post Link para o post Compartilhar em outros sites
Bruno.Jr 0 Denunciar post Postado Julho 12, 2007 Já virou desafio isso... Compartilhar este post Link para o post Compartilhar em outros sites
David Ramires 1 Denunciar post Postado Julho 12, 2007 opa, beleza... você fez o que o beraldo disse: deu um echo em: $foto = $_FILES['foto_foto']['name'];para ver se o nome da nova foto está ok....? e mais uma coisa, na condição WHERE o ID está sendo setado certo ? veja ae... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 12, 2007 Do jeito que o Beraldo disse dá erro Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/site/public_html/site/alterar/foto.php on line 58 $foto = $_FILES['foto_foto']['name']; $fotoTmp = $_FILES["foto_foto"]["tmp_name"]; if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) { $updateSQL = "UPDATE fotos SET foto_foto='$foto', nome='" . $_POST['nome'] . "', rg='" . $_POST['rg'] . "' WHERE ft_id=$_POST['ft_id']"; Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 12, 2007 Então como disse, a foto nova esta subindo para a pasta sem problemas.Só nao esta editando o nome no banco de dados Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 12, 2007 Vou colocar meu código original para vcs verem $editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); } $foto = $row_rsAlterarDadosFoto['foto_foto']; $fotoTmp = $_FILES["foto_foto"]["tmp_name"]; if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) { $updateSQL = sprintf("UPDATE fotos SET foto_foto='$foto', nome=%s, rg=%s WHERE ft_id=%s", GetSQLValueString($_POST['nome'], "text"), GetSQLValueString($_POST['rg'], "text"), GetSQLValueString($_POST['ft_id'], "int")); function geraImg($img, $max_x, $max_y, $imgNome) { //pega o tamanho da imagem ($original_x, $original_y) list($width, $height) = getimagesize($img); $original_x = $width; $original_y = $height; // se a largura for maior que altura acho a porcentagem if($original_x > $original_y) { $porcentagem = (100 * $max_x) / $original_x; } else { $porcentagem = (100 * $max_y) / $original_y; } $tamanho_x = $original_x * ($porcentagem / 100); $tamanho_y = $original_y * ($porcentagem / 100); $image_p = imagecreatetruecolor($tamanho_x, $tamanho_y); $image = imagecreatefromjpeg($img); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height); return imagejpeg($image_p, $imgNome, 100); } geraImg($fotoTmp, 640, 480, "../fotos/".$foto); Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 12, 2007 DesistooSe vcs que são os feras não consegue....Eu muito menos...Obrigado pela atenção de todos... Compartilhar este post Link para o post Compartilhar em outros sites
Bruno.Jr 0 Denunciar post Postado Julho 13, 2007 iiiiiiiiiiiiiiiiiiiiiiiiiiiiDesiste não cara..Vamos tentar.... estou com esse problema tbm..Vamos trabalhar junto nisso...Algume do fórum sempre ajuda...Guenta as pontas ai... Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 14, 2007 A luta continua ainda.. Vamos lá... Vou postar o que já tentei fazer esses dias.. Meu código é o mesmo de cima... Coloquei o código abaixo e deu isso aqui $fotoTmp = $_FILES["foto_foto"]["tmp_name"]; if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) { $updateSQL = ("UPDATE fotos SET foto_foto='$foto' WHERE ft_id=%s"); linenums:0'>$foto = $_FILES['foto_foto']['name']; $fotoTmp = $_FILES["foto_foto"]["tmp_name"]; if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) { $updateSQL = ("UPDATE fotos SET foto_foto='$foto' WHERE ft_id=%s");A foto sobe na pasta mas não senta no banco e dá esse erro aqui You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%s' at line 1 Coloquei assim agora. $fotoTmp = $_FILES["foto_foto"]["tmp_name"]; if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) { $updateSQL = mysql_query("UPDATE fotos SET foto_foto='$foto' WHERE ft_id=%s"); linenums:0'>$foto = $_FILES['foto_foto']['name']; $fotoTmp = $_FILES["foto_foto"]["tmp_name"]; if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) { $updateSQL = mysql_query("UPDATE fotos SET foto_foto='$foto' WHERE ft_id=%s"); Deu esse erro aqui Query was empty Alguém Pelo amor do Senhor JESUS .. me ajude... Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Julho 14, 2007 Você colocou %s onde deveria entrar um valor inteiro: WHERE ft_id=%s Coloque o ID desejado ou use sprintf() Compartilhar este post Link para o post Compartilhar em outros sites
Diego Henrique 0 Denunciar post Postado Julho 14, 2007 De um ECHO nas variaveis e ve se estão com valores corretosabraços Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Julho 15, 2007 Nada ainda cara...Usando o sprintf() a foto sobe para a pasta mas ainda não troca o nome no BD... Compartilhar este post Link para o post Compartilhar em outros sites