Ir para conteúdo

POWERED BY:

Arquivado

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

11closed

textarea não envia para BD

Recommended Posts

olá galera tudo bem ?

 

Estou com um problema aqui e não estou conseguindo resolve-lo. Estou usando aqui no site URls Amigaveis,

 

olhe a pagina functions.php


<?php	
   $url   	= isset($_GET['url']) ? $_GET['url'] : 'home';
   $separar  = explode('/', $url);
   $pagina   = (isset($separar[0])) ? $separar[0] : 'home';
$sub_pagina   = (isset($separar[1])) ? $separar[1] : 'home';
$sub2_pagina   = (isset($separar[2])) ? $separar[2] : '0';
$sub3_pagina   = (isset($separar[3])) ? $separar[3] : '0';

$query = mysql_query("SELECT * FROM $tabela1 WHERE URL_EMP = '".mysql_real_escape_string($pagina)."' && LIBERADO = 'S'");
  	$row   = mysql_fetch_assoc($query);
$qts   = mysql_num_rows($query); 

if ($pagina == "home"){
	include("principal/index.php");
} else if ($qts >= 1){
	include("imoveis/arquivos.php");
} 
else {
	include("imoveis/erro.php");
}

?>

 

 

O arquivo que esta dando erro esta dentro de uma pasta chamada "clientes_adm" nesta pasta vão os Clientes que loga. nela tem um link para Editar dados

 

editar.php


<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE);
header("Content-Type: text/html; charset=ISO-8859-1",true);
session_start(); 
include("../config/config.php");

$sql = "SELECT * FROM $tabela1 WHERE ID = '".$_SESSION["ID"]."'";        
$query = mysql_query($sql);
$linha = mysql_fetch_array($query);

$sql3 = "SELECT * FROM $tabela2 WHERE ID = '".$_POST["id"]."'";        
$query3 = mysql_query($sql3);
$linha3 = mysql_fetch_array($query3);

?>
<form  name="form" method="post" action="alterando.php" enctype="multipart/form-data">

<input type="hidden"  name="id_anuncio" value="<?php echo $_POST["id"]; ?>" />

<label class="titulo"><b>Título:* </b><input type="text" name="titulo" id="titulo" value="<?php echo $linha3["TITULO"]; ?>" onkeyup="blocTexto2(this.value)" tabindex="2" class='normal 'onfocus="this.className='foco'" onblur="this.className='normal'" /> <i>caracteres restantes: <span id="cont2">25</span></i></label><br>


<label class="video"><b>Anúcio em Video (YouTube): </b><textarea type="text" id="video" name="video" class='normal' onfocus="this.className='foco'" onblur="this.className='normal'"><?php echo $linha3["VIDEO_ANUNCIO"]; ?></textarea></label><br><br>

<label class="mapa"> <b>Localidade no Google Mapa: </b><textarea type="text" id="mapa" name="mapa" class='normal' onfocus="this.className='foco'" onblur="this.className='normal'"><?php echo $linha3["MAPA_GOOGLE"]; ?></textarea></label><br><br><br>

<input type='submit' name='ok' value='Publicar' Onclick="return verifica4();" class="form_pesquisa"/>	
</form>

 

alterando.php

 


<?php 		
error_reporting(E_ERROR | E_WARNING | E_PARSE);
header("Content-Type: text/html; charset=ISO-8859-1",true);
session_start(); 
include("../config/config.php");

$sql = "SELECT * FROM $tabela1 WHERE ID = '".$_SESSION["ID"]."'";        
$query = mysql_query($sql);
$linha = mysql_fetch_array($query);

$sql2 = "SELECT * FROM $tabela8 WHERE CODIGOID_IMOVEL = '".$_POST["id_anuncio"]."'";        
$query2 = mysql_query($sql2);
$linha2 = mysql_fetch_array($query2);


$sql = "UPDATE $tabela2 SET TITULO = '".$_POST['titulo']."',
						MAPA_GOOGLE = '".$_POST['mapa']."',
						VIDEO_ANUNCIO = '".$_POST['video']."'
						WHERE ID = '".$_POST['id_anuncio']."'";    
$query = mysql_query($sql)or die(mysql_error());

echo("<script type='text/javascript'> alert('Ialterado com susseso !!!'); location.href='painel.php';</script>");

 

 

 

Quando eu vou alterar o Titulo, ele altera normalmente, agora se eu preencher o TEXTAREA video ou mapa da erro, aparece o erro da URL Amigavel

 

imoveis/erro.php

 

Estranho pois o ERRO só aparece quando eu preencho um dos dois textarea.

