Jump to content
Sign in to follow this  
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>



<?

//} 

?>
Edited by WAD - Soluções

Share this post


Link to post
Share on other 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 '-'

Share this post


Link to post
Share on other 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/

Share this post


Link to post
Share on other 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 (' ').

Share this post


Link to post
Share on other 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?

Edited by WAD - Soluções

Share this post


Link to post
Share on other 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á

 

;)

  • +1 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.