Ir para conteúdo

Arquivado

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

WAD - Soluções

Formulario não salva alterações no BD

Recommended Posts

Não só bom no php, então estou sofrendo com um script que utilizo, faz tempo tenho certeza que a porque o PHP estão atualizando suas versão e meu código esta ultrapassado.

 

Por que, no meu servidor local(PC), funciona perfeito se erro já no da locaweb. Apenas Cadastrar e Deleta.

Parte que fazer UPDATE, para o BD.

$sql = "UPDATE $tabela SET nome='$nome', local='$local', descricao='$descricao', data='$data', horario=$horario, foto='$foto1' WHERE id='$id'";
echo "$sql";

Quando executo alteração, na descrição parte de um formulário onde uso EditorFCK.

UPDATE tb_agendas SET nome='Lucas', local='dasda', descricao='
dsadada

', data='2015-09-12', horario=, foto='' WHERE id='2'

Todo Código.

<? require "verifica.php";?>
<?
$variables=(strtolower($_SERVER['REQUEST_METHOD'])== 'GET') ? $_GET : $_POST;
foreach ($variables as $k=> $v)
$$k=$v;

$palavra = "Agenda";
$palavra2 = "Agenda";
$tabela = "tb_agendas";
$file = "agendas";

$_FILES['foto']['name'] = time().".jpg"; // nome da foto
$imagem = $_FILES['foto']['name'];
// iniçio da acao INSERI NO BD
if($acao== "insertbd"){
$sql = "INSERT INTO $tabela VALUES ('' , '$nome', '$local', '$descricao', '$data', '$horario','')";
$sql2 = mysql_query($sql) or die( mysql_error() );
$id_recuperado = mysql_insert_id();
$dir = "../upload/$file/$id_recuperado";
//echo "$dir";

// inicia criação de pasta
$pasta = @mkdir("$dir", 0777);
         @chmod("$dir", 0777);
		 
// fim da criação da pasta
$uploaddir = "$dir/";
if(is_dir("$dir")){
	if($foto != "none") {
		if (@copy($_FILES['foto']['tmp_name'], $uploaddir . $_FILES['foto']['name'])) {
		$foto1 = $_FILES['foto']['name'];
		//echo "<strong>$foto1</strong> enviada com sucesso!<BR>";
		$var1 = mysql_query("update $tabela set foto='$foto1' where id='$id_recuperado'");
		copy("../upload/$file/index.php","../upload/$file/$id_recuperado/index.php");
		}
	}
} else {
echo "<script>alert('O Diretório não existe!')</script>";
}
$mgs = "<b>$palavra</b> Inserido com Sucesso!";
echo "<table border='0' align='center' cellpadding='0' cellspacing='0' style='border: 1px solid $corcelula1;'>
  <tr>
   <td width='400' bgcolor='$corcelula2' align='center' class='titulos'> $mgs</td>
  </tr>
</table>
<br>
";
//echo "<meta http-equiv='refresh' content='2;URL=?pg=$file'>";
} 
// fim da acao INSERI NO BD
// iniçio da acao UPDATE NO BD
if($acao== "updatebd"){
	$_FILES['foto']['name'] = time().".jpg"; // nome da foto
		$imagem = $_FILES['foto']['name'];
	if($nova_foto == "S"){
		$dir = ".../upload/$file/$id";
		$uploaddir = "$dir/";
			if(is_dir("$dir")){
				if($foto != "none") {
					if (@copy($_FILES['foto']['tmp_name'], $uploaddir . $_FILES['foto']['name'])) {
					$foto1 = $_FILES['foto']['name'];
					//echo "<strong>$foto1</strong> enviada com sucesso!<BR>";
					} else {
					echo "<script>alert('A foto não pode ser enviada!')</script>";
					}
				}
			} else {
			echo "<script>alert('O Diretório não existe!')</script>";
			}

		@unlink("$dir/$foto_antiga");
	} else {
	$foto1 = "$foto_antiga";
	}	
$sql = "UPDATE $tabela SET nome='$nome', local='$local', descricao='$descricao', data='$data', horario=$horario, foto='$foto1' WHERE id='$id'";
echo "$sql";
$sql2 = mysql_query($sql);
$mgs = "<b>$palavra</b> Alterada com Sucesso!";
echo "<table border='0' align='center' cellpadding='0' cellspacing='0' style='border: 1px solid $corcelula1;'>
  <tr>
   <td width='400' bgcolor='$corcelula2' align='center' class='titulos'> $mgs</td>
  </tr>
</table>
<br>
";
//echo "<meta http-equiv='refresh' content='2;URL=?pg=$file'>";
} 
// fim da acao UPDATE NO BD

