Foros del Web » Programando para Internet » PHP »

Editar noticias con tags bbcode

Estas en el tema de Editar noticias con tags bbcode en el foro de PHP en Foros del Web. hola a todos... Pues veran, de manera muy novata he creado un sistema de noticias para mi web haciendo uso de los famosos tags BBCode, ...
  #1 (permalink)  
Antiguo 15/10/2005, 10:27
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
Editar noticias con tags bbcode

hola a todos...
Pues veran, de manera muy novata he creado un sistema de noticias para mi web haciendo uso de los famosos tags BBCode, la cual a simple vista funciona correctamente, pero el problema está cuando kiero editar alguna noticia, al seleccionar la ID de la noticia me abre un formulario con los datos de la noticia en sus respectivos campos pero en el campo ke contiene la noticia en si el textarea aparece enmarañado de etiketas html, me meti a mi phpmyadmin para ver y efectivamente ahi tb estan las etiketas html y no los tags BBCode, yo guardo de esta manera la info a la BD:

Código PHP:
<?
if ($envianoticia) {
    include(
'config.php');
    include(
'bbcode1.php'); // llamo a la funcion ke convierte los tgs bbcode a etiketas html
    
$time time(); //establecemos el tiempo actual para la fecha
    
$noticia bbcode($noticia);
    
$origen bbcode($origen);
    
$autor $_SESSION['usuario'];
    
$idautor $_SESSION['idusuario'];
    
$query "insert into noticias (idautor, fecha, autor, titulo, noticia,origen) values ('$idautor', '$time', '$autor', '$titulo', '$noticia', '$origen')";
    
mysql_query($query); //insertamos el dato
    
echo "<br><center><div class=aviso><strong>La noticia fue enviada satisfactoriamente. Gracias!!<br><a class=link5 href='main.php'>:: Ir al inicio ::</a></strong></div></center>"//te dice que se ha añadido
}
else {
echo 
"<br><center><div class=aviso><strong>¡¡ ERROR !!. Los datos no fueron ingrasados correctamente.<br><a class=link5 href='javascript:history.back();'>:: Regresar ::</a></strong></div></center>";
}
?>
y muestro la noticia de esta manera:

Código PHP:
<?
include('config.php');
include(
'bbcode1.php'); // llamo a la funcion ke convierte los tgs bbcode a etiketas html
$query "select * from noticias where id='$id'";
$resp mysql_query($query);
while (
$datos mysql_fetch_array($resp)) { 

if (!
session_id()) session_start();
$num $datos["visitas"] + 1;
$pagina "pagina".$id;
if(!isset(
$_SESSION["pagina"]) OR $_SESSION["pagina"]<>$pagina) {
mysql_query("update noticias set visitas='$num' where id='$id'"); // cuento la visita o lectura
}
$_SESSION['pagina'] =  "pagina".$id;
    
$fecha date("d/m/Y",$datos[fecha]);
    
$texto bbcode($datos[noticia]);
    
$texto php($datos[noticia]);
    
$extraido bbcode($datos[origen]);
    
$extraido php($datos[origen]);
    
$com $datos[comentarios];
    echo 
'<table width="600" border="0" cellpadding="0" cellspacing="1" bgcolor="#ffffff">
    <tr>
    <td style="padding: 5px; border: 1px solid #e0e0e0;"><b><font size="3">'
.$datos[titulo].'</font></b></td>
    </tr>
    <tr><td bgcolor="#f8f8f8" style="border: 1px solid #e0e0e0; padding: 3px;"><img src="images/user.gif"> Enviada por <a class="link4" href=perfil.php?id='
.$datos[idautor].'><b>'.$datos[autor].'</b></a> el <b>'.$fecha.'</b> | <b>Lecturas:</b> '.$num.' | <b>Comentarios:</b> '.$com.'</td></tr>
    <tr><td style="border: 1px solid #e0e0e0;"><div class="cuerpo">'
.$texto.'</div></td></tr>
    <tr><td bgcolor="#f8f8f8" style="border: 1px solid #e0e0e0; padding: 3px;"><b>Origen: '
.$extraido.'</b></td></tr>
    </table><br>'
;
}
?>
no se si la forma en ke la guardo a la BD sea correcta, pero he probado sin llamar a la funcion del bbcode ni convirtiendo las variables $noticia y $origen pero sigue sin funcionar, alguien podria decirme en ke puedo estar fallando ???

Gracias de antemano y un saludo
  #2 (permalink)  
Antiguo 15/10/2005, 10:36
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
a ver... en la base de datos se tienen que guardar el BBCODE, y luego a la hora de mostrar los resultados... tienes que cambiar el BBCODE por etiquetas HTML-.-. para volver a dejar el codigo como tiene que ser....

osea, que lo que se guarda en la base de datos, son solo etiquetas BBCODE... nada de HTML.
__________________
3w.valenciadjs.com
3w.laislatv.com
  #3 (permalink)  
Antiguo 15/10/2005, 10:36
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 13 años, 5 meses
Puntos: 4
q es esto?

$texto = bbcode($datos[noticia]);
$texto = php($datos[noticia]);
$extraido = bbcode($datos[origen]);
$extraido = php($datos[origen]);

y claro que vas a ver html cuando editas, si estas guardando html en la base de datos.. el bbcode teens que interpretarlo cuando se muestra la noticia.
__________________
Internet Explorer SuckS
Download FireFox
  #4 (permalink)  
Antiguo 15/10/2005, 10:46
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
Cita:
Iniciado por SiR.CARAJ0DIDA
q es esto?
$texto = bbcode($datos[noticia]);
$texto = php($datos[noticia]);
$extraido = bbcode($datos[origen]);
$extraido = php($datos[origen]);
con eso estoy llamando a la funcion bbcode para los tags bbcode y colorear el codigo php si es ke se ha ingresado, pero aun sigo sin darle solucion, alguna forma de hacerlo please ??

un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:57.