|
|
|
| люди помогите на денвере все работает а на хостинге показывает что все сохраненно но в config.php изменения не вносит
вот эти два файла options.php
include "config.php";
if ($_GET['page']=="save") {
print "
<form action=?page=config method=POST name=REPLIER>
<tr class='bg1'><td>Название Сайта:<br></td><td><input class='i1' name='title' size='40' value='$title'></td></tr><br>
<tr class='bg1'><td>Кодировка сайта:<br>
<select name=charset>
<option>UTF-8</option>
<option>windows-1251</option>
</select><small> Текущее $charset </small></td></tr><br>
<tr class='bg1'><td>Корпорация:<br></td><td><input class='i1' name='footer' size='40' value='$footer'></td></tr><br>
<tr class='bg1'><td>Почта Админа:<br></td><td><input class='i1' name='email_admin' size='40' value='$email_admin'></td></tr><br>
<tr class='bg1'><td>О Сайте:<br></td><td><input class='i1' name='about' size='40' value='$about'></td></tr><br>
<tr class='bg1'><td>Mysql хост :<br></td><td><input class='i1' name='mysql_host' size='40' value='$mysql_host'></td></tr><br>
<tr class='bg1'><td>Mysql логин:<br></td><td><input class='i1' name='mysql_user' size='40' value='$mysql_user'></td></tr><br>
<tr class='bg1'><td>Mysql пароль:<br></td><td><input class='i1' name='mysql_pass' size='40' value='$mysql_pass'></td></tr><br>
<tr class='bg1'><td>База Данных:<br></td><td><input class='i1' name='mysql_name' size='40' value='$mysql_name'></td></tr><br>
<div class=t><input class=i4 type=submit 'Save'></div></form>
";
exit;
}
if ($_GET['page']=="config") {
$configdata="<?
"."$"."title=\"".$_POST['title']."\";
"."$"."charset=\"".$_POST['charset']."\";
"."$"."footer=\"".$_POST['footer']."\";
"."$"."email_admin=\"".$_POST['email_admin']."\";
"."$"."about=\"".$_POST['about']."\";
"."$"."mysql_host=\"".$_POST['mysql_host']."\";
"."$"."mysql_user=\"".$_POST['mysql_user']."\";
"."$"."mysql_pass=\"".$_POST['mysql_pass']."\";
"."$"."mysql_name=\"".$_POST['mysql_name']."\";
"."$"."status=\"".$_POST['status']."\";
?>";
$file=file("config.php");
$fp=fopen("config.php","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
fputs($fp,$configdata);
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("config.php", 0644);
echo "<META http-equiv='refresh' content='1; url=?page=save'> Все Сохраненно";
exit; }
|
config.php
$title=";
$charset="UTF-8";
$footer="test";
$email_admin="";
$about="test";
$mysql_host="localhost";
$mysql_user="";
$mysql_pass="";
$mysql_name="";
$status="1";
|
Что можно или нужно поменять?? | |
|
|
|
|
|
|
|
для: diablo
(27.09.2008 в 13:52)
| | права на файл | |
|
|
|
|
|
|
|
для: Sturmvogel
(27.09.2008 в 14:22)
| | поставил 777 всеравно так-же | |
|
|
|
|
|
|
|
для: Diablo
(27.09.2008 в 14:31)
| | Что-то с правами на папку, файл. А что ошибок не выдает? А зачем это:
$file=file("config.php"); - для чего это открытие?
//зачем блокировать, если кроме вас этот файл никто более не может изменять
flock ($fp,LOCK_EX);
flock ($fp,LOCK_UN);
//это вообще не к чему
fflush ($fp);
И можно без этого:
$fp=fopen("config.php","a+");
ftruncate ($fp,0);
А просто так:
$fp=fopen("config.php","w"); | |
|
|
|
|
|
|
|
для: sim5
(27.09.2008 в 15:03)
| | зделал что-то но неполучилось, можешь на примере показать
$file=file("config.php");
$fp=fopen("config.php","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
fputs($fp,$configdata);
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
@chmod("config.php", 0644);
echo "<META http-equiv='refresh' content='1; url=?page=save'> Все Сохраненно";
exit; }
|
| |
|
|
|
|
|
|
|
для: Diablo
(27.09.2008 в 15:45)
| | Чего показать? Без лишнего?
$fp=fopen("config.php","w");
fputs($fp,$configdata);
fclose($fp);
chmod("config.php", 0644);
|
У папки в которую вы пишите какие права? У вас заблокирован вывод ошибок? Разрешите, посмотрите... | |
|
|
|
|
|
|
|
для: Diablo
(27.09.2008 в 15:45)
| |
<?
$configdata='<?
$title="' . $_POST['title'] .'";
$charset="' . $_POST['charset'] .'";
$footer="' . $_POST['footer'] .'";
$email_admin="' . $_POST['email_admin'] .'";
$about="' . $_POST['about'] .'";
$mysql_host="' . $_POST['mysql_host'] .'";
$mysql_user="' . $_POST['mysql_user'] .'";
$mysql_pass="' . $_POST['mysql_pass'] .'";
$mysql_name="' . $_POST['mysql_name'] .'";
$status="' . $_POST['status'] .'";
?>';
|
так удобнее и там было незаэкранированое " где $title=$_POST['title'] | |
|
|
|