Foros del Web » Programando para Internet » PHP »

Editor en Textarea

Estas en el tema de Editor en Textarea en el foro de PHP en Foros del Web. Hola a Todos! En mi web tengo 3 archivos llamados archivo1.txt, archivo2.txt, archivo3.txt. Y tengo este script: Este es el editor.php Código PHP: <?  $fichero  ...
  #1 (permalink)  
Antiguo 03/01/2013, 20:30
 
Fecha de Ingreso: mayo-2012
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 11 años, 11 meses
Puntos: 0
Editor en Textarea

Hola a Todos!

En mi web tengo 3 archivos llamados archivo1.txt, archivo2.txt, archivo3.txt.

Y tengo este script:


Este es el editor.php
Código PHP:
<? 

$fichero 
"archivo.txt";
$texto $_POST["texto"];
if(
$texto != ''){
   if(
$fp fopen($fichero,"w+")){
      
fwrite($fp,stripslashes($texto));
      echo 
'Archivo modificado<br><br>';
   }
   
fclose($fp);
}
$fp fopen($fichero,"r"); 
$contenido fread ($fpfilesize ($fichero));
fclose($fp);


echo 
"<form method=\"POST\"><textarea name=\"texto\">$contenido</textarea><br><input type=\"Submit\" value=\"Guardar\"></form>";
?>
Este es el index.php
Código PHP:
<form name="form1" method="post" action="editor.php">
Editar
  <
input id="editname" name="editname" type="text" />
  <
br>
  <
br>
<
input type="submit" name="button" id="button" value="Enviar">
</
form
Simplificando este script abre el archivo.txt en un textarea y podemos editar su contenido y luego guardar lo que editamos. Lo que yo quiero es que pueda seleccionar mas de un archivo a editar.

Por ejemplo si quiero editar el archivo1.txt seleccione o escriba en un formulario su name y lo pueda editar y guardar.

Probe cambiando:

Código PHP:
$fichero $_POST["editname"]; 
Pero luego no puedo guardarlo.

Alguna ayuda.


Gracias
  #2 (permalink)  
Antiguo 03/01/2013, 20:49
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Editor en Textarea

En el formulario de edición debes tener también el nombre de archivo. Con un campo oculto bastará.

Solo ten cuidado con las extensiones y filtra que no permita escribir en otros directorios.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 04/01/2013, 06:12
 
Fecha de Ingreso: mayo-2012
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Editor en Textarea

no entendi lo del campo oculto. Aun no soy avanzadoen php. Podrias explicarme? Gracias
  #4 (permalink)  
Antiguo 04/01/2013, 09:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Editor en Textarea

Un campo oculto es un campo que no se imprime en HTML, pero que sí se envía al servidor, ej:
Código HTML:
Ver original
  1. <input type="hidden" name="archivo_a_modificar" value="archivo1.txt">

En tu HTML no vas a ver nada, pero en tu PHP var a recibir $_POST['archivo_a_modificar'], es una forma muy común de pasar variables al servidor que no quieres que se impriman en el HTML.

Saludos.
  #5 (permalink)  
Antiguo 04/01/2013, 13:49
 
Fecha de Ingreso: mayo-2012
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Editor en Textarea

Perfecto, muchisimas gracias eso ya pude.

Pero ahora tengo problema al guardar, me dice:

Código PHP:
Ver original
  1. Warning: fclose(): supplied argument is not a valid stream resource in C:\AppServ\www\EDITOR\editor.php on line 10
  2.  
  3. Warning: fread(): supplied argument is not a valid stream resource in C:\AppServ\www\EDITOR\editor.php on line 13
  4.  
  5. Warning: fclose(): supplied argument is not a valid stream resource in C:\AppServ\www\EDITOR\editor.php on line 14

Por lo que veo es que no sabe en que archivo guardarlo. Osea que no queda guardado el nombre del archivo que seleccionamos anteriormente.

Ahora mi formulario quedo asi:

Código PHP:
Ver original
  1. <form name="form1" method="post" action="editor.php">
  2. Editar:  Archivo2.txt
  3. <input type="hidden" name="editname" value="archivo2.txt">
  4.  
  5.   <br>
  6.   <br>
  7. <input type="submit" name="button" id="button" value="Enviar">
  8. </form>
  9. <form name="form1" method="post" action="editor.php">
  10. Editar:  Archivo1.txt
  11. <input type="hidden" name="editname" value="archivo1.txt">
  12.  
  13.   <br>
  14.   <br>
  15. <input type="submit" name="button" id="button" value="Enviar">
  16. </form>

y el script:

Código PHP:
Ver original
  1. <?
  2.  
  3. $fichero = $_POST["editname"];
  4. $texto = $_POST["texto"];
  5. if($texto != ''){
  6.    if($fp = fopen($fichero,"w+")){
  7.       fwrite($fp,stripslashes($texto));
  8.       echo 'Archivo modificado<br><br>';
  9.    }
  10.    fclose($fp);
  11. }
  12. $fp = fopen($fichero,"r");
  13. $contenido = fread ($fp, filesize ($fichero));
  14. fclose($fp);
  15.  
  16.  
  17. echo "<form method=\"POST\"><textarea name=\"texto\">$contenido</textarea><br><input type=\"Submit\" value=\"Guardar\"></form>";
  18. ?>

Gracias

Última edición por CeKiT; 04/01/2013 a las 14:00
  #6 (permalink)  
Antiguo 04/01/2013, 14:34
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Editor en Textarea

No me refería a ese formulario, me refería al formulario de edición, ese que imprimes con echo en la línea 17, allí necesitas colocar en un campo oculto el nombre del archivo que se está editando.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 04/01/2013, 19:25
 
Fecha de Ingreso: mayo-2012
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Editor en Textarea

Y como lo pongo. Asi:

<input type="hidden" name="editname" value="$fichero">

PD: No lo probe por que no estoy en mi casa. Pero pongo asi?
  #8 (permalink)  
Antiguo 04/01/2013, 19:57
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Editor en Textarea

Sí, eso debería funcionar.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 04/01/2013, 21:12
 
Fecha de Ingreso: mayo-2012
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Editor en Textarea

Mañana prueba cuando este en mi casa. Muchas gracias. Cualquier cosa pregunto aqui.

Etiquetas: editor, formulario, textarea
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 09:04.