Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/06/2010, 11:30
xaviarg
 
Fecha de Ingreso: mayo-2010
Mensajes: 102
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Personalizar un comentario en php

Cita:
Iniciado por kaninox Ver Mensaje
1.- debes ver bbcode con php
2.- usa la funcion htmlentities(); de php y te evitas codigo html en tu web, al menos ejecutable que es lo que te interesa creo yo.

Saludos
Esta es la parte del bbcode que he encontrado pero no se muy bien donde debo colocarlo... ¿Debe ir donde se visualizan los comentarios o donde se envían?

Código PHP:
<?php
function bbparse($mensaje)
{
$bbcode = array();
$xhtml = array(); 

// Ponemos cada BBCode y su reemplazo
$bbcode[] = "[i]"$xhtml[] = "<em>";
$bbcode[] = "[/i]"$xhtml[] = "</em>"

$bbcode[] = "[b]"$xhtml[] = "<strong>";
$bbcode[] = "[/b]"$xhtml[] = "</strong>"

$bbcode[] = "[imagen]"$xhtml[] = "<img src='";
$bbcode[] = "[/imagen]"$xhtml[] = "' />"

return 
str_replace($bbcode,$xhtml,$mensaje); 


/* Si el formulario se ha enviado imprimimosla frase introducida parseando BBCode */
if(isset($_POST['comentario'])) {
echo 
"Has introducido: ".bbparse($_POST['comentario']);
}
?>

Este es el código donde están mis comentarios...


* Visualizando comentario
Código PHP:
<a name="estados"></a>
<?php 
    
require_once '../includes/PHPPaging.lib.php';
    require_once 
'../includes/conexion.php';

    
$link mysql_connect('$host''$user''$pass'); 
    
mysql_select_db('$db'$link);
    
    
$paging = new PHPPaging;
    
$paging->agregarConsulta("SELECT * FROM comentarios_personales WHERE destino='$valor' ORDER BY id DESC");
    
$paging->porPagina(10);
    
$paging->paginasAntes(41030);
    
$paging->paginasDespues(41030);

    
$paging->linkClase('nav');  
    
$paging->linkSeparador(false); //Significa que no habrá separacion 
    
$paging->linkSeparadorEspecial('...');
    
$paging->linkAgregar('');
    
$paging->linkTitulo('Página %1$s: Mostrando resultados del %2$s al %3$s (Total: %4$s)'); 

    
$paging->mostrarPrimera("|<"true);
    
$paging->mostrarUltima(">|"true);
    
$paging->mostrarAnterior(false);
    
$paging->mostrarSiguiente(false);
    
$paging->mostrarActual("<span class=\"navthis\">{n}</span>");
    
$paging->nombreVariable("pag");

    
$paging->ejecutar();   
    while(
$datos $paging->fetchResultado()) {

echo 
"
"
.$datos['usuario']."<br>
"
.$datos['comentario']."
"
;
        } 
        
// Imprimimos la barra de navegación 
        
echo "<div class='navigation' align='center'>".$paging->fetchNavegacion()."</div>"
?>

* Para Enviar
Código PHP:
<?php
if(isset($_POST['comentario']))
    {
    
$usuario $_POST['usuario'];
    
$destino $_POST['destino'];
    
$comentario $_POST['comentario'];
    
mysql_query('INSERT INTO comentarios_personales (usuario, destino, comentario, hora, fecha, ip) VALUES ("' $usuario '", "' $destino '", "' $comentario '");') or $error true;

    if(isset(
$error))
      echo 
'<META HTTP-EQUIV="Refresh" CONTENT="0; URL=">';

    else
      echo 
'<META HTTP-EQUIV="Refresh" CONTENT="0; URL=">';

    exit;
    }
    
echo 
'

<div align="center">
<form  name="formulario" action="yo.php?p=' 
$valor '" method="POST" onSubmit="return validate()">
<textarea name="comentario" rows="6" cols="90" wrap="physical" onKeyDown="contador(this.form.comentario,this.form.remLen,500);" onKeyUp="contador(this.form.comentario,this.form.remLen,500);"></textarea><br>
Tienes <input type="text" name="remLen" size="1" maxlength="3" value="500" style="border: 0px solid #FFFFFF; color: #006699; background: #FFFFFF" readonly> caracteres restantes<br><br>
<input type="text" value="' 
$username '" name="usuario" style="display:none;">
<input type="text" value="' 
$valor '" name="destino" style="display:none;">
<input type="submit" name="enviar" class="login-button" value="Enviar Comentario">
</form>
</div>

<SCRIPT language="JavaScript" type="text/javascript"> 
function contador (campo, cuentacampo, limite) { 
if (campo.value.length > limite) campo.value = campo.value.substring(0, limite); 
else cuentacampo.value = limite - campo.value.length; 

</script>
'
;
?>