No Site OFF aqui no meu WAMP esta funcionando corretamente... mas no Site ON que esta hospedado em outro servidor esta dando esse erro.

 

não sei o que fazer alguem poderia me ajudar ?

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode não significar nada, mais coloquei na pagina alterar

 

$sql = "UPDATE `NOME DA TABELA AQUI`.`$tabela2` SET TITULO = '".$_POST['titulo']."',

 

As vezes da erro no servidor por conta disso.

 

Da um up aqui falando se deu certo :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá vidaloka860, obrigado pela tentativa, mas não mudou nada. teoricamente parece que a pagina alterando.php nem esta sendo acessada, ao clicar no botão ja estou sendo redirecionado para a pagina erro.php

 

 

mas quando eu deixo "video" e o "mapa" vazio fica tudo certo os dados altera normalmente.

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

PauloAlexandre também não deu certo, após clicar no botão ainda estou sendo redirecionado para a pagina erro.php.

estranho, pois eu coloquei outro textarea o Detalhes Completo ficou assim;

<form  name="form" method="post" action="alterando.php" enctype="multipart/form-data">

<label class="titulo"><b>Título:* </b><input type="text" name="titulo" id="titulo" value="<?php echo $linha3["TITULO"]; ?>" onkeyup="blocTexto2(this.value)" tabindex="2" class='normal 'onfocus="this.className='foco'" onblur="this.className='normal'" /> <i>caracteres restantes: <span id="cont2">25</span></i></label><br>

<label class="texto_completo"><b>Detalhes Completo:* </b><textarea type="text" id="texto_completo" name="texto_completo" class='normal 'onfocus="this.className='foco'" onblur="this.className='normal'"><?php echo $linha3["RESUMO_DETALHES"]; ?></textarea></label><br><br>


<label class="video"><b>Anúcio em Video (YouTube): </b><textarea type="text" id="video" name="video" class='normal' onfocus="this.className='foco'" onblur="this.className='normal'"><?php echo $linha3["VIDEO_ANUNCIO"]; ?></textarea></label><br><br>

<label class="mapa"> <b>Localidade no Google Mapa: </b><textarea type="text" id="mapa" name="mapa" class='normal' onfocus="this.className='foco'" onblur="this.className='normal'"><?php echo $linha3["MAPA_GOOGLE"]; ?></textarea></label><br><br><br>

<input type='submit' name='ok' value='Publicar' Onclick="return verifica4();" class="form_pesquisa"/>		
</form>	

 

 

quando eu preencho o texto_completo e deixo o video e mapa vazio funciona corretamente... o erro só perssiste quando eu preencho o video e o mapa, estranho neh ?

 

será que o erro nao pode estar em algum lugar no script da URL amigavel ?

- Já não tenho a menor idéia do que pode estar acontecendo...

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Evandro Oliveira os logs de erros estão vazios, esta assim

 

 

Últimas 300 mensagens Error Log em ordem inversa:

 

 

não á nenhuma mensagem.

 

Não sei se você percebeu, o erro que esta aparecendo é uma pagina que eu criei para quando uma url q não existe for visitada o navegante é redirecionado para pagina de erro (erro.php).

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Evandro Oliveira os logs de erros estão vazios, esta assim

 

 

Últimas 300 mensagens Error Log em ordem inversa:

 

 

não á nenhuma mensagem.

 

Não sei se você percebeu, o erro que esta aparecendo é uma pagina que eu criei para quando uma url q não existe for visitada o navegante é redirecionado para pagina de erro (erro.php).

 

Então o problema é na regex.

 

Poste as regras de reescrita e a URL completa que dá erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou postar..

 

.htaccess


# << URLs Amigaveis

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)$ index.php?url=$1 

# >> URLs Amigaveis

 

 

 

functions.php


<?php	
   $url   	= isset($_GET['url']) ? $_GET['url'] : 'home';
   $separar  = explode('/', $url);
   $pagina   = (isset($separar[0])) ? $separar[0] : 'home';
$sub_pagina   = (isset($separar[1])) ? $separar[1] : 'home';
$sub2_pagina   = (isset($separar[2])) ? $separar[2] : '0';
$sub3_pagina   = (isset($separar[3])) ? $separar[3] : '0';

$query = mysql_query("SELECT * FROM $tabela1 WHERE URL_EMP = '".mysql_real_escape_string($pagina)."' && LIBERADO = 'S'");
   $row   = mysql_fetch_assoc($query);
$qts   = mysql_num_rows($query); 

