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
<?php
$strArchivo = "archivo.txt";
$strPassword = "contraseña";
$postTexto = $_POST["Texto"];
$postPassword = $_POST["Password"];
$intAction = $_POST['act'];
if ($intAction == 1 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 ($fp, filesize ($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>";
?>
tambien puedes ver el code del easynews es parecido a lo que quieres
http://piensaenphp.com/redmx/easynews.htm
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.
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.
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
<?php
$strArchivo = "archivo.txt";
$strPassword = "contraseña";
$postTexto = $_POST["Texto"];
$postPassword = $_POST["Password"];
$intAction = $_POST['act'];
if ($intAction == 1 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 ($fp, filesize ($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>";
?>
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?
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.
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?
alguna idea?
Si escribieras tu mensaje correctamente y con un contexto que se pudiera entender te respondería...
lo que me jode es la incompatibilidad del codigo en los moviles.
como podriamos hacerlo mediante un botom submit, claro que el anterior 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>
<input type=\"Submit\" value=\"Guardar\">
</form>";
tampoco funcionaba en celulares
ni este otro del link (java script)
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>";
?>
Busca un poco http://www.google.es/search?hl=es&q=formulario+wap .