Foros del Web » Programando para Internet » PHP »

Saltar linea con codigo PHP

Estas en el tema de Saltar linea con codigo PHP en el foro de PHP en Foros del Web. Hola. Con ayuda de Pato 12, he logrado armar un formulario de pedidos mediante el cual las consultas se graben en el servidor en lugar ...
  #1 (permalink)  
Antiguo 05/11/2008, 12:56
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 6 meses
Puntos: 12
Saltar linea con codigo PHP

Hola. Con ayuda de Pato 12, he logrado armar un formulario de pedidos mediante el cual las consultas se graben en el servidor en lugar de enviarse a una direccion correo. El codigo que escribe el formulario es el siguiente:
Código HTML:
<body>
<form id="form1" name="form1" method="post" action="correo1.php"> 
  <p>Cliente N&ordm;:<br /> 
    <input name="name" type="text" id="name" />  
    <br />Agua Mineral:<br /> 
    <input name="coment" type="text" id="coment" />
  <p>Vino:<br />
    <input name="coment2" type="text" id="coment2" />
  </p>
  <p>Cerveza:<br />
    <input name="coment22" type="text" id="coment22" />
 
    <input type="submit" name="Submit" value="Enviar" />  
  </p>
</form>
</body>
</html> 
Por otro lado, la pagina correo1.php que es adonde envia el formulario tiene el siguiente codigo:
Código PHP:
<body>
<p>
  <?php 
