Edit File

088777_

Registered
Имам проблем, а той е следния:

Warning: fopen() [function.fopen]: Filename cannot be empty in /home/a1562766/public_html/apedit.php on line 10

Warning: fwrite(): supplied argument is not a valid stream resource in /home/a1562766/public_html/apedit.php on line 11

Warning: fclose(): supplied argument is not a valid stream resource in /home/a1562766/public_html/apedit.php on line 12

Файлове:

apedit.php

Код:
<?php
session_start();
if (!isset($_SESSION['login'])) {
header("Location: ../admin/index.php");
}
?>
<?php
include("connect.php");
$text = $_POST['text'];
$fp = fopen("$file", "w");
fwrite($fp, $_POST['text']);
fclose($fp);
?>

apedit1.php

Код:
<?php
session_start();
if (!isset($_SESSION['login'])) {
header("Location: ../admin/index.php");
}
?>
<link href="codes/mstyle.css" rel="stylesheet" type="text/css" />
<?php
include("connect.php"); {
$file = $_SERVER['HTTP_REFERER'];
$file1 = explode($file, '/');
$cont = file_get_contents($file);
echo "<div align='center'>Промяна на (<b>$file</b>)</div><br><form action='apedit.php' method='post'><div align='center'>
<textarea cols='100' rows='100' name='text'>$cont</textarea></div>
<br><div align='center'><input type='submit' value='Промени' class='edw'></form></div>";
}
?>

Как да оправя проблема? +1
 
apedit.php
Код:
<?php
session_start();
if (!isset($_SESSION['login'])) {
header("Location: ../admin/index.php");
}
?>
<?php
include("connect.php");
$text = $_POST['text'];
$file = 'file.txt';
$fp = fopen("$file", "w");
fwrite($fp, $_POST['text']);
fclose($fp);
?>
я пробвай така, не съм сигурен но пробвай. И преди това създай в дирикторията файл file.txt
 
Искам да промени кода на страницата, от която е влязъл в apedit1.php и с натискане на бутона "Промени" да прехвърли данните към apedit.php и от там да се запазят промените по страницата. Затова ползвам "$_SERVER['HTTP_REFERER']" ;).
 
Ааа, ми защо не го направиш направо с името на страницата ами с реферер
 
Защото на всяка страница, която може да се промени съм сложил линк към apedit1.php, на която има една textarea, в която ще излиза кода от страницата, от която си влязал. Като промениш нещо и натиснеш бутона "Промени", трябва страницата да се промени с промените, които си направил. Затова ползвам реферер кода.
 
Аа оки. Ми не мога да ти помогна тука. Малко съм на Вие с тези fopen, fclose, fwrite... :)
 
оставаше и да работи :lol:
apedit...
Код:
<?php
session_start();
if (!isset($_SESSION['login'])) {
header("Location: ../admin/index.php");
}
?>
<link href="codes/mstyle.css" rel="stylesheet" type="text/css" />
<?php
include("connect.php"); {
$file = $_SERVER['HTTP_REFERER'];
$file1 = end(explode("/", $file);
$cont = file_get_contents($file);
echo "<div align='center'>Промяна на (<b>$file</b>)</div><br><form action='apedit.php' method='post'><div align='center'>
<textarea cols='100' rows='100' name='text'>$cont</textarea></div>
<br><div align='center'><input type='submit' value='Промени' class='edw'></form></div>";
}
?>
1. обърнал си параметрите на explode 2. подаваш масив на file_get_...
 
сега ме разби :D :D
огледах ти кода

apedit.php

Код:
<?php
session_start();
if (!isset($_SESSION['login'])) {
header("Location: ../admin/index.php");
}

include("connect.php");

$file = $_POST['file'];
$fp = fopen($file, "w");
fwrite($fp, $_POST['text']);
fclose($fp);
?>

apedit1.php

Код:
<?php
session_start();
if (!isset($_SESSION['login'])) {
header("Location: ../admin/index.php");
}
?>
<link href="codes/mstyle.css" rel="stylesheet" type="text/css" />
<?php
include("connect.php"); {
$file = $_SERVER['HTTP_REFERER'];
$file1 = end(explode("/", $file));
$cont = file_get_contents($file);
echo "<div align='center'>Промяна на (<b>$file</b>)</div><br><form action='apedit.php' method='post'>
<input type='hidden' name='file' value='$file1'>
<div align='center'>
<textarea cols='100' rows='100' name='text'>$cont</textarea></div>
<br><div align='center'><input type='submit' value='Промени' class='edw'></form></div>";
}
?>

в apedit търсиш име на файл, което никъде не задаваш
 
Съвсем се ******** всичко.. --> http://cstrikebg.comuv.com/ Виж..

П.П. Възстанових го. Проблема беше, че при промяната на всякъде се добавяше по едно "\".
 
да, слагаш stripslashes на $_POST['text']

Код:
<?php
session_start();
if (!isset($_SESSION['login'])) {
header("Location: ../admin/index.php");
}

include("connect.php");

$file = $_POST['file'];
$fp = fopen($file, "w");
fwrite($fp, stripslashes($_POST['text']));
fclose($fp);
?>
 
А ако имам например функцията

<?
include("style1.html");
?>

в някоя от страниците на сайта, какво да направя та да се покаже функцията в textarea, а не кода от style1.html? Това ще ми е много полезно, ако е възможно да се получи..
 
Код:
<textarea rows="40" cols="20"><?php echo file_get_contents("style1.htm"); ?></textarea>

Или аз не разбрах правилно?
 
raiden, не. :( Преди дни бях успял да го направя по този начин, но не работеше както трябва и се наложи да го променя на сегашния.. Има начин!
 

Горе