Editar y modificar archivos de texto desde php

Iniciado por drakolive, 2 Agosto 2007, 18:00 PM

0 Miembros y 1 Visitante están viendo este tema.

drakolive

Tengo un problema con este codigo para leer y modificar archivos txt o ini desde php

<?

$fichero = "miarchivo.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 ($fp, filesize ($fichero));
fclose($fp);


echo "<form method=\"POST\"><textarea name=\"texto\">$contenido</textarea><br><input type=\"Submit\" value=\"Guardar\"></form>";
?>

Mi problema esta en para insertarle un texto de password donde si es correcto guarde el archivo de lo contrario muestre un error al guardar el archivo...

y quiero que no tenga este botom "Guardar", sino un link que realize la misma funcion que este botom.
echo "<form method=\"POST\"><textarea name=\"texto\">$contenido</textarea><br><input type=\"Submit\" value=\"Guardar\"></form>";

Espero su ayuda.. gracias

yeikos

#1
Código (php) [Seleccionar]
<?php

$strArchivo 
"archivo.txt";
$strPassword "contraseña";

$postTexto $_POST["Texto"];
$postPassword $_POST["Password"];
$intAction $_POST['act'];

if (
$intAction == and $postPassword==$strPassword) {

if($fp fopen($strArchivo,"w+")){
fwrite($fp,stripslashes($postTexto));
fclose($fp);
} else {
die("Error de escritura");
}
   
if($fp fopen($strArchivo,"r")) {
if (filesize ($strArchivo) > 0) {
$strContenido fread ($fpfilesize ($strArchivo));
}
fclose($fp);
} else {
die("Error de lectura");
}

echo "<b><font color=\"lime\">Archivo modificado</font></b> <br><br>";

} elseif (!empty(
$intAction)) {
echo "<b><font color=\"red\">Contraseña incorrecta</font></b> <br><br>";
}

echo 
"<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">
<input type=\"hidden\" name=\"act\" value=\"1\">
Password:<br> <input type=\"password\" name=\"Password\" value=\"
$postPassword\"><br><br>
Texto: <br><textarea name=\"Texto\">
$strContenido</textarea><br>
<a href=\"javascript:document.forms[0].submit()\">Guardar</a>
<!-- <input type=\"Submit\" value=\"Guardar\"> -->
</form>"
;

?>

Red Mx

Desarrollar Malware Es Causa De Cancer...

drakolive

Gracias Yeikos y RedMX pero tengo un inconveniente.. todo bien pero deberia mostrar cada ves el archivo guardado ...
estoy viendo como hacer eso...
asi cmo el anterior... la contraseña es solo para modificar.

yeikos

Se un poco más expresivo...

Quieres que al visitar la página web se muestre el contenido del archivo y que para poder modificarlo primero se deba escribir una contraseña, ¿no?

PD: El código actual muestra el contenido del archivo en el textarea.

drakolive

CitarQuieres que al visitar la página web se muestre el contenido del archivo y que para poder modificarlo primero se deba escribir una contraseña, ¿no?
Sii

yeikos

Código (php) [Seleccionar]
<?php
$strArchivo 
"archivo.txt";
$strPassword "contraseña";
 
$postTexto $_POST["Texto"];
$postPassword $_POST["Password"];
$intAction $_POST['act'];

if (
$intAction == and $postPassword==$strPassword) {
 
if($fp fopen($strArchivo,"w+")){
fwrite($fp,stripslashes($postTexto));
fclose($fp);
} else {
die("Error de escritura");
}
 
echo "<b><font color=\"lime\">Archivo modificado</font></b> <br><br>";
 
} elseif (!empty(
$intAction)) {
echo "<b><font color=\"red\">Contraseña incorrecta</font></b> <br><br>";
}
 
if(
$fp fopen($strArchivo,"r")) {
if (filesize ($strArchivo) > 0) {
$strContenido fread ($fpfilesize ($strArchivo));
}
fclose($fp);
} else {
die("Error de lectura");
}

echo 
"<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">
<input type=\"hidden\" name=\"act\" value=\"1\">
Password:<br> <input type=\"password\" name=\"Password\" value=\"
$postPassword\"><br><br>
Texto: <br><textarea name=\"Texto\">
$strContenido</textarea><br>
<a href=\"javascript:document.forms[0].submit()\">Guardar</a>
<!-- <input type=\"Submit\" value=\"Guardar\"> -->
</form>"
;
?>

drakolive

Gracias...
Una ultima consulta...
Cuando intento abrir la pagina desde un celular ... me da un error ... (se qyue es el celular)
creo que el problema esta aqui:

echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">
<input type=\"hidden\" name=\"act\" value=\"1\">
Password:<br> <input type=\"password\" name=\"Password\" value=\"$postPassword\"><br><br>
Texto: <br><textarea name=\"Texto\">$strContenido</textarea><br>
<a href=\"javascript:document.forms[0].submit()\">Guardar</a>
<!-- <input type=\"Submit\" value=\"Guardar\"> -->


puede hber otra manera de lograr eso... para q sea compatible?

yeikos

Posiblemente el navegador del móvil no soporte javascript, así que tendrás que recurrir al botón submit...

Citarecho "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">
<input type=\"hidden\" name=\"act\" value=\"1\">
Password:<br> <input type=\"password\" name=\"Password\" value=\"$postPassword\"><br><br>
Texto: <br><textarea name=\"Texto\">$strContenido</textarea><br>
<input type=\"Submit\" value=\"Guardar\">
</form>";

PD: Si escribes el error la próxima vez quizás nos facilites un poco más el trabajo.

drakolive

si creo que es eso en el caso de los celulares...
lo que no se es como originar todo ese proceso se actualizacion y carga de los post que realiza todo este lio al presionar guardar.. para lograrlo con el botom de un simple Submit
¿Como cambiarlo?