• Viernes 19 de Abril de 2024, 05:41

Autor Tema:  Actualizar txt desde form ASP  (Leído 4160 veces)

seresac

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Actualizar txt desde form ASP
« en: Martes 21 de Octubre de 2008, 16:54 »
0
Hola,
estoy intentado actualizar un archivo .txt desde un formulario pero de momento no lo consigo. Se trata de que el texto introducido en el form sobreescriba el contenido del txt. Mas que nada porque ese txt alimenta el contenido de un flash

pongo aqui el código por si alguien me quiere echar una mano

form-actualizar.html

<form method="post" action="actualizar.asp">

<label>actualizar datos<br />
<textarea name="text" cols="50" rows="10"></textarea>
</label>
<br />
<br />
<input type="submit" value="Enviar" />
</form>

actualizar.asp
<%

text= Request.Form("text")
set fs = createobject("scripting.filesystemobject")

set wfile = fs.opentextfile("/asp/writefile.txt", ForWriting)
wfile.writeline (text)

wfile.close
set wfile=nothing
set fs=nothing

response.write("txt actualizado")
%>

<h1><div align="center">txt Actualizado</div></h1>

<div align="center"><a href="leer.asp">Visualizar el contenido del txt</a></div>

y para leer el contenido de ese txt uso el siguiente código (que si funciona)

leer.asp

<%
set fs = createobject("scripting.filesystemobject")
filename=server.mappath("/asp/writefile.txt")
set readfile=fs.opentextfile(filename,1,false)
do until readfile.atendofstream
text=readfile.readline
if text="" then
response.write "<p>"
else
response.write text
end if
loop
readfile.close
set readfile=nothing
%>

El error
el error que me da es el siguiente

Error de Microsoft VBScript en tiempo de ejecución error '800a0005'
Argumento o llamada a procedimiento no válidos
/asp/actualizar.asp, línea 9

Y la línea 9 es esta --> set wfile = fs.opentextfile("/asp/writefile.txt", ForWriting)

alguien me puede ayudar?  :(  :(

Saludos

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Actualizar txt desde form ASP
« Respuesta #1 en: Martes 21 de Octubre de 2008, 17:15 »
0
Creo que tienes un problema con la ruta, ya que /asp/writefile.txt no es una ruta válida en Windows. Sustitúyela por server.mappath("/asp/writefile.txt"). Saludos.

seresac

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Actualizar txt desde form ASP
« Respuesta #2 en: Martes 21 de Octubre de 2008, 23:41 »
0
Gracias por contestar,

uhm... pues he modificado el código del actualizar.asp

<%

text= Request.Form("text")
set fs = createobject("scripting.filesystemobject")

filename=server.mappath("/asp/writefile.txt")
set wfile = fs.opentextfile(filename,1,ForWriting)

wfile.close
set wfile=nothing
set fs=nothing

%>

Ahora parece que funciona, pero cuando voy a ver el contenido del archivo .txt, resulta que no ha sobreescrito nada de nada  :huh:
he verificado los permisos del archivo de texto, son 666 (escritura y lectura) asi que no tendria que fallar  :hitcomp:

alguna idea?

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Actualizar txt desde form ASP
« Respuesta #3 en: Miércoles 22 de Octubre de 2008, 02:13 »
0
Código: Visual Basic
  1. <%
  2.  
  3. text= Request.Form("text")
  4. set fs = createobject("scripting.filesystemobject")
  5.  
  6. filename=server.mappath("/asp/writefile.txt")
  7. set wfile = fs.opentextfile(filename,1,ForWriting)
  8.  
  9. wfile.close
  10. set wfile=nothing
  11. set fs=nothing
  12.  
  13. %>
  14.  

ForWriting no esta definido
Por ninguna parte se ve en  donde  escribas el contenido del archivo

Prueba de esta manera a ver si te sirve... (no esta probado porque no tengo las herramientas por ahora :P)
Código: Visual Basic
  1. <%
  2. ' Const ForWriting = 8 'Declara la constante o utiliza el valor directo
  3.  
  4. text= Request.Form("text")
  5. set fs = createobject("scripting.filesystemobject")
  6.  
  7. filename=server.mappath("/asp/writefile.txt")
  8.  
  9. set wfile = fs.opentextfile(filename,1,8) 'ForWriting = 8
  10. wfile.write text   '<---- Escribir en el archivo
  11. wfile.close
  12.  
  13.  
  14. set wfile=nothing
  15. set fs=nothing
  16.  
  17. %>
  18.  

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

seresac

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Actualizar txt desde form ASP
« Respuesta #4 en: Miércoles 22 de Octubre de 2008, 13:43 »
0
hola, gracias por tu respuesta,

he probado lo que me comentabas y ahora me sale el siguiente error

Error de Microsoft VBScript en tiempo de ejecución error '800a0036'
Modo de archivo incorrecto
/asp/actualizar.asp, línea 15


y la línea 15 es -->  wfile.write text

que no puede escribir entiendo. He verificado los permisos del .txt y son 666 (lectura y escritura). En principio no tendria que fallar verdad?

Alguna idea?

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Actualizar txt desde form ASP
« Respuesta #5 en: Miércoles 22 de Octubre de 2008, 14:35 »
0
ForWriting es 2 y no 8

Código: ASP
  1.  
  2. set wfile = fs.opentextfile(filename,1,2)
  3.  
  4.  

Aquí tienes ejemplos y tutoriales de ASP:
http://www.w3schools.com/ASP/met_opentextfile.asp