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º:<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($abre, filesize($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)=="")? 1 : (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