// iniçio da acao STATUS NO BD
if($acao == "status"){
$sql = "UPDATE $tabela SET status='$status' WHERE id='$id'";
$sql2 = mysql_query($sql);
$mgs = "Status Alterado com Sucesso!";
echo "<table border='0' align='center' cellpadding='0' cellspacing='0' style='border: 1px solid $corcelula1;'>
  <tr>
   <td width='400' bgcolor='$corcelula2' align='center' class='titulos'> $mgs</td>
  </tr>
</table>
<br>
";
//echo "<meta http-equiv='refresh' content='2;URL=?pg=$file'>";
} 
// fim da acao STATUS NO BD

// iniçio da acao EXCLUIR SELECIONADOS
if($acao == "excluir_selecionados"){
	$listas = implode("|", $listas);
//	echo "$planos<hr>";
	$lista = explode("|", $listas);
	$total = count($lista);
//	echo $total;
		for($i=0; $i<$total; $i++){
			$sql = "delete from $tabela WHERE id='$lista[$i]'";
			$sql2 = mysql_query($sql);
			//echo "$sql<br>";
				$dir = "../upload/$file/$lista[$i]/";
				$dir1 = opendir("$dir");
				while ($res =readdir($dir1)){
					if ($res!='' && $res!='.' && $res!='..'){
					$url = "$dir/$res";
					@unlink("$url");
					}
				}	
				@rmdir ("$dir");
		}	 
$mgs = "<b>$palavra </b>Excluído com Sucesso!";
echo "<table border='0' align='center' cellpadding='0' cellspacing='0' style='border: 1px solid $corcelula1;'>
  <tr>
   <td width='400' bgcolor='$corcelula2' align='center' class='titulos'> $mgs</td>
  </tr>
</table>
<br>
";
//echo "<meta http-equiv='refresh' content='2;URL=?pg=$file'>";
} 
// fim da acao EXCLUIR SELECIONADOS

// iniçio da acao FORM DE CADASTRO E ALTERAR
//if($acao== "FORM"){
$id = $_REQUEST[id];
$form1 = "FORMULARIO";
$sql=mysql_query("SELECT * FROM tb_agendas WHERE id='$id'");
$dados=mysql_fetch_array($sql);
?>
<script>
function HabilitarFoto() {
nForm = document.forms['<?=$form1?>'];
    if(nForm.elements['nova_foto'].checked = true) {
        nForm.elements['foto'].disabled = false;
		nForm.elements['foto'].className= "input";
    }
}
function DesabilitarFoto() {
nForm.elements['foto'].disabled = true;
nForm.elements['foto'].className = "inputon";
}
</script>
<? require "verifica.php";?>
<script Language="JavaScript">
function validate(<?=$form1?>) {

if (<?=$form1?>.nome.value == "")
{
  alert("Digite a nome");
  <?=$form1?>.nome.focus();
  return (false);
}
/*Validaor dia */
if (<?=$form1?>.local.value == "")
{
  alert("Digite o local");
  <?=$form1?>.local.focus();
  return (false);
}

if (<?=$form1?>.data.value == "")
{
  alert("Coloque data do evento");
  <?=$form1?>.data.focus();
  return (false);
}

return (true);
}
</script>

<form action="?pg=<?=$file?>" method="post" enctype="multipart/form-data" name="<?=$form1?>" onSubmit="return validate(this);">
<fieldset style="width:100%;">
<input name="acao" type="hidden" value="<?=(empty($id))?"insertbd":"updatebd";?>">
<input name="id" type="hidden" value="<?=$id?>">
<input name="imagem_antiga" type="hidden" value="<?=$dados[imagem]?>">

<table width="99%" align="center" cellpadding="0" cellspacing="0">
<tr><td><font class="titulos"><?=(empty($id))?"Cadastrar":"Alterar";?> <?="$palavra"; ?>
</font> (<a href="<?="?pg=$file";?>">CADASTRAR NOVO</a>)</td>
  </tr>
</table>
<table width="99%" border="0" align="center" cellpadding="2" cellspacing="0"> 
     <tr> 
         <td valign="middle">Nome: 
           <br>
           <input name='nome' type='text' value="<? echo $dados[nome]?>" size="58" class="input" onblur="this.className='input';" onfocus="this.className='inputon';" /></td>
        </tr>
        <tr valign=middle>
          <td colspan="2"><table width="100%" border="0">
            <tbody>
              <tr>
                <td width="23%">Local: <br>
                <input name='local' type='text' value="<? echo $dados[local]?>" size="40" class="input" onblur="this.className='input';" onfocus="this.className='inputon';" /></td>
                <td width="20%">Data:<br>