/* ....................................... 
   :Codigo por Pato12 de forosdelweb.com : 
 .:         www.halfmusic.com.ar          :. 
*/ 
///////////// - CREAMOS UNAS FUNCIONES - //////////////////// 
function crear_archivo($a){ 
  
$abre =@fopen($a"a+");  
  @
fclose($abre);  
  return 
$abre

function 
escribir_archivo($a,$t,$f "w+"){ 
 
$abre = @fopen($a$f);  
 
$escribir = @fwrite($abre$t);  
 
fclose($abre); 
 return 
$escribir

function 
ver_archivo($a){ 
  
$abre =@fopen($a"r+"); 
  
$total=@fread($abrefilesize($a));  
  
fclose($abre);  
  return 
$total

function 
filtrar($texto){ 
return 
trim(nl2br(addslashes(htmlentities(strip_tags($texto))))); 

///////////////////////////////// 
if($_POST){ 
///////////////////////////////// 
$informacion="info.dat"// NOMBRE DEL ARCHIVO DE INFORMACION 
$archivos="clientes-%s.txt"// NOMBRE DE LOS ARCHIVOS. PONER %s DONDE VA EL NUMERO 
$contenido="Cliente: ".filtrar($_POST['name']).
"Agua Mineral: ".filtrar($_POST['coment']).
"Vino: ".filtrar($_POST['coment2']).
"Cerveza: ".filtrar($_POST['coment22']); // CONTENIDO A ESCRIBIR 
if(!file_exists($informacion)) 
crear_archivo($informacion); 
$datos=ver_archivo($informacion); 
///////////////////////////////// 
$sep=explode("\n",$datos); 
$total=(ver_archivo($informacion)=="")? : (count($sep))+1
///////////////////////////////// 
foreach($sep as $se){ 
$sub=split(":",$se); 
$ip=$sub[0]; 
$numero=$sub[1]; 
if(
$_SERVER['REMOTE_ADDR']==$ip){ 
$nombre=sprintf($archivos,$numero); 
escribir_archivo($nombre,"\n".$contenido,"a+"); 
break; 
}else{ 
$nombre=sprintf($archivos,$total); 
crear_archivo($nombre); 
escribir_archivo($nombre,"\n".$contenido,"a+"); 
$salto=(ver_archivo($informacion)!="")? "\n" ""
escribir_archivo($informacion,$salto.$_SERVER['REMOTE_ADDR'].":".$total,"a+"); 
break; 


///////////////////////////////// 

?> 
</p>
<p>SU PEDIDO FUE RECIBIDO </p>
</body>
</html>
Sucede que haciendolo de esta forma en el txt me aparecen todos los articulos pegados. Yo necesito que aparezca uno por linea. Ya he buscado en el foro y vi que es una funcion...algo asi de nl2br, pero he tratado de incluirla y me tira error el PHP.
Alguien sabria decirme de que forma deberia poner la funcion o como hacer para lograr un salto de linea en PHP entre los diferentes articulos?
Muchas Gracias
  #2 (permalink)  
Antiguo 05/11/2008, 13:16
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Saltar linea con codigo PHP

Hola

intenta usando

"\r\n"

en vez de solo \n o simplemente <br />

Un saludo
  #3 (permalink)  
Antiguo 05/11/2008, 13:25
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Saltar linea con codigo PHP

Gracias por tu respuesa...pero en que parte deberia poner ese codigo para que haga el salto de linea? Eso es lo que no comprendo...cada vez que lo pongo me tira error de PHP en la linea de las variables. Sabrias decirme como hago?
Gracias
  #4 (permalink)  
Antiguo 05/11/2008, 13:39
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Saltar linea con codigo PHP

Hola

Postea el error completo

Un saludo
  #5 (permalink)  
Antiguo 05/11/2008, 13:47
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Saltar linea con codigo PHP

Este es el codigo de correo1.php con esto "\r\n" agregado:
Código PHP:
<p>
  <?php 
/* ....................................... 
   :Codigo por Pato12 de forosdelweb.com : 
 .:         www.halfmusic.com.ar          :. 
*/ 
///////////// - CREAMOS UNAS FUNCIONES - //////////////////// 
function crear_archivo($a){ 
  
$abre =@fopen($a"a+");  
  @
fclose($abre);  
  return 
$abre

function 
escribir_archivo($a,$t,$f "w+"){ 
 
$abre = @fopen($a$f);  
 
$escribir = @fwrite($abre$t);  
 
fclose($abre); 
 return 
$escribir

function 
ver_archivo($a){ 
  
$abre =@fopen($a"r+"); 
  
$total=@fread($abrefilesize($a));  
  
fclose($abre);  
  return 
$total

function 
filtrar($texto){ 
return 
trim(nl2br(addslashes(htmlentities(strip_tags($texto))))); 

///////////////////////////////// 
if($_POST){ 
///////////////////////////////// 
$informacion="info.dat"// NOMBRE DEL ARCHIVO DE INFORMACION 
$archivos="clientes-%s.txt"// NOMBRE DE LOS ARCHIVOS. PONER %s DONDE VA EL NUMERO 
$fecha=strftime"%Y-%m-%d-%H-%M-%S"time() );
$contenido="Cliente: ".filtrar ($_POST['name']). "\r\n" 
  " * Agua Mineral: "
.filtrar($_POST['coment']). "\r\n"
  " * Vino: "
.filtrar($_POST['coment2']). "\r\n"
  " * Cerveza: "
.filtrar ($_POST['coment22']); // CONTENIDO A ESCRIBIR 
if(!file_exists($informacion)) 
crear_archivo($informacion); 
$datos=ver_archivo($informacion); 
///////////////////////////////// 
$sep=explode("\n",$datos); 
$total=(ver_archivo($informacion)=="")? : (count($sep))+1
///////////////////////////////// 
foreach($sep as $se){ 
$sub=split(":",$se); 
$ip=$sub[0]; 
$numero=$sub[1]; 
if(
$_SERVER['REMOTE_ADDR']==$ip){ 
$nombre=sprintf($archivos,$numero); 
escribir_archivo($nombre,"\n".$contenido,"a+"); 
break; 
}else{ 
$nombre=sprintf($archivos,$total); 
crear_archivo($nombre); 
escribir_archivo($nombre,"\n".$contenido,"a+"); 
$salto=(ver_archivo($informacion)!="")? "\n" ""
escribir_archivo($informacion,$salto.$_SERVER['REMOTE_ADDR'].":".$total,"a+"); 
break; 


///////////////////////////////// 

?> 
</p>
<p>SU PEDIDO FUE RECIBIDO </p>
</body>
y este es el error que arroja:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/pf000396/public_html/arise/correo1.php on line 43
Sabes que deberia corregir?
  #6 (permalink)  
Antiguo 05/11/2008, 13:52
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Saltar linea con codigo PHP

Cual es la linea 43??

Un saludo
  #7 (permalink)  
Antiguo 05/11/2008, 13:55
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Saltar linea con codigo PHP

Por aca es por donde esta el error yo creo...antes de agregar "\r\n" al final de cada linea funcionaba todo.

Código PHP:
42  $contenido="Cliente: ".filtrar ($_POST['name']). "\r\n" 
43   " * Agua Mineral: ".filtrar($_POST['coment']). "\r\n"
44  " * Vino: ".filtrar($_POST['coment2']). "\r\n"
45  " * Cerveza: ".filtrar ($_POST['coment22']); // CONTENIDO A ESCRIBIR 
  #8 (permalink)  
Antiguo 05/11/2008, 14:00
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: Saltar linea con codigo PHP

tienes que seguir concatenando con puntos, creo que sera eso.
Código PHP:
42  $contenido="Cliente: ".filtrar ($_POST['name']). "\r\n".  
43   " * Agua Mineral: ".filtrar($_POST['coment']). "\r\n"
44  " * Vino: ".filtrar($_POST['coment2']). "\r\n" .
45  " * Cerveza: ".filtrar ($_POST['coment22']); // CONTENIDO A ESCRIBIR 
  #9 (permalink)  
Antiguo 05/11/2008, 14:05
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Saltar linea con codigo PHP

Era eso nomas. Muchas gracias por tu ayuda
  #10 (permalink)  
Antiguo 06/11/2008, 10:18
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 16 años, 6 meses
Puntos: 25
Respuesta: Saltar linea con codigo PHP

hay varias formas de saltar una linea esta nl2br($string); y el \n que se debe colocar con comillas dobles ejemplo

echo "mira mi salto de linea\n";
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #11 (permalink)  
Antiguo 10/12/2009, 17:00
 
Fecha de Ingreso: marzo-2009
Mensajes: 2
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Saltar linea con codigo PHP

Saludos. diganme, ese script, te lo guarda por defecto en el directorio donde esta la pagina.php, pero si quiero guardarlo en otro directorio, como hago para que me salga la clasica pregunta, Desea Guardar, como ? y elegir donde quiero que se guarde.
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 12:58.