insertar emoticones en libro de visitas php

HTML, CSS, PHP, JavaScript, Java... tus dudas por aquí...
Responder
Emiliano Zapata
Nivel 4
Mensajes: 125
Registrado: 04 Jul 2009, 14:35

insertar emoticones en libro de visitas php

Mensaje por Emiliano Zapata »

Hola que tal a todos espero que se encuentren muy bien, quiero ver si me pueden ayudar a insertarles emoticones a mi libro de visitas, lo he logrado hacer pero no de la manera que yo deseo, lo hice insertando una funcion en php para guardar todos los caracteres que usuaria para cada carita y reemplazarlo por el emoticon, pero quiero aclarar que el codigo esta fuera de la estructura html, ya que lo tengo al principio y cuando cierra la estructura </html> cierro la funcion. El codigo php del libro de visitas y formulario si lo tengo dentro de la estructura html, y lo que yo deseo en realidad es poner abajo del formulario una tabla con todos los emoticones y que al darles un click se inserte el codigo del emoticon en el area de texto, eso es lo que quiero hacer, espero me puedan ayudar, se los agradeceria bastante, aqui les muestro el codigo:

Este es el codigo para los emoticones.
<?php
// creamos la funcion
function mostrarCaritas($valor){
// la variable $caritas
// guardara como valor
// un array con los posibles caracteres ;)
$caritas = array("9)", "o:;", ":-", ":p", "-.-", ":)", ":/", "-:", ":-:", ":[", ":_:",
"-o-", "1o1", ":s", "8)", "-[", "o(o", "=)", "./.", ":D", "=/", "-)", "o-o", "(:", ";(");
// $imagenes, tambien contendra un array
// con las imagenes que usaremos
$imagenes = array("<img src='gifboxeo/adios2.gif' />",
"<img src='gifboxeo/adios.gif' />",
"<img src='gifboxeo/bailar.gif' />",
"<img src='gifboxeo/boxeo.gif' />",
"<img src='gifboxeo/burla.gif' />",
"<img src='gifboxeo/carcajada.gif' />",
"<img src='gifboxeo/disimulo.gif' />",
"<img src='gifboxeo/enfadado2.gif' />",
"<img src='gifboxeo/enfadado3.gif' />",
"<img src='gifboxeo/enfadado4.gif' />",
"<img src='gifboxeo/enfadado.gif' />",
"<img src='gifboxeo/fiesta.gif' />",
"<img src='gifboxeo/fumar.gif' />",
"<img src='gifboxeo/hola.gif' />",
"<img src='gifboxeo/lengua.gif' />",
"<img src='gifboxeo/loco.gif' />",
"<img src='gifboxeo/pensando.gif' />",
"<img src='gifboxeo/pirata.gif' />",
"<img src='gifboxeo/regar.gif' />",
"<img src='gifboxeo/risa.gif' />",
"<img src='gifboxeo/secreto.gif' />",
"<img src='gifboxeo/silencio.gif' />",
"<img src='gifboxeo/sorprendido.gif' />",
"<img src='gifboxeo/sorpresa.gif' />",
"<img src='gifboxeo/viejo.gif' />"
);
// hacemos el reemplazo
return (str_replace($caritas, $imagenes, $valor));
}
// habilitamos el bufer de salida
ob_start("mostrarCaritas");
?>

Aqui cierra el codigo de los emoticones pero va despues de </html>
<?php
// aqui desabilitamos el bufer
ob_end_flush();
?>

Aqui el codigo del libro de visitas
<?php

