Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   PHP (http://www.forosdelweb.com/f18/)
-   -   ejecutar funcion. (http://www.forosdelweb.com/f18/ejecutar-funcion-592493/)

mgaspoz 02/06/2008 08:38

ejecutar funcion.
 
hola!

Tengo esta funcion que me paso un colega aqui en el foro, es la siguiente:

function imagen($valor)
{
$valor = str_replace(":=)", "<img src='caritafeliz.jpg'>", $valor);
$valor = str_replace(":@", "<img src='caritabrava.jpg'>", $valor);
return $valor;
}

El problema es que no se donde debo colocarla o como se ejecuta o como hago referencia a ella, alguien podria darme una mano, por que la alamacene en un archivo llamado Fundiones.php el cual es incluido en el archivo foro.php que es el archivo que me muestra el mensaje de un pequeño foro, intente ponerla asi como esta pero no me reemplaza nada, no se si me explico, es que no se como se usan las funciones en php.gracias nuevamente por su pasciencia y por su tiempo.

rogertm 02/06/2008 08:55

Respuesta: ejecutar funcion.
 
hola, fijate en este link, tiene un ejemplo hecho para ti:
http://php.net/ob_start

saludos y suerte

pateketrueke 02/06/2008 09:48

Respuesta: ejecutar funcion.
 
ob_start ???

NOOOO.... necesitas un manual basico de PHP, sobre todo... programacion general....
debes saber utilizar funciones antes de.... hacer lo demas!!!

solo incluyes..... include('funciones.php');

digamos ke hay una ke se llama.... pata()

pues.... en nuestros codigo (despues de incluir)

llamamos (por ejemplo)

echo pata();

bingo!

PDTA: no te quedes sin leerte el manual... aunke sea el intro, deveras!

mgaspoz 02/06/2008 21:49

Respuesta: ejecutar funcion.
 
Hola muchachos, gracias por responder!

La verdad es que no se que estoy haciendo mal, la estoy ejecutando asi en el archivo foro.php:

echo imagen($row["mensaje"]);

Pero me muestra los caracteres y no la imagen, alguna otra sugerencia??, les adjunto debajo el codigo completo del archivo FORO.PHP talves tengo algo mal declarado, puede que no este haciendo referencia alcontenido de la fila?

<?php

/* Incluimos el fichero de conexión

a la base de datos mysql */

require('config.php');



/* Incluimos el fichero de funciones */

require('funciones.php');



/* Almacenamos en variables los datos

Notemos que se están enviando en método GET */

$id = $_GET["id"];



/* Validamos el campo id,

Si es vació se redirección a index.php */

if(empty($id)) Header("Location: index.php");



/* Generamos la consulta SQL */

$sql = "SELECT id, autor, email, titulo, mensaje, ";

$sql.= "DATE_FORMAT(fecha, '%d/%m/%Y %H:%i:%s') as enviado FROM foro ";

$sql.= "WHERE id='$id' OR identificador='$id' ORDER BY ID DESC";

$rs = mysql_query($sql, $con);



/* Incluimos el fichero de cabecera */

include('cabecera_de_pagina.html');



if(mysql_num_rows($rs)>0)

{



/* Incluimos el fichero de titulo */

include('titulo_de_mensajes.html');



/* Incluimos el fichero de estilo para cada registro */

$template = implode("", file('cuerpo_de_mensaje.html'));

while($row = mysql_fetch_assoc($rs))

{



/* Puede cambiar el color del registro

Reemplazando el #BCBCBC*/

$color=($color==""?"#FF6600":"");

$row["color"] = $color;



/* nl2br genera los saltos de línea

en los mensajes */

$row["mensaje"] = nl2br($row["mensaje"]);



/* parsearTags y mostrarTemplate llama a la función en

el fichero funciones.php */

$row["mensaje"] = parsearTags($row["mensaje"]);

mostrarTemplate($template, $row);

}

}
/* Reemplazamos los textos por las caritas */


echo imagen($row["mensaje"]);

/* Incluimos el fichero de pie de pagina */

include('pie_de_pagina.html');

?>

pateketrueke 02/06/2008 22:11

Respuesta: ejecutar funcion.
 
que caracteres te salen???

puedes ponerlos....

mgaspoz 03/06/2008 08:27

Respuesta: ejecutar funcion.
 
Hola, gracias por responder, no los caracteres que me salen,me refiero a que me muestra los caracteres que con los cuales hago referencia a la imagen ej.: :)= , en ves de mostrarme la carita me muestra el esos caracteres, quiero decir que no me muesta la imagen, gracias nuevamente por responder.

rogertm 03/06/2008 08:49

Respuesta: ejecutar funcion.
 
pero el ejemplo del manual esta mas que claro, a ver, prueba asi:
Código PHP:

<?php
function caritas($valor){
    
$carita = array(":)"":("":P");
    
$imagen = array("<img src='contento.jpg'>""<img src='triste.jpg'>",  "<img src='lenguino.jpg'>");
    return (
str_replace($carita$imagen$valor));
}

ob_start("caritas");

?>
<html>
<body>
<p>Estoy triste porque no se como hacer el script :(.</p>
<p>Pero creo que lo puedo solucionar :P</p>
<p>Ya estoy contento porque lo arregle gracias a FDW :)</p>
</body>
</html>
<?php
ob_end_flush
();
?>

ya despues lo adaptas bien, arreglas las rutas de las imagenes y las ordenas segun las caritas.

saludos y suerte

mgaspoz 03/06/2008 09:00

Respuesta: ejecutar funcion.
 
Hola, te agradesco por tu tiempo, pero sabes que y no me mates, lo que no se es en que archivo meterlo, o sea, lo meto en el archivo donde ejecuto la consulta y que a su ves me muestra el mensaje tal y como lees este???, gracias de nuevo..:aplauso:

rogertm 03/06/2008 09:11

Respuesta: ejecutar funcion.
 
mira, te sugiero que primero pruebes el ejemplito que te di mas arriba, asi en plano, pero en si lo que tienes que hacer es esto:
Código PHP:

<?php
function caritas($valor){
    
$carita = array(":)"":("":P");
    
$imagen = array("<img src='contento.jpg'>""<img src='triste.jpg'>",  "<img src='lenguino.jpg'>");
    return (
str_replace($carita$imagen$valor));
}
ob_start("caritas");
?>
<html>
<head>
<title>Mi Pagina Web pone caritas :D</title>
</head>
<body>
<?php
require ('config.php');
require (
'funciones.php');
$id $_GET["id"];
if (empty(
$id))
    
Header("Location: index.php");
$sql "SELECT id, autor, email, titulo, mensaje, ";
$sql .= "DATE_FORMAT(fecha, '%d/%m/%Y %H:%i:%s') as enviado FROM foro ";
$sql .= "WHERE id='$id' OR identificador='$id' ORDER BY ID DESC";
$rs mysql_query($sql$con);
include (
'cabecera_de_pagina.html');
if (
mysql_num_rows($rs) > 0)
{
    include (
'titulo_de_mensajes.html');
    
$template implode(""file('cuerpo_de_mensaje.html'));
    while (
$row mysql_fetch_assoc($rs))
    {
        
$color = ($color == "" "#FF6600":"");
        
$row["color"] = $color;
        
$row["mensaje"] = nl2br($row["mensaje"]);
        
$row["mensaje"] = parsearTags($row["mensaje"]);
        
mostrarTemplate($template$row);
    }
}
echo 
imagen($row["mensaje"]);
include (
'pie_de_pagina.html');
?>
</body>
</html>
<?php
ob_end_flush
();
?>

le quite los comentarios a todo tu codigo para que no se viera tan largo.

bueno, prueba a ver si resulta

saludos y suerte

mgaspoz 03/06/2008 09:18

Respuesta: ejecutar funcion.
 
Gracia amigo, realizo algunas pruevas y te aviso, gracias por tu ayuda.

mgaspoz 03/06/2008 09:26

Respuesta: ejecutar funcion.
 
SIIIIII, Gracias amigo, me solucionaste el problema, no sabes lo agradecido que estoy, pueden cerrar el asunto.

rogertm 03/06/2008 09:32

Respuesta: ejecutar funcion.
 
Cita:

Iniciado por mgaspoz (Mensaje 2432409)
SIIIIII, Gracias amigo, me solucionaste el problema, no sabes lo agradecido que estoy, pueden cerrar el asunto.

JA...! ya tengo algo de que alardear, jajaja :adios:

pateketrueke 03/06/2008 12:12

Respuesta: ejecutar funcion.
 
programación estructurada por Dios.....

¿donde esta el que sea creía Dios del foro???

rogertm 03/06/2008 12:43

Respuesta: ejecutar funcion.
 
Cita:

Iniciado por pateketrueke (Mensaje 2432798)
programación estructurada por Dios.....

¿donde esta el que sea creía Dios del foro???

JA...! espero no ser yo a quien te refieres, pero bueno, si el problema es meterlo dentro de una funcioncita, pues ya esta, se mete y ya, luego se llama de la misma forma que planteas echo nombreFuncio() y ya, no creo que eso cambie nada de la programacion estructurada con la que se le dio solucion al asunto, ademas, el ejemplo que use para ayudar al amigo aqui presente, lo saque del manual oficial de PHP, porque nunca habia hecho yo algo asi.

bueno en fin, no hay que armar una guerra ahora por nada de esto, yo no soy DIOS, pero hoy si tengo pa alardear, jajaja.

saludos y suerte

pateketrueke 03/06/2008 12:56

Respuesta: ejecutar funcion.
 
pues no hay fijón.... me refería al Jam (quien tiene la cita de H.Simpson) es genial!

rogertm 03/06/2008 13:02

Respuesta: ejecutar funcion.
 
Cita:

Iniciado por pateketrueke (Mensaje 2432875)
pues no hay fijón.... me refería al Jam (quien tiene la cita de H.Simpson) es genial!

OK...! to bien, me retracto en caso de que sea necesario :patada:


La zona horaria es GMT -6. Ahora son las 19:13.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.