Jump to content


Photo

Formulario Com Campo Html Tem Jeito?


  • Faça o login para participar
28 replies to this topic

#1 Ronaldo

Ronaldo

    Mu X-Plosion - MUOnline Server

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Nova Xavantina - MT

Posted 19/07/2006, 18:29

Olá minha duvida é a seguinte, ao criar um campo de formulario ex

<textarea name="noticia" cols="50" rows="10" id="noticia"></textarea>

tudo q se digita nele como esta digitado mais ao ser enviado para o DB não passa em formato de HTML ou seja fica com erros

existe alguma forma de se fazer um campo de formulario onde ao digitar um texto o mesmo seja postado no banco de dados em forma de HTML exe...

Voc&ecirc; est&aacute; feliz hoje?

a frase acima se fosse postada assim no banco de dados era visualizada normalmente pelo usuario mais no campo de formulario que citei se escrever assim Você está feliz hoje? fica com varios erros exe. voc?
Mu X-Plosion - Qualidade em primeiro lugar!
Mu X-Plosion - MuOnline como você nunca viu antes!
Mu X-Plosion - O Melhor MU que você já viu!
Mu X-Plosion - Por que não basta ser o melhor tem que oferecer o melhor e a maior qualidade!

#2 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 19/07/2006, 18:52

use a função htmlspecialchars() quando for gravar as informações no BANCO DE DADOS

mesmo que você digite no campo:
Você está feliz hoje?

ao usar a FUNÇÃO, ele irá TRANSFORMAR essa frase pra:
Voc&ecirc; est&aacute; feliz hoje?

^^'

T+
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#3 Ronaldo

Ronaldo

    Mu X-Plosion - MUOnline Server

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Nova Xavantina - MT

Posted 19/07/2006, 20:46