if ($pagina == "home"){
	include("principal/index.php");
} else if ($qts >= 1){
	include("imoveis/arquivos.php"); 
} else if ($pagina == "quemsomos"){
	include("imoveis/quemsomos.php");
} else if ($pagina == "comofunciona"){
	include("imoveis/comofunciona.php");
} 
else {
	include("imoveis/erro.php");
}

?>

 

 

dentro da pasta clientes_adm tem o arquivo de alteração altera_anuncio.php

 


<?php
error_reporting(E_ERROR | E_WARNING | E_PARSE);
header("Content-Type: text/html; charset=ISO-8859-1",true);
session_start(); 
include("../config/config.php");

$sql = "SELECT * FROM $tabela1 WHERE ID_IMOVEL = '".$_SESSION["ID_IMOVEL"]."'";        
$query = mysql_query($sql);
$linha = mysql_fetch_array($query);

$sql3 = "SELECT * FROM $tabela2 WHERE ID = '".$_POST["id"]."'";        
$query3 = mysql_query($sql3);
$linha3 = mysql_fetch_array($query3);

$acao = $_GET["acao"];
if ($acao == "excluir") {

} elseif ($acao == "altera") {
?>
<!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>
<title> Área Restrita do(a) <?php echo $linha["NOME"]; ?> </title>
<link rel="stylesheet" type="text/css" href="estilos/estilo.css" />
<meta equiv="Content-Type" content="text/html" charset="iso-8859-1" />

</head>
<body>
<div id="geral">
<?php 
include("topo.php");
include("menue.php");
?>
<div id="centro">

<form  name="form" method="post" action="alterando.php" enctype="multipart/form-data">
   	<input type="hidden"  name="id_anuncio" value="<?php echo $_POST["id"]; ?>" />
  	<label class="titulo_ouro"><b>Título:* </b><input type="text" name="titulo" id="titulo" value="<?php echo $linha3["TITULO"]; ?>" onkeyup="blocTexto2(this.value)" tabindex="2" class='normal 'onfocus="this.className='foco'" onblur="this.className='normal'" /> <i>caracteres restantes: <span id="cont2">25</span></i></label><br>
       <label class="texto_completo_ouro"><b>Detalhes Completo:* </b><textarea type="text" id="texto_completo" name="texto_completo" class='normal 'onfocus="this.className='foco'" onblur="this.className='normal'"><?php echo $linha3["RESUMO_DETALHES"]; ?></textarea></label><br><br>


       <label class="video_ouro"><b>Anúcio em Video (YouTube): </b><textarea type="text" id="video" name="video" class='normal' onfocus="this.className='foco'" onblur="this.className='normal'"><?php echo $linha3["VIDEO_ANUNCIO"]; ?></textarea></label><br><br>
       <label class="mapa_ouro"> <b>Localidade no Google Mapa: </b><textarea type="text" id="mapa" name="mapa" class='normal' onfocus="this.className='foco'" onblur="this.className='normal'"><?php echo $linha3["MAPA_GOOGLE"]; ?></textarea></label><br><br><br>


       <input type='submit' name='ok' value='Publicar' Onclick="return verifica4();" class="form_pesquisa"/>		
   </form>	

</div>
<?php
include("rodape.php"); 
?>
</div>
</body>
</html>
<?php		
}

?>

 

 

aqui o arquivo alterando.php


<?php 		
error_reporting(E_ERROR | E_WARNING | E_PARSE);
header("Content-Type: text/html; charset=ISO-8859-1",true);
session_start(); 
include("../config/config.php");

$sql = "SELECT * FROM $tabela1 WHERE ID_IMOVEL = '".$_SESSION["ID_IMOVEL"]."'";        
$query = mysql_query($sql);
$linha = mysql_fetch_array($query);

$sql2 = "SELECT * FROM $tabela8 WHERE CODIGOID_IMOVEL = '".$_POST["id_anuncio"]."'";        
$query2 = mysql_query($sql2);
$linha2 = mysql_fetch_array($query2);


$sql = "UPDATE `$tabela2` SET TITULO = '".$_POST['titulo']."',
							DETALHES = '".$_POST['texto_completo']."',
							MAPA_GOOGLE = '".addslashes($_POST['mapa'])."',
							VIDEO_ANUNCIO = '".addslashes($_POST['video'])."'
							WHERE ID = '".$_POST['id_anuncio']."'";    
$query = mysql_query($sql)or die(mysql_error());

  echo("<script type='text/javascript'> alert('Alterado com susseso !!!'); location.href='imoveis.php';</script>"); 
?>

 

 

e a pagina erro.php


