Foros del Web » Programando para Internet » PHP »

Escribir un archivo de texto

Estas en el tema de Escribir un archivo de texto en el foro de PHP en Foros del Web. Hola señores En primer lugar no soy programador PHP, por eso solicito ayuda. Hace un tiempo atras encontre un tutorial que explicaba como escribir archivos ...
  #1 (permalink)  
Antiguo 09/12/2006, 09:54
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Escribir un archivo de texto

Hola señores

En primer lugar no soy programador PHP, por eso solicito ayuda.

Hace un tiempo atras encontre un tutorial que explicaba como escribir archivos de texto y me funciono muy bien. En ese entonces tenia en mi Mac instalado a PHP 4.2 y funcionaba bien. Escribir los textos y el envio de correos funcionaban sin problemas.

Ahora tengo a PHP 5 y los envios de correos funcionan sin problemas, pero cuando recurri al tutorial de escribir textos nuevamente porque quiero crear un formulario donde la gente se añada a un listado de correos y esos correos se recopilen en un archivo de texto (no quiero MySQL), el formulario no hizo nada. Incluso debiera luego de terminar con el PHP, regresar al formulario original y sin embargo no lo hace, sino que se queda en el PHP.

Pense que seria PHP 5 mi problema, asi que lo subi a mi servidor (que tiene 4.2) y sin embargo hace lo mismo. Pueden ver por ustedes mismos el formulario aqui.

Este es el codigo del PHP, que escribi en base al tutorial:

Código PHP:
<?php

// Declaramos las variables 
$correoToAdd $_POST["AgregarCorreo"];
$correosDataTxt "txtCorreos.txt"
$thanksURL "index.html";

// Abrimos el archivo en modo de agregar
$escribirArchivo fopen($correosDataTxt,"a");

// Agregamos el correo nuevo
$dataEscribir ",,".$correoToAdd.",\n";
fputs($escribirArchivo,$dataEscribir); 

// Cerramos el archivo 
fclose($escribirArchivo);
header("Location: $thanksURL");

?>
La idea con esta prueba es que el formulario (que es el index.html) luego de terminar con la aplicacion PHP se vuelva a mostrar, para ver el correo agregado en el archivo de texto via un iframe que puse con esa intencion.

Tienen alguna idea ???
Esta mal escrito ese PHP y de estarlo me harian el favor de corregirlo ???

Les agraderia cualquier ayuda que me puedan dar.

Un detalle extra, me asegure bien de que el PHP y el archivo de texto tuvieran permisos de lectura y escritura, tanto local en mi Mac como en mi servidor remoto.
__________________
JuniHH
- Mi blog
- Mi portafolio
  #2 (permalink)  
Antiguo 09/12/2006, 10:09
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
Re: Escribir un archivo de texto

Prueba a cambiar
Código PHP:
header("Location: $thanksURL"); 
por
Código PHP:
header('Location: $thanksURL'); 
o mejor por
Código PHP:
header("Location: ./index.html"); 
a ver si asi va bien.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 09/12/2006, 10:42
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Re: Escribir un archivo de texto

Hola Bytevamp

Gracias por tu pronta respuesta. Luego de lo que sugeriste, volvi al codigo a intentarlo y me encontre con que a "txtCorreos.txt" le falto un ";" al final. Una tonteria realmente.

El resto del codigo lo deje intacto (con cambios menores) y ahora si funciona como debe ser.

Gracias de todos modos por tu ayuda.
__________________
JuniHH
- Mi blog
- Mi portafolio

Última edición por junihh; 09/12/2006 a las 11:38
  #4 (permalink)  
Antiguo 09/12/2006, 11:23
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Ahora me muestra basura y no regresa al formulario

Luego de gravar como debe ser el archivo de texto y de haber hecho varias pruebas localmente, volvi a subir al servidor el formulario, el PHP y el archivo de texto (todos con permiso de escritura).

Pues cuando trate de ingresar un nuevo correo, me mostro texto basura. Pueden intentarlo y ver lo que muestra aqui. Trate de poner aqui ese texto, pero no se que pasa que el post se corta a partir de ese codigo (asumo que sera algun codigo).

Eso lo muestra cuando debe regresar al formulario, aunque si añade el nuevo correo en el archivo de texto. Se queda estancado sin darme oportunidad a nada mas.

Este es el codigo PHP, tal cual esta actualmente:

Código PHP:
<?php

// Declaramos las variables 
$correoToAdd $_POST["AgregarCorreo"];
$correosDataTxt "txtCorreos.txt";
$thanksURL "index.html";

// Abrimos el archivo en modo de agregar
$escribirArchivo fopen($correosDataTxt,"a");

// Agregamos el correo nuevo
$dataEscribir "\n".",,".$correoToAdd.",";
fputs($escribirArchivo,$dataEscribir); 

// Cerramos el archivo 
fclose($escribirArchivo);
header("Location: ./index.html");

?>
Alguna idea sobre lo que esta suciendo aqui ???
__________________
JuniHH
- Mi blog
- Mi portafolio

Última edición por junihh; 09/12/2006 a las 11:34
  #5 (permalink)  
Antiguo 09/12/2006, 13:23
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Re: Escribir un archivo de texto

Alguna idea sobre lo que puede estar pasando ???
__________________
JuniHH
- Mi blog
- Mi portafolio
  #6 (permalink)  
Antiguo 09/12/2006, 14:19
 
Fecha de Ingreso: mayo-2006
Mensajes: 288
Antigüedad: 18 años
Puntos: 4
Re: Escribir un archivo de texto

Haz algunois cambios ok por ejemplo este:
reemplaza:
Código PHP:
 $dataEscribir "\n".",,".$correoToAdd.","
por:
Código PHP:
 $dataEscribir "\n,,".$correoToAdd.","
y tambien este:
Código PHP:
header("Location: ./index.html"); 
cambialo por:
Código PHP:
header("Location: ".$thanksURL); 
  #7 (permalink)  
Antiguo 09/12/2006, 14:38
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Re: Escribir un archivo de texto

Gracias por tu sugerencia netserver, pero aun persiste el problema.

El codigo luce asi ahora:

Código PHP:
<?php

// Declaramos las variables 
$correoToAdd $_POST["AgregarCorreo"];
$correosDataTxt "txtCorreos.txt";
$thanksURL "index.html";

// Abrimos el archivo en modo de agregar
$escribirArchivo fopen($correosDataTxt,"a");

// Agregamos el correo nuevo
$dataEscribir "\n,,".$correoToAdd.",";
fputs($escribirArchivo,$dataEscribir); 

// Cerramos el archivo 
fclose($escribirArchivo);
header("Location: ".$thanksURL);

?>
Creo que me voy a olvidar de eso y preferire que los correos se envien por senmail, que no tiene ningun problema.
__________________
JuniHH
- Mi blog
- Mi portafolio
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 10:12.