Помогите с кодом php, не пойму что не так...

Globalus

Новичок
Помогите с кодом php, не пойму что не так...

Буду очень благодарен если поможете объяснить что не так в коде, в общем вот код которые обрабатывает данные формы:


public function action_save_settings() {
$str = "<?php\r\n";
$stf = $_REQUEST['sys']['tizer_formats'];
unset($_REQUEST['sys']['tizer_formats']);
foreach($_REQUEST['sys'] as $key => $val) {
$str .= "\$sys['".$key."'] = '".$val."';\r\n";
}
$tf = explode("\r\n",$_REQUEST['sys']['tizer_formats']);
$str .= "\$sys['tizer_formats'] = array(";

foreach($tf as $i => $val) {
preg_match("|^([0-9]{2,3}).{1}([0-9]{2,3})$|Uims",$val,$m);
$w = $m[1];
$h = $m[2];
if ($w > 0 && $h > 0) {
$str .= $i."=>array('w'=>".$w.",'h'=>".$h."),";
}
}
$str .= $i."=>array('w'=>".$w.",'h'=>".$h."),";
$str .= ");\r\n";
$str .= '?>';
$f = fopen('config/main.php','w');
fwrite($f,$str);
fclose($f);
header("Location:/admin.php?show=settings");
}

Вот эта часть кода должна выполнять построения массива типа - array(0=>array('w'=>75,'h'=>75),1=>array('w'=>100,'h'=>100),2=>array('w'=>150,'h'=>150)); :

$str .= "\$sys['tizer_formats'] = array(";

foreach($tf as $i => $val) {
preg_match("|^([0-9]{2,3}).{1}([0-9]{2,3})$|Uims",$val,$m);
$w = $m[1];
$h = $m[2];
if ($w > 0 && $h > 0) {
$str .= $i."=>array('w'=>".$w.",'h'=>".$h."),";
}
}
$str .= $i."=>array('w'=>".$w.",'h'=>".$h."),";
$str .= ");\r\n";
$str .= '?>';

Вот эта часть кода отвечает за сохранения изменённой информации в файл:

$f = fopen('config/main.php','w');
fwrite($f,$str);
fclose($f);

Вроде все правильно сделал, но запись в файле появляется такая: array(); Объясните что не так, за ранее спасибо!
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
phpfaq.ru/debug

-~{}~ 31.10.10 21:44:

2. Быстро убрал ссылку на ГС из подписи.
 

Globalus

Новичок
Спасибо за ответ, ссылку убрал)

-~{}~ 31.10.10 23:07:

Notice: Undefined index: admin_login in Z:\home\adman.ru\q\admin.php on line 37

Notice: Undefined index: tizer_formats in Z:\home\adman.ru\q\engine\classes\admin.php on line 36

Notice: Undefined offset: 1 in Z:\home\adman.ru\q\engine\classes\admin.php on line 41

Notice: Undefined offset: 2 in Z:\home\adman.ru\q\engine\classes\admin.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\adman.ru\q\admin.php:37) in Z:\home\adman.ru\q\engine\classes\admin.php on line 53

Notice: Undefined variable: tf in Z:\home\adman.ru\q\engine\classes\admin.php on line 25

Получил целую пачку ошибок и не знаю что они значат)
 

DIG

Новичок
Партнер клуба
Чтобы узнать что значат эти ошибки есть два пути.
1. Выучить английский язык.
2. Взять словарик и перевести непонятные слова.
 
Сверху