<input name="data" type="date" class="input" id="data" onfocus="this.className='inputon';" value="<? echo $dados[data];?>" size="6" maxlength="5" /></td>
                <td width="57%">Horário<br>
<input name="horario" type="time" class="input" id="horario" onfocus="this.className='inputon';" value="<? echo $dados[horario];?>" size="6" maxlength="5" /></td>
              </tr>
            </tbody>
          </table></td>
        </tr>
        <tr valign=middle>
          <td colspan="2">Descrição Completa:<br />
<script src="EditorFCK/ckeditor.js"></script>
<?php
	echo"<textarea id=\"descricao\" name=\"descricao\" rows=\"10\" cols=\"80\">";
	echo"$dados[descricao]";
	echo"</textarea>";
?>
		<script>
			CKEDITOR.replace( 'descricao' );
		</script></td>
        </tr>
        <tr valign=middle>
          <td colspan="2"> </td>
        </tr>
        <tr valign=middle> 
          <td colspan="2">
<fieldset><legend>Foto Destaque: </legend>

  <table border="0" cellspacing="0" cellpadding="0">

    <tr>

      <td width="156">

	  <?

	  if(empty($id)){

	  echo "<img width='140' name='foto1' src='img/img_local_semfoto.jpg' border='0'>";

	  } else {

	  	if(!empty($dados[foto])){

		echo "<img width='140' name='foto1' src='thumbs.php?w=150&imagem=../upload/$file/$id/$dados[foto]' border='0'>";

		} else {

		echo "<font color='#FF0000'>Foto não disponível</font>";

		}

	}

	?></td>

      <td valign="middle"><table border="0" cellspacing="0" cellpadding="0">

        <tr>

          <td valign="middle">
<? if(empty($id)){?>
<input class="inputon" onchange="document.images.foto1.src=this.value" name='foto' type='file' size="16" onclick="javascript:alert('Todas as fotos devem ter o formato .jpg');" accept="image/*"/>
<? } else {?>
Trocar Foto?:
 <input name="nova_foto" type="radio" value="N" checked="checked" onclick="javascript:DesabilitarFoto()" accept="image/*"/>
    Não
     <input name="nova_foto" type="radio" value="S" onclick="javascript: HabilitarFoto();" >
       Sim<br />
        <input class="inputon" onchange="document.images.foto1.src=this.value" name='foto' type='file' size="16" disabled="disabled" onclick="javascript:alert('Todas as fotos devem ter o formato .jpg');" accept="image/*" />
				<? }?></td>

        </tr>

      </table></td>

    </tr>

  </table>

  </fieldset>   </td> 
</tr>
	  <tr>
          <td valign="middle"><input style="width:110px;" type="submit" class="input" onblur="this.className='input';" onfocus="this.className='inputon';" name='btgravar' value="<?=(empty($id))?"Cadastrar":"Alterar";?>" /></td>
       </tr>
  </table>
</fieldset>
</form>
<?
//} // fim da acao FORM DE CADASTRO E ALTERAR
?>

<?
// inicio da acao LISTAR
//if($acao== "listar"){
$form2="FORMLISTA";
$busca="SELECT * FROM $tabela order by nome";
//echo $busca;
$total_reg="10";
if(!$page){
$page="1";
}

$inicio=$page-1;
$inicio=$inicio*$total_reg;
$limite=mysql_query("$busca LIMIT $inicio,$total_reg");
$todos=mysql_query("$busca");
$tr=mysql_num_rows($todos);
//$tr=count($op); 
//echo $tr;
$tp=ceil($tr / $total_reg);
?>
<form action="?pg=<?=$file?>" method="POST" name="<?=$form2?>">
<fieldset style="width:100%;">
<input name="acao" type="hidden" value="excluir_selecionados">
<table width="99%" align="center" cellpadding="0" cellspacing="0">
<tr><td><font class="titulos">Lista de <b><?=$palavra?></b> </font></td>
  <td align="right"><strong><? echo "<b><font color=$coronmouse>$tr</font></b>";?></strong> registros! </td>
</tr>
</table>

<table width="99%"  border="0" align="center" cellpadding="2" cellspacing="1">
  <tr bgcolor="#CCCCCC">
    <td width="8%" align="center" bgcolor="#C0C0C0"><b>ID</b></td>
    <td width="48%" align="center" bgcolor="#CCCCCC"><b>NOME</b></td>
    <td width="26%" align="center" bgcolor="#C0C0C0"><b>Local</b></td>
    <td width="8%" align="center" bgcolor="#CCCCCC"><b>AÇÕES</b></td>
  </tr>
<? 
$i=0;
while ($dados=mysql_fetch_array($limite)) {
	if (($i%2)==0) { $bgcolor="#FFFFFF"; } else { $bgcolor="#e5e5e5"; }
	?>
  <tr>
    <td align="center" bgcolor="<? echo $bgcolor; ?>"><table width="90%" border="0" cellspacing="0" cellpadding="2">

        <tr>

          <td width="20"><input id='check_sel' name='listas[]' type='checkbox' value='<?="$dados[id]";?>' /></td>

          <td align="center"><b><?=$dados[id];?></b></td>

        </tr>

    </table></td>

    <td bgcolor="<? echo $bgcolor?>"><b><?=$dados[nome]; ?></b></td>

    <td align="center" bgcolor="<? echo $bgcolor?>"><b><?=$dados[local]; ?></b></td>
    <td align="center" bgcolor="<? echo $bgcolor; ?>"><a href="?pg=<?=$file?>&acao=FORM&id=<?=$dados[id]?>"><img src="<?=$usite?>img/icon/icon-edit.png" title="Alterar" border="0" /></a></td>

  </tr>

  <? $i++; }?>

      <tr>

      <td colspan="4"><table border="0" align="center" cellpadding="0" cellspacing="0">

        <tr>

          <td width="100" align="right" valign="top"><?

if($page > 1){

$anterior = $page -1;

	$url = "?pg=$pg&acao=$acao&page=$anterior";

echo "<a href='$url'>« Anterior</a> | ";

} else {

echo "<font color='$corcelula2'>« Anterior</font> | ";

}

?>          </td>

          <td align="center"><? 

for($i=1; $i<$page; $i++)

if($i>=$page-5)

	echo "<a href='?pg=$pg&acao=$acao&page=$i'>$i</a> | ";

echo "<font color='$coronmouse'><b>$page</b></font> ";



for($i=$page+1; $i<=$tp; $i++)

if($i<=$page+5)

	echo " | <a href='?pg=$pg&acao=$acao&page=$i'>$i</a>";



?></td>

          <td width="100" align="left" valign="top"><?

if($tp > $page){

$proxima = $page +1;

	$url = "?pg=$pg&acao=$acao&page=$proxima";



echo " | <a href='$url'>Próxima »</a>";

} else {

echo " | <font color='$corcelula2'>Próxima »</font>";

}

?></td>

        </tr>

      </table></td>

    </tr>

    <tr>

      <td colspan="4"><input style="width:110px;" class="input" onblur="this.className='input';" onfocus="this.className='inputon';" type="button" value="Selecionar Todos" onclick='SelectAll();' id="sel_todos"> 

        <input style="width:110px;" name="Button" type="button" class="input" onblur="this.className='input';" onfocus="this.className='inputon';" value="Excluir Selecionados" onClick="checkdeletetion();"></td>

    </tr>

</table>



</fieldset>

</form>



<?

//} 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sou o melhor a falar e nem tenho muita experiência mas uma vez uns códigos meus estavam dando erro e era porque os (Mysql_query) estão sendo depreciados algo assim, pediram para eu ler sobre PDO e Mysqli '-'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Habilite todas as exibições de erro, como mostrado neste tópico e tente de novo.

Coloque o "or die" em todas as consultas, para fins de teste. Você colocou em apenas algumas

 

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, sigo o mesmo conselho que o Beraldo e WiiSantos. Mas da um revisada bem detalhada no seu script (query UPDATE) ver se esta totalmente correta, se todas as variaveis estão entre apóstrofes (' ').

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, erro deste código que ele não salta as alterações feita no BD, eu texto ele meu servidor local ele funciona normalmente mais meu php: PHP Version 5.1.2

Seguindo as recomedação do Beraldo.

Coloque na linha 81

$sql = "UPDATE $tabela SET nome='$nome', local='$local', descricao='$descricao', data='$data', horario=$horario, foto='$foto1' WHERE id='$id'";

$sql2 = mysql_query($sql) or die( mysql_error() );

Este foi erro que apresentou.

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 ':52, foto='' WHERE id='1'' at line 1

Alguém ajuda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo,

Obrigado! Com este trabalho vou fazer um investimento paguei curso do Imasters. Formação de Programador.

Aproveita e dá uma olhada no meu guia de 15 Boas Práticas pra PHP: http://www.ultimatephp.com.br/guia/

 

Tem várias dicas úteis lá

 

;)

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.