Goku Jr sem querer encher vc poderia me mostrar um exemplo de como por essa função no form abaixo, desculpe mais ainda não aprende a chamar função ainda :(

<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
	<td><form name="form1" method="post" action="envia.php">
  <p>titulo 
	<input type="text" name="titulo" id="titulo">
  </p>
  <p>autor 
	<input type="text" name="autor" id="autor">
</p>
  <p>noticia 
	<textarea name="noticia" cols="50" rows="10" id="noticia"></textarea>
</p>
 <input type="submit" name="Submit" value="Enviar">
</form>

&nbsp;</td>
  </tr>
</table>

Mu X-Plosion - Qualidade em primeiro lugar!
Mu X-Plosion - MuOnline como você nunca viu antes!
Mu X-Plosion - O Melhor MU que você já viu!
Mu X-Plosion - Por que não basta ser o melhor tem que oferecer o melhor e a maior qualidade!

#4 victorhb

victorhb

    24 Horas

  • Usuários
  • 489 posts
  • Sexo:Masculino
  • Localidade:Brasília-DF

Posted 19/07/2006, 23:10

Goku Jr sem querer encher vc poderia me mostrar um exemplo de como por essa função no form abaixo, desculpe mais ainda não aprende a chamar função ainda :(

<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
	<td><form name="form1" method="post" action="envia.php">
  <p>titulo 
	<input type="text" name="titulo" id="titulo">
  </p>
  <p>autor 
	<input type="text" name="autor" id="autor">
</p>
  <p>noticia 
	<textarea name="noticia" cols="50" rows="10" id="noticia"></textarea>
</p>
 <input type="submit" name="Submit" value="Enviar">
</form>

&nbsp;</td>
  </tr>
</table>


Faz assim bobrinha
///Esse script trata o formulario...
<?php
$titulo=$_POST["titulo];
$autor=$_POST["autor"];
$noticia=$_POST["noticia"];
$tituloformatado=htmlspecialchars($titulo);
$autorformatado=htmlspecialchars($autor);
$noticiaformatada=htmlspecialchars($noticia);

//Depois use as variaveis resultantes do jeito que quiser!

?>


#5 Ronaldo

Ronaldo

    Mu X-Plosion - MUOnline Server

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Nova Xavantina - MT

Posted 19/07/2006, 23:55

assim não da certo

<?
include("conexao.php");

$noticia = $_POST['noticia'];
$titulo = $_POST['titulo'];
$data = date ("Y-m-d H:i:s");
$autor = $_POST['autor'];

$tituloformatado=htmlspecialchars($titulo);
$autorformatado=htmlspecialchars($autor);
$noticiaformatada=htmlspecialchars($noticia);

$sql = "INSERT INTO noticias (noticias, titulo, data, autor) VALUES ('$noticia','$titulo','$data','$autor')";
$resultado = mssql_query($sql);
{
echo "noticia enviada";
}

?>

Mu X-Plosion - Qualidade em primeiro lugar!
Mu X-Plosion - MuOnline como você nunca viu antes!
Mu X-Plosion - O Melhor MU que você já viu!
Mu X-Plosion - Por que não basta ser o melhor tem que oferecer o melhor e a maior qualidade!

#6 victorhb

victorhb

    24 Horas

  • Usuários
  • 489 posts
  • Sexo:Masculino
  • Localidade:Brasília-DF

Posted 20/07/2006, 00:02

Mas é claro... Vc tá tentando por as variáveis diretamente, sem a formatação que a função fez...

Edição feita por: victorhb, 20/07/2006, 00:04.


#7 Ronaldo

Ronaldo

    Mu X-Plosion - MUOnline Server

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Nova Xavantina - MT

Posted 20/07/2006, 00:18

seria mais facil dizer como se faz então
Mu X-Plosion - Qualidade em primeiro lugar!
Mu X-Plosion - MuOnline como você nunca viu antes!
Mu X-Plosion - O Melhor MU que você já viu!
Mu X-Plosion - Por que não basta ser o melhor tem que oferecer o melhor e a maior qualidade!

#8 victorhb

victorhb

    24 Horas

  • Usuários
  • 489 posts
  • Sexo:Masculino
  • Localidade:Brasília-DF

Posted 20/07/2006, 00:23

$sql = "INSERT INTO noticias (noticias, titulo, data, autor) VALUES ('$noticiaformatada','$tituloformatado','$data','$autorformatado')";

Vc tava tentando colocar as variaveis originais, sem a formatação resultante da função htmlspecialchars, entendeu?

#9 Ronaldo

Ronaldo

    Mu X-Plosion - MUOnline Server

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Nova Xavantina - MT

Posted 20/07/2006, 00:35

se era pra fazer assim

<?
include("conexao.php");

$noticia = $_POST['noticia'];
$titulo = $_POST['titulo'];
$autor = $_POST['autor'];
$data = date ("Y-m-d H:i:s");

$noticiaformatada=htmlspecialchars($noticia);
$tituloformatado=htmlspecialchars($titulo);
$autorformatado=htmlspecialchars($autor);

$sql = "INSERT INTO noticias (noticias, titulo, data, autor) VALUES ('$noticiaformatada','$tituloformatado','$data','$autorformatado')";
$resultado = mssql_query($sql);
{
echo "noticia enviada";
}

?>

não da certo não...
Mu X-Plosion - Qualidade em primeiro lugar!
Mu X-Plosion - MuOnline como você nunca viu antes!
Mu X-Plosion - O Melhor MU que você já viu!
Mu X-Plosion - Por que não basta ser o melhor tem que oferecer o melhor e a maior qualidade!

#10 victorhb

victorhb

    24 Horas

  • Usuários
  • 489 posts
  • Sexo:Masculino
  • Localidade:Brasília-DF

Posted 20/07/2006, 00:39

Que erro retorna?

#11 Ronaldo

Ronaldo

    Mu X-Plosion - MUOnline Server

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Nova Xavantina - MT

Posted 20/07/2006, 00:46

não retornar nenhum erro apenas não faz nada veja como fica a frase

voc?est?bem hoje ?

deveria ficar assim

você está bem hoje ?
Mu X-Plosion - Qualidade em primeiro lugar!
Mu X-Plosion - MuOnline como você nunca viu antes!
Mu X-Plosion - O Melhor MU que você já viu!
Mu X-Plosion - Por que não basta ser o melhor tem que oferecer o melhor e a maior qualidade!

#12 victorhb

victorhb

    24 Horas

  • Usuários
  • 489 posts
  • Sexo:Masculino
  • Localidade:Brasília-DF

Posted 20/07/2006, 00:54

Putz tá dando algum erro no bd então, vc usa mssql não sei como retorna erros nesse bd, mas tenta assim
echo mssql_get_last_message ();

#13 Ronaldo

Ronaldo

    Mu X-Plosion - MUOnline Server

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Nova Xavantina - MT

Posted 20/07/2006, 01:12

já consegui fazer o que eu queria :)

Edição feita por: Ronaldo, 20/07/2006, 02:08.

Mu X-Plosion - Qualidade em primeiro lugar!
Mu X-Plosion - MuOnline como você nunca viu antes!
Mu X-Plosion - O Melhor MU que você já viu!
Mu X-Plosion - Por que não basta ser o melhor tem que oferecer o melhor e a maior qualidade!

#14 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 20/07/2006, 07:15

Solução ?
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#15 Ronaldo

Ronaldo

    Mu X-Plosion - MUOnline Server

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Nova Xavantina - MT

Posted 20/07/2006, 17:18

Goku eu fiz assim olha

<?
//Conexão com o banco de dados
include("conexao.php");
//Variável global $_POST envia os dados do formulario
$noticia = $_POST['noticia'];
//troca todos os caracteres que tem representação especial no HTML
$noticia = htmlentities($noticia);
//Essa função trasnforma todos os caracteres de nova linha em código de quebra de linha em HTML, representado por <BR>.
$noticia = nl2br($noticia);
$titulo = $_POST['titulo'];
$titulo = htmlentities($titulo);
$autor = $_POST['autor'];
$autor = htmlentities ($autor);
$data = date ("Y-m-d H:i:s");
//Inserindo os dados no banco de dados
$insere = "INSERT INTO noticias (noticias, titulo, data, autor) VALUES ('$noticia','$titulo','$data','$autor')";
$resultado = mssql_query($insere);
{
echo 'noticia enviada';
}

?>

ai sai certinho ^^ so falto uma função pra fazer assim quando digitar http://www.site.com.br ele joga em forma de HTML no DB ai ficava show :)

Edição feita por: Ronaldo, 20/07/2006, 17:20.

Mu X-Plosion - Qualidade em primeiro lugar!
Mu X-Plosion - MuOnline como você nunca viu antes!
Mu X-Plosion - O Melhor MU que você já viu!
Mu X-Plosion - Por que não basta ser o melhor tem que oferecer o melhor e a maior qualidade!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq