new user Postado Julho 15, 2008 Denunciar Share Postado Julho 15, 2008 Vou tentar explicar por etapas porque esta difícil conseguir resolver isso.No formulário de editar em vez de substituir só a imagem que o admin preencheu ele está substituindo todas as imagens do form:EXEMPLO:FORM de cadastro input file 1 - preencheu input file 2 - preencheu input file 3 - preencheu input file 4 - preencheu beleza o admin cadastrou 4 fotosAgora no FORM de editar.input file 1 - preencheu input file 2 - não preencheu input file 3 - não preencheu input file 4 - não preencheu Ele atualizou só a 1ªEm vez de atualizar só a foto 1 e continuar as outras 3 anteriores o form substitui todas as fotos do editar.alguém poderia me ajudar?OBS: Inserir CODEBOX está dando erroo código é esse:<?php// Dados do produto$id=$_POST['id2'];$titulo=$_POST['titulo'];$noticia=$_POST['noticia'];$dia=$_POST['dia'];$mes=$_POST['mes'];$ano=$_POST['ano'];$local=$_POST['local'];$autor=$_POST['autor'];$video=$_POST['video'];// Arquivo de Foto$foto1=$file_name;$foto2=$file2_name;$foto3=$file3_name;$foto4=$file4_name;$foto5=$file5_name;$foto6=$file6_name;$foto7=$file7_name;$foto8=$file8_name;$foto9=$file9_name;$foto10=$file10_name;$foto11=$file11_name;$foto12=$file12_name;$foto13=$file13_name;$foto14=$file14_name;$foto15=$file15_name;$foto16=$file16_name;$foto17=$file17_name;$foto18=$file18_name;$foto19=$file19_name;$foto20=$file20_name;// Foto 1if ($foto1 != ""){ $foto1d = date("dmYHis"); $foto1n = $foto1d."1.jpg"; copy($file, "../fotos_eventos/".$foto1n); unlink($file);}else{ $foto1n = "";}// Foto 2if ($foto2 != ""){ $foto2d = date("dmYHis"); $foto2n = $foto2d."2.jpg"; copy($file2, "../fotos_eventos/".$foto2n); unlink($file);}else{ $foto2n = "";}// Foto 3if ($foto3 != ""){ $foto3d = date("dmYHis"); $foto3n = $foto3d."3.jpg"; copy($file3, "../fotos_eventos/".$foto3n); unlink($file);}else{ $foto3n = "";}// Foto 4if ($foto4 != ""){ $foto4d = date("dmYHis"); $foto4n = $foto4d."4.jpg"; copy($file4, "../fotos_eventos/".$foto4n); unlink($file);}else{ $foto4n = "";}// Foto 5if ($foto5 != ""){ $foto5d = date("dmYHis"); $foto5n = $foto5d."5.jpg"; copy($file5, "../fotos_eventos/".$foto5n); unlink($file);}else{ $foto5n = "";}// Foto 6if ($foto6 != ""){ $foto6d = date("dmYHis"); $foto6n = $foto6d."6.jpg"; copy($file6, "../fotos_eventos/".$foto6n); unlink($file);}else{ $foto6n = "";}// Foto 7if ($foto7 != ""){ $foto7d = date("dmYHis"); $foto7n = $foto7d."7.jpg"; copy($file7, "../fotos_eventos/".$foto7n); unlink($file);}else{ $foto7n = "";}// Foto 8if ($foto8 != ""){ $foto8d = date("dmYHis"); $foto8n = $foto8d."8.jpg"; copy($file8, "../fotos_eventos/".$foto8n); unlink($file);}else{ $foto8n = "";}// Foto 9if ($foto9 != ""){ $foto9d = date("dmYHis"); $foto9n = $foto9d."9.jpg"; copy($file9, "../fotos_eventos/".$foto9n); unlink($file);}else{ $foto9n = "";}// Foto 10if ($foto10 != ""){ $foto10d = date("dmYHis"); $foto10n = $foto10d."10.jpg"; copy($file10, "../fotos_eventos/".$foto10n); unlink($file);}else{ $foto10n = "";}// Foto 11if ($foto11 != ""){ $foto11d = date("dmYHis"); $foto11n = $foto11d."11.jpg"; copy($file11, "../fotos_eventos/".$foto11n); unlink($file);}else{ $foto11n = "";}// Foto 12if ($foto12 != ""){ $foto12d = date("dmYHis"); $foto12n = $foto12d."12.jpg"; copy($file12, "../fotos_eventos/".$foto12n); unlink($file);}else{ $foto12n = "";}// Foto 13if ($foto13 != ""){ $foto13d = date("dmYHis"); $foto13n = $foto13d."13.jpg"; copy($file13, "../fotos_eventos/".$foto13n); unlink($file);}else{ $foto13n = "";}// Foto 14if ($foto14 != ""){ $foto14d = date("dmYHis"); $foto14n = $foto14d."14.jpg"; copy($file14, "../fotos_eventos/".$foto14n); unlink($file);}else{ $foto14n = "";}// Foto 15if ($foto15 != ""){ $foto15d = date("dmYHis"); $foto15n = $foto15d."15.jpg"; copy($file15, "../fotos_eventos/".$foto15n); unlink($file);}else{ $foto15n = "";}// Foto 16if ($foto16 != ""){ $foto16d = date("dmYHis"); $foto16n = $foto16d."16.jpg"; copy($file16, "../fotos_eventos/".$foto16n); unlink($file);}else{ $foto16n = "";}// Foto 17if ($foto17 != ""){ $foto17d = date("dmYHis"); $foto17n = $foto17d."17.jpg"; copy($file17, "../fotos_eventos/".$foto17n); unlink($file);}else{ $foto17n = "";}// Foto 18if ($foto18 != ""){ $foto18d = date("dmYHis"); $foto18n = $foto18d."18.jpg"; copy($file18, "../fotos_eventos/".$foto18n); unlink($file);}else{ $foto18n = "";}// Foto 19if ($foto19 != ""){ $foto19d = date("dmYHis"); $foto19n = $foto19d."19.jpg"; copy($file19, "../fotos_eventos/".$foto19n); unlink($file);}else{ $foto19n = "";}// Foto 20if ($foto20 != ""){ $foto20d = date("dmYHis"); $foto20n = $foto20d."20.jpg"; copy($file20, "../fotos_eventos/".$foto20n); unlink($file);}else{ $foto20n = "";}// Fim de Fotorequire("config.php"); $resultado = mysql_query("UPDATE `tabela` SET titulo='$titulo', noticia='$noticia', dia='$dia', mes='$mes', ano='$ano', local='$local', autor='$autor', video='$video', foto1='$foto1n', foto2='$foto2n', foto3='$foto3n', foto4='$foto4n', foto5='$foto5n', foto6='$foto6n',foto7='$foto7n',foto8='$foto8n',foto9='$foto9n',foto10='$foto10n',foto11='$foto11n',foto12='$foto12n',foto13='$foto13n',foto14='$foto14n',foto15='$foto15n',foto16='$foto16n',foto17='$foto17n',foto18='$foto18n',foto19='$foto19n',foto20='$foto20n'WHERE id='$id'");echo "<meta HTTP-EQUIV='Refresh' CONTENT='0;URL=eventos.php'>";?>[/codebox] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 15, 2008 Denunciar Share Postado Julho 15, 2008 A lógica tá errada... se você não quer que atualize o campo porque você está botando todos os campos na query? O correto seria algo do tipo// Foto 1 if ($foto1 != ""){ $foto1d = date("dmYHis"); $foto1n = $foto1d."1.jpg"; copy($file, "../fotos_eventos/".$foto1n); unlink($file); $foto1 = "foto1='$foto1n'," } // Foto 2 if ($foto2 != ""){ $foto2d = date("dmYHis"); $foto2n = $foto2d."2.jpg"; copy($file2, "../fotos_eventos/".$foto2n); unlink($file); $foto2 = "foto2='$foto2n'," } //....... $resultado = mysql_query("UPDATE `tabela` SET titulo='$titulo', noticia='$noticia', dia='$dia', mes='$mes', ano='$ano', local='$local', autor='$autor', video='$video', ".$foto1.$foto2.$foto3.$foto4....$foto20." WHERE id='$id'");Perceba que eu já monto os itens direto, ai já chamo as variáveis na query, o que não foi atualizado não vai ter variável... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 new user Postado Julho 15, 2008 Autor Denunciar Share Postado Julho 15, 2008 A lógica tá errada... se você não quer que atualize o campo porque você está botando todos os campos na query? O correto seria algo do tipo// Foto 1 if ($foto1 != ""){ $foto1d = date("dmYHis"); $foto1n = $foto1d."1.jpg"; copy($file, "../fotos_eventos/".$foto1n); unlink($file); $foto1 = "foto1='$foto1n'," } // Foto 2 if ($foto2 != ""){ $foto2d = date("dmYHis"); $foto2n = $foto2d."2.jpg"; copy($file2, "../fotos_eventos/".$foto2n); unlink($file); $foto2 = "foto2='$foto2n'," } //....... $resultado = mysql_query("UPDATE `tabela` SET titulo='$titulo', noticia='$noticia', dia='$dia', mes='$mes', ano='$ano', local='$local', autor='$autor', video='$video', ".$foto1.$foto2.$foto3.$foto4....$foto20." WHERE id='$id'");Perceba que eu já monto os itens direto, ai já chamo as variáveis na query, o que não foi atualizado não vai ter variável...Cara a lógica que você criou parece correta sim.Mas mostrou isso:Parse error: syntax error, unexpected '}' in /home/restricted/home/barbarastrauss1/public_html/admin/eventos_editar2.php on line 55e na linha 55 aparece isso:// Foto 1if ($foto1 != ""){$foto1d = date("dmYHis");$foto1n = $foto1d."1.jpg";copy($file, "../fotos_eventos/".$foto1n);unlink($file);$foto1 = "foto1='$foto1n',"} ---------------------------> essa é a linha 55 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 15, 2008 Denunciar Share Postado Julho 15, 2008 Tá faltando o ; no depois do "Isso:$foto1 = "foto1='$foto1n',"Para isso:$foto1 = "foto1='$foto1n',"; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 new user Postado Julho 15, 2008 Autor Denunciar Share Postado Julho 15, 2008 Tá faltando o ; no depois do "Isso:$foto1 = "foto1='$foto1n',"Para isso:$foto1 = "foto1='$foto1n',";Cara, agora não está aparecendo erro. porém, não esta alterando nada.Muito estranho. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 15, 2008 Denunciar Share Postado Julho 15, 2008 Em programação não existe nada estranho, é só uma questão de parar e pensar no porque... coloca o OR DIE depois da query...Ou seja...WHERE id='$id'");Passa paraWHERE id='$id'")OR DIE(mysql_error());Se isso não retornar nada dê echo dentro de cada IF para ver se está entrando, também dê echo nas variáveis criadas... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 new user Postado Julho 16, 2008 Autor Denunciar Share Postado Julho 16, 2008 Em programação não existe nada estranho, é só uma questão de parar e pensar no porque... coloca o OR DIE depois da query...Ou seja...WHERE id='$id'");Passa paraWHERE id='$id'")OR DIE(mysql_error());Se isso não retornar nada dê echo dentro de cada IF para ver se está entrando, também dê echo nas variáveis criadas...Warning: unlink(/home/restricted/home/barbarastrauss1/tmp/phppYR3gX) [function.unlink]: No such file or directory in /home/restricted/home/barbarastrauss1/public_html/admin/eventos_editar2.php on line 60You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id='50'' at line 11 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 new user Postado Julho 16, 2008 Autor Denunciar Share Postado Julho 16, 2008 (editado) Cara coloquei o echo em alguns lugares e mostrou corretamente os valores...porém não alterou os valores..se tiver algum outro jeito de testar eu agradeço.quando coloquei :OR DIE(mysql_error());ele deu um erro de SQL sintax. vou tentar denovo aqui Editado Julho 16, 2008 por new user Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
new user
Vou tentar explicar por etapas porque esta difícil conseguir resolver isso.
No formulário de editar em vez de substituir só a imagem que o admin preencheu ele está substituindo todas as imagens do form:
EXEMPLO:
FORM de cadastro
input file 1 - preencheu
input file 2 - preencheu
input file 3 - preencheu
input file 4 - preencheu
beleza o admin cadastrou 4 fotos
Agora no FORM de editar.
input file 1 - preencheu
input file 2 - não preencheu
input file 3 - não preencheu
input file 4 - não preencheu
Ele atualizou só a 1ª
Em vez de atualizar só a foto 1 e continuar as outras 3 anteriores o form substitui todas as fotos do editar.
alguém poderia me ajudar?
OBS: Inserir CODEBOX está dando erro
o código é esse:
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.