Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/07/2007, 11:25
garfield3286
 
Fecha de Ingreso: julio-2007
Mensajes: 10
Antigüedad: 16 años, 9 meses
Puntos: 0
Exclamación guardar en un arreglo variables

estoy tratando de crear este script
que guarda en un arreglo

monbre|mi comentario|05 de julio de 2007|

pero en el textarea cuando presiono enter y escribo otra linea
en el archivo la variable se guarda mal

quisiera saber si se puede hacer que el enter no troce el comentario sino que lo escriba asi.

nombre|linea 1<BR>linea 2<BR>linea3<BR>linea 4|08 de julio de 2007|

me podrian ayudar. gracias
abajo pongo el codigo:
--------------------------------------------
<form action="add.php" method="post">
<p>
<textarea rows="3" cols="40" name="comentario1">Tu Comentario:</textarea></p>
<p>Tu nombre: <input type="text" name="nombre" size=40 value="Tu nombre"></p>
<p><input type="submit" value="agrega tu comentario">   <input type="reset" value="limpiar"></p>
</form>


<?php

$archivo = file("arreglo.txt");
/* file lee el archivo y guarda el contenido en un arreglo, donde cada elemento del arreglo corresponde a una línea del archivo */

if (!$archivo) /* si no se puede abrir el archivo */
{
echo "<p>No se pudo abrir el archivo.</p>";
}

$filas=count($archivo);
/* la funcion count cuenta el número de elementos de un arreglo y lo guarda en la variable $filas. Esta varible nos servirá como variable de control para recorrer el arreglo $archivo */

for($i=0;$i<$filas;$i++)
{
$campo=explode("|",$archivo[$i]);
/* la funcion explode divide una cadena en base a un caracter elegido, en este caso | y lo guarda en el arreglo $campo
luego se va obteniendo cada campo equivalente a los elementos del arreglo */
$nombre = $campo[0];
$comentario = $campo[1];
$fecha = $campo[2];

/* finalmente se imprimen por pantalla los datos */
echo "\n<p>$comentario";
echo "<font color='B500C2'>$nombre</font><br>";
echo "<br><font color='FF0000'>$fecha</font></p><br>";
}

?>

-----------------------------------------------------------------
add.php

<?
$comentario=$_POST['comentario1'] ;
$nombr=$_POST['nombre'];



/* COMILLAS Y OTROS */
/* se reemplazan las comillas y otros simbolos mediante la función eregi_replace que busca una cadena en otra, y l reemplaza por una tercera (ver Manejo de cadenas de Texto) */
$coment=eregi_replace('\\\"',""",$comentario);
$coment2=eregi_replace("\\\'","'",$coment);
$coment3=eregi_replace("<","<",$coment2);
$coment4=eregi_replace(">",">",$coment3);
/* reemplazo los saltos de carro por la etiqueta <br>, de lo contario al ingresar los datos en el archivo, se me generan saltos de carfro que provocan errores al leer el archivo */
$coment5=eregi_replace("<br>","<br>",$coment4);



$comentfinal=$coment5;




?>

<?php
/* con esta funcion se formatea la fecha al castellano */
function calcula_fecha()
{
/* consultar la funcion date en www.php.net/manual/es/ */
$dia = date ("d"); /* obtiene el número del día del mes */
$me = date ("m"); /* obtiene el número del mes */
$agno = date ("Y"); /* obtiene el año con 4 cifras */
$mes=""; /* se inicia la variable $mes vacía */
/* mediante una serie de if se obtiene el mes en castellano, la funcion date puede obtener el nombre del mes, pero lo hace en inglés */
if($me=="01") $mes="enero";
if($me=="02") $mes="febrero";
if($me=="03") $mes="marzo";
if($me=="04") $mes="abril";
if($me=="05") $mes="mayo";
if($me=="06") $mes="junio";
if($me=="07") $mes="julio";
if($me=="08") $mes="agosto";
if($me=="09") $mes="septiembre";
if($me=="10") $mes="octubre";
if($me=="11") $mes="noviembre";
if($me=="12") $mes="diciembre";
/* se arma la cadena con la fecha */
$cadena = "$dia de ";
$cadena .= "$mes de ";
$cadena .= "$agno";
return $cadena; /* se devuelve la cadena con la fecha */
}

$fecha = calcula_fecha(); /* se guarda en el valor de la funcion calcula_fecha() en la variable $fecha */
?>

<?php
$datos .= "$nombr|$comentfinal|$fecha|\n";
?>

<?php
/* se genera un puntero que apunta al archivo libro en modalidad de agregar al final "a" */
$archivo = fopen("arreglo.txt", "a");
if (!$archivo) /* si no se puede abrir el archivo reclama */
{
echo "<center><h2>No se pudieron agregar los datos</h2></center>";
exit;
}
/* Se escriben los datos */
fputs($archivo, $datos); /* fputs, escribe una cadena en el puntero indicado ($archivo) */
fclose($archivo); /* se cierra el archivo */
?>
----------------------------------------------------------------