Foros del Web » Programando para Internet » PHP »

como concatenar strings para acumular

Estas en el tema de como concatenar strings para acumular en el foro de PHP en Foros del Web. tengo una duda en este ejercicio es algo sencillo pero que no le he podido encontrar solucion se trata de un chat en la siguiente ...
  #1 (permalink)  
Antiguo 05/05/2010, 19:19
 
Fecha de Ingreso: octubre-2009
Mensajes: 29
Antigüedad: 14 años, 5 meses
Puntos: 0
como concatenar strings para acumular

tengo una duda en este ejercicio es algo sencillo pero que no le he podido

encontrar solucion se trata de un chat

en la siguiente clase llamada eventsFrmChat.php estoy enviando unas variables que me contienen el nick y un mensaje lo que necesito es que no me sobreescriba sobre el mensaje anteriormente enviado si no que me lo acumule ya sea arriba o abajo de este

*donde estan los // es donde me hace falta concatenar las variables

Código PHP:
<?php

session_start
();
//Variable de session para almacenar los mensajes
//$_SESSION['mensajesChat'];
//(Esto no se debe hacer... es con fines puramente académicos)

$mensaje=$_POST['mensaje'];
$nick=$_POST['nick'];
$fecha=date("H-i-s");


if(isset (
$_POST['enviar'])){
//  $_SESSION['mensajesChat'] = $_POST['mensaje']."\n";
//    $c = $_POST['nick'].": ";
//    $mensaje = $c.$_SESSION['mensajesChat'];

    
if($nick!="" and $mensaje!=""){
            
mysql_connect("localhost","root");
            
mysql_select_db("minichatr");
            
mysql_query("insert into mensajeschat(nick,mensaje,fecha) values('$nick','$mensaje','$fecha')");
           
$mensajeacum=$fecha."->    ".$nick.": ".$mensaje."\n";    
                
//

    
}
    require 
"../forms/frmChat.php";
}

if(isset(
$_GET['start'])){
  require 
"../forms/frmChat.php";
}
?>


*este es el formulario
Código HTML:
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>prototipoChat</title>
<link rel="stylesheet" href="../themes/skin.css" type="text/css">
</head>
<body>
<form method="post" action="../events/eventsFrmChat.php" name="chat">
<table style="text-align: left; width: 312px; height: 311px;" border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td colspan="2" rowspan="1" style="vertical-align: top;">
<textarea cols="40" rows="15" name="chatText" readonly><?php echo $mensajeacum; ?>
</textarea><br>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Nombre:</td>
<td style="vertical-align: top;"><input name="nick" value="<?php echo $_POST['nick']; ?>" type="text"><br>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Mensaje:<br>
</td>
<td style="vertical-align: top;"><input name="mensaje" value="<?php echo $_POST['mensaje']; ?>" type="text"><br>
</td>
</tr>
<tr>
<td style="vertical-align: top;"><br>
</td>
<td style="vertical-align: top;"><input name="enviar" value="Enviar" type="submit"><br>
</td>
</tr>
</tbody>
</table>
<br>
</form>
<br>
</body>
</html> 

si necesitan todo el proyecto esta aqui http://www.megaupload.com/?d=VB6PNHZ9


por favor solo necesito eso si me ayudan se lo agrdeceria enormemente

saludos
  #2 (permalink)  
Antiguo 06/05/2010, 00:41
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: como concatenar strings para acumular

La mejor forma es hacerlo mediante AJAX, simplemente agregando el nuevo texto al textarea y, de paso, recomendarte que no uses textarea para mostrar el contenido del chat, sino un div:

<div id="chatText">Valor inicial de la ventana del chat, tal vez sea un texto de bienvenida, link al reglamento, etc.</div>

Por medio de CSS puedes asignar las caracteristicas necesarias como barras de desplazamiento, tipo de letra, colores, etc.

Finalmente, te recomiendo solicitar ayuda en la seccion AJAX.

Con solo PHP es muy dificil lograr lo que necesitas... aunque realmente no es imposible.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: acumular, concatenar, strings
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 04:12.