<?php
include("config/config.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml2/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<link rel="stylesheet" type="text/css" href="principal/estilos/estilo.css" />
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title> ERRO </title>
</head>
<body>
<div id="geral">
<?php 
include("principal/topo.php");
?>
   <div id="centro">
   <br><br><br>
   	<h1 class="erro">Erro: Está Página não existe ou está indisponivel </h1>
   <br><br><br>
   </div>
<?php
include("principal/rodape.php"); 
?>
</div>
</body>
</html>

 

 

 

Eu postei o que você pediu ?

- lembrando que a pagina erro aparece só quando eu preencho os textarea video ou mapa

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por que tem um type="text" nesses textarea? Até onde eu sei, não existe outro textarea que não seja de texto....

Se o seu problema só ocorre quando preenche o textarea, o problema é relacionado a ele somente.

 

As vezes um atributo errado no html, quando utilizado para um post request, pode ocasionar um problema, onde aparentemente não ocorre nenhum.

 

O Firefox é a prova viva que, em um formulário mal escrito, não vai funcionar de jeito nenhum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá Gabriel Heming... .depois que li seu post fis novamente uma revisão no script, fis varios teste e percebi que o erro no que eu digito dentro do textarea

 

no video e no mapa, eu estou colocando tags do html

 

quero que esses formularios os usuarios colocam videos do Youtube e do mapas do google mapa.

 

o que estou fazendo de errado, tenho que acrescentar algo ?

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja tentei com;

 

htmlentities()

addslashes()

 

eu inserir no Textarea e vi no firebug para ver como esta aparecendo esta assim;

<iframe width="640" height="480" src="http://www.youtube.com/embed/MX90RAll7AQ" frameborder="0" allowfullscreen></iframe>

 

 

o frame é assim

<iframe width="640" height="480" src="http://www.youtube.com/embed/MX90RAll7AQ" frameborder="0" allowfullscreen></iframe>

 

 

quando eu coloco apenas <iframe> ja da o erro...

 

aguem ai por acaso tem a solução ?

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sugiro você salvar somente o link do vídeo e inserir o link no iframe. E não salvar o iframe junto.

 

'http://www.youtube.com/embed/MX90RAll7AQ'

 

E depois você terá o seu iframe predefinido, basta inserir o link:

<iframe width="640" height="480" src="<?php echo $link_video; ?>" frameborder="0" allowfullscreen></iframe>

 

htmlentities() faz justamente o que está aparecendo no seu text area. Transforma tags e caracteres em sua "forma" imprimível e não interpretável.

 

htmlentities — Converte todos os caracteres aplicáveis em entidades html.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gabriel Heming estou com problemas para colocar o http:// do links no mapa... esses erros ta me deixando loco rsrs

 

fis oq você sugeriu, colocar nos textarea apenas os links

 

no video coloquei isso: http://www.youtube.com/embed/MX90RAll7AQ

no mapa coloquei isso tb: http://www.youtube.com/embed/MX90RAll7AQ

para testar !!

E o erro persiste, estranho pois se eu enviar o mapa vazio o video = "http://www.youtube.com/embed/MX90RAll7AQ" grava certinho no BD.... mas se eu preencher o mapa com http:// nao vai de jeito nenhum

 

o que eu tenho que fazer ?

 

tentei colocar htmlentities() ou addslashes() não funcionou

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta o html de saída dessa parte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse ?

<form  name="form" method="post" id="consulta" action="adicionando.php" enctype="multipart/form-data">


<label class="video"><b> Video (YouTube): </b><textarea id="video" name="video" class='normal' onfocus="this.className='foco'" onblur="this.className='normal'"></textarea><i>(LINK)</i></label><br><br>
<label class="mapa"> <b>Localidade no Google Mapa: </b><textarea id="mapa" name="mapa" class='normal' onfocus="this.className='foco'" onblur="this.className='normal'"></textarea><i>(LINK)</i></label><br><br>


<input type='submit' name='ok' value='Publicar' Onclick="return verifica();" class="bot_pendent"/>		
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse é o que você insere. Eu quero o código aonde deve aparecer o vídeo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obviamente dá erro mesmo, sendo que o DETALHES é o campo RESUMO_DETALHES, então acredito que esse seja o problema...

Tente usar a seguinte query para a mudança dos dados:

$titulo = $_POST['titulo'];
$detalhes = $_POST['texto_completo'];
$mapa = $_POST['mapa'];
$video = $_POST['video'];
$id_anuncio = $_POST['id_anuncio'];
$sql = "UPDATE `$tabela2` SET TITULO = '$titulo', RESUMO_DETALHES = '$detalhes', MAPA_GOOGLE = '$mapa', VIDEO_ANUNCIO = '$video', WHERE ID = '$id_anuncio'";

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.