/* conexion ****************/
// conectamos al servidor MySQL
/* conexion ****************/
// conectamos al servidor MySQL
$link = mysql_connect("xxxxxxx", "xxxx", "xxxxxx");
if(!$link) {
die("Error al intentar conectar: ".mysql_error());
}
// seleccionamos la base de datos
$db_link = mysql_select_db("libro_visitas", $link);
if(!$db_link) {
die("Error al intentar seleccionar la base de datos". mysql_error());
}
/* fin conexion ************/
/* prosesamiento de los datos */
// verificamos si ha sido enviado el formulario
if(isset($_POST['enviar']) && $_POST['enviar'] == "Enviar"){
// verificamos que el formulario
// no venga vacio
if(!empty($_POST['usuario']) && !empty($_POST['firma'])){
// creamos las variables a usar en la consulta
// y le asignamos sus valores
$usuario = htmlentities(trim($_POST['usuario']));
$firma = htmlentities(trim($_POST['firma']));
// la consulta INSERT
$sqlInsert = mysql_query("INSERT INTO firmas (usuario, firma)
VALUES ('$usuario', '$firma')", $link)
or die(mysql_error());
}else{
echo "¡¡NO SE ENVIO TU MENSAJE, DEBES LLENAR TODOS LOS CAMPOS!!";
}
}
/* fin del proseso de datos */
/* mostrando los registros (firmas) */
$sqlQuery = mysql_query("SELECT * FROM firmas", $link)
or die(mysql_error());
$totalFirmas = mysql_num_rows($sqlQuery);
// verificamos si hay
// alguna firma registrada,
// de lo contrario enviamos un mensaje
if($totalFirmas == 0){
echo "Nadie se ha animado a firmar este libro :(";
}
// si hay firmas registradas
// las mostramos
else{
while($row = mysql_fetch_array($sqlQuery)){
echo "<p><b>$row[usuario]</b> predico:<br />". nl2br($row['firma'])."<p></p><hr />";
}
}
?>
<!– el formulario –>
<center>Dejen su comentario</center>
<form name="html" action="<?php $_SERVER['localhost/PHP_SELF']; ?>" method="post">
<TABLE BORDER=0 align="center" width="400">
<TR>
<TD>Nombre:</TD>
<TD>
<input type="text" name="usuario" class="transparente" onFocus="this.style.backgroundColor='#7093DB'" onMouseOut="this.style.backgroundColor='#ffffff'" />
</TD>
</TR>
<TR>
<TD>Comentario:</TD>
<TD >
<textarea name="firma" WRAP="soft" cols="35" onFocus="this.style.backgroundColor='#7093DB'" onMouseOut="this.style.backgroundColor='#ffffff'" rows="7" style="overflow: auto;"></textarea>
</TD>
</TR>
<TR>
<TD COLSPAN=2>
<input type="submit" name="enviar" value="Enviar">
</TD>
</TR>
</TABLE>
</form>
Avatar de Usuario
cacho_lagarza
Nivel 2
Mensajes: 35
Registrado: 03 Jun 2009, 10:37
Twitter: @cacho_lagarza
Ubicación: Montevideo, Uruguay
Contactar:

Re: insertar emoticones en libro de visitas php

Mensaje por cacho_lagarza »

lo que yo deseo en realidad es poner abajo del formulario una tabla con todos los emoticones y que al darles un click se inserte el codigo del emoticon en el area de texto
Capaz te conviene usar javacript para eso;
te aclaro que no soy nada experto en javascript, y que muy seguramente haya una forma mas eficiente de hacerlo, pero se me ocurre hacer una función en el <head> tipo:

<script type="text/javascript" language="javascript">
function cara1(){var element = document.getElementById("firma"); element.value += ":)"; return true;}
function cara2(){var element = document.getElementById("firma"); element.value += ":("; return true;}
.etc
.etc
.etc
</script>


para cada una de las caras y sus respectivos caracteres, y despues mostrar todas las caritas abajo del formulario, con un link tipo:

<a href="#" onclick="javascript:cara1()"><img src="gifboxeo/risa.gif" /></a>
<a href="#" onclick="javascript:cara2()"><img src="gifboxeo/triste.gif" /></a>
.etc
.etc


para cada una de las caritas.
otra vez: seguro hay una forma mas eficiente de hacerlo :P

pd: tendrías que agregarle id="firma" al <textarea para que funcione
Emiliano Zapata
Nivel 4
Mensajes: 125
Registrado: 04 Jul 2009, 14:35

Re: insertar emoticones en libro de visitas php

Mensaje por Emiliano Zapata »

orale muchas gracias amigo, perdon por visitar tarde tu respuesta, pero pense que no me ayudarian, como ya habia publicado en otros foros y no me ayudaban solo me hacian mas bolas con otros temas, te lo agredesco muchisimo, me funciono tal y como lo señalastes, muchas gracias por respoder a mi ayuda.
Responder