Zona editabel por el usuario en un sitio web

Tengo un sitio web sencillo, diseñado en html con ayuda de dreamweaver.
Quisiera incluir un sector (una página) con contenido que pueda ser editable por el usuario (previa validación de identidad). O sea, que determinado texto, el usuario pueda bajarlo, cambiarlo total o parcialmente, y volverlo a colocar en su lugar, todo sin necesidad de tener conocimientos de manejo de clientes ftp ni programación.
Tengo conocimientos básicos de php, pero lamentablemente, no mucho.

1 respuesta

Respuesta
1
Para hacer esto, debes tener una página donde editar el contenido.
Ese contenido puede estar en una área de texto de un formulario, por ejemplo:
<form action="guardar.php" method="post">
<textarea name="contenido" cols="40" rows="10">Texto a editar</textarea>
</form>
Cuando envíes el formulario, en la página 'guardar.php' recuperas el texto editado con $_POST["contenido"] y lo guardas en alguna parte: o en una base de datos o en un fichero.
Luego debes tener una página de visualización, donde recuperarás el texto de la base de datos o del fichero y lo mostrarás. Por ejemplo:
<p>Su trozo de pagina</p>
<p><?php echo $contenidodelfichero; ?></p>
Ahora debes adaptar el ejemplo a tu caso particular, pero esta es la línea a seguir.
Valoro tu velocidad de respuesta pero me cuesta un poco aplicar lo que me decís
se debe seguramente a mi pobre espertise en php
si me enviaras un ejemplo completo, o me dijeras de donde obtenerlo, o me lo subieras a un ftp, yo podría verlo y adaptarlo.
Te doy un ftp donde subir lo que me puedas mandar:
ftp.ftpgear.com.ar 
usuario: usuario1
clave: claveusuario1
ponelo en la carpeta que te parezca. Si me subis ahí un ejemplo comleto, yo lo adapto.
Disculpá el atrevimiento.
fernando
A los trozos de código que ya te he dado, tendrías que añadir la parte de almacenarlo en una base de datos o fichero. No me has dicho si tienes una base de datos disponible, aunque normalmente si tienes PHP tendrás MySQL.
Aquí encontrarás ejemplos de cómo gestionar la base de datos:
http://es2.php.net/manual/es/function.mysql-query.php
http://es2.php.net/manual/es/function.mysql-insert-id.php
Muy bien, sólo que no sé cual es la función para insertar en un archivo txt por ejemplo, el texto subido
Aquí tienes un código para escribir en un fichero txt:
<?php
$nombre_archivo = 'prueba.txt';
$contenido = "Agregar esto al archivo\n";
// Asegurarse primero de que el archivo existe y puede escribirse sobre él.
if (is_writable($nombre_archivo)) {
// En nuestro ejemplo estamos abriendo $nombre_archivo en modo de adición.
// El apuntador de archivo se encuentra al final del archivo, así que
// allí es donde irá $contenido cuando llamemos fwrite().
if (!$gestor = fopen($nombre_archivo, 'a')) {
echo "No se puede abrir el archivo ($nombre_archivo)";
exit;
}
// Escribir $contenido a nuestro arcivo abierto.
if (fwrite($gestor, $contenido) === FALSE) {
echo "No se puede escribir al archivo ($nombre_archivo)";
exit;
}
echo "Éxito, se escribió ($contenido) al archivo ($nombre_archivo)";
fclose($gestor);
} else {
echo "No se puede escribir sobre el archivo $nombre_archivo";
}
?>
David: son increíbles los progresos que he hecho con tu ayuda. En ftp.fernandofeliu.com.ar usuario: fernand1; clave: fernand1, está el resultado hasta ahora. Como podrás ver, aún no logro que el texto incluido en el formulario, y escrito en el .txt con éxito, se visualice en el formulario en el momento de abrirlo. Sé que estoy cerca. ¿Podrías darme una mano?
fernando
He comprobado lo que has hecho y... funciona.
Escribo un texto en el formulario de index.php, lo envío y me dice que ese texto se ha guardado correctamente.
Después voy a ver-texto.php y me aparece el texto que había escrito antes.
Así que para mi funciona. No sé qué inconveniente tiene.
Si, david, tal cual tu lo dices, funciona. Y es gracias a tus consejos!
Sólo le falta un pequeño detalle: quisiera que al abrir el formulario (http://www.fernandofeliu.com.ar/index.php), en vez de aparecrer la frase "pegar aquí el texto" aparezca directamente el último texto subido. Así se puede visualizar lo que está cargado y el efecto es de "edición" y no de cargar un texto nuevo.
O sea: yo quiero que dentro del área de texto del formulario aparezca el texto almacenado en el archivo .txt para poder trabajar sobre él directamente.
Te agradezco mucho la molestia que te has tomado.
fernando
En ese caso, debes hacer lo mismo que hacer en ver-texto: leer del fichero y mostrarlo en el área de texto, así:
<form action="guardar.php" method="post">
<textarea name="contenido" cols="100" rows="35">
<?php $archivo = file("prueba.txt"); $lineas = count($archivo); for($i=0; $i < $lineas; $i++){ echo $archivo[$i];
}
?>
</textarea>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas