Войти

Показать полную графическую версию : [решено] Форма + Код


Artem-Samsung
01-06-2008, 12:24
Доброго времени суток. У меня вот проблеммка. Создаю админку, и вставив код php который должен был обрабатываться.
Пытался через экшн, но пустая странца высвечивалась, хотя должно быть все красиво ) Теперь вставил непосредственно в той файл, где форма.
Но у меня опять сделалась пустая страница, и формы не видно, и echo "Hello"; который написан на самой начале страицы. Помогите пожалуйста разобраться.


<? include ('../config.php'); // Доступ до БД
include("../modules/spaw/spaw.inc.php");
$spaw1 = new SpawEditor("spaw1");
echo "hello";
if (isset($_POST['create'])){

$sql_menusort = mysql_query("SELECT DISTINCT `sort` FROM `menu`", $db);
$num_sort = mysql_fetch_array($sql_menusort);

$sql_link = mysql_query("SELECT link FROM menu WHERE link='$link'", $db);
$num_link = mysql_num_rows($sql_link); // к-сть link
$sql_category = mysql_query("SELECT `category` FROM `menu` WHERE category='$_POST[category]'", $db);
$num_category = mysql_num_rows($sql_category); // к-сть category

// Для того, щоб визначити, який з індексів привласнювати новій категорії створюємо змінну $sortcount, отримуємо циклом значення.
$sortcount=0;
do {
$num_sort['sort'];
$sortcount++;
} while ($num_sort = mysql_fetch_array($sql_menusort));

$cont = addslashes($cont);
$_POST['title'] = addslashes($_POST['title']);
$_POST['title'] = trim($_POST['title'])
$_POST['editor'] = addslashes($_POST['editor']);
$_POST['editor'] = trim($_POST['editor']);
$_POST['category'] = addslashes($_POST['category']);
$_POST['category'] = trim($_POST['category']);
$_POST['link'] = addslashes($_POST['link']);
$_POST['link'] = trim($_POST['link']);

if (isset($_POST['category']) && !isset($_POST['category']) == "" && isset($_POST['title']) && !isset($_POST['title']) == "" && isset($_POST['link']) && !isset($_POST['link']) == "" && isset($_POST['editor']) && !isset($_POST['editor']) == "" && isset($cont) && !isset($cont) == "" && isset($_POST['side']) && !isset($_POST['side']) == "") {
/* Нам потрібно пересвідчитися, чи не існує категорії, що створюємо.
Для цього ми скористалися функцією $num_category = mysql_num_rows($result).
Якщо значення = 0, то такого розділу немає і нам дається добро на виконання операції. */
if($num_link == 0) {
if($num_category == 0) {
/*Створення таблиці*/
mysql_query("
CREATE TABLE $_POST[link] (
`id` INT(3) AUTO_INCREMENT,
`sort` INT(3),
`link` VARCHAR(255),
`title` VARCHAR(255),
`editor` VARCHAR(255),
`cont` TEXT,
PRIMARY KEY (`id`)
)
");
/*Наповнення нової таблиці даними*/
mysql_query("
INSERT INTO $link (`id`, `link`, `editor`, `title`, `cont` )
VALUES ('', 'index', '$_POST[editor]', 'Головна сторінка', '$cont');
");
/*Наповнення таблиці меню даними*/
mysql_query("
INSERT INTO `menu` ( `id`, `title`, `link`, `category`, `m`, `sort` )
VALUES ('', '$_POST[title]', '$_POST[link]', '$_POST[category]', '$_POST[m]', '$sortcount');
");
include('modules/tips/congratulation.php');
} else include('modules/tips/error.php');
} else include('modules/tips/error.php');
} else include('modules/tips/error.php');
}

?>

<form id="form_main_menu" name="form_main_menu" method="post" action="">
<table width="561">
<tr>
<td width="282"><input type="text" name="category" id="category" />
- Назва категорії</td>
<td width="267"><input type="text" name="link" id="link" />
- Ідентифікатор</td>
</tr>
<tr>
<td><input type="text" name="title" id="title" />
- Назва розділу</td>
<td><input type="text" name="editor" id="editor" />
- Автор</td>
</tr>
</table>

<p>
<? $spaw1->show(); ?>
</p>
<p>
<input type="radio" name="side" id="form_m" value="1" /> категорія ліворуч <br />
<input type="radio" name="side" id="form_m" value="2" /> категорія праворуч <br />
</p>
<p>
<input type="submit" name="create" id="create" value="Створити новий розділ">
</p>
</form>

vadimiron
01-06-2008, 12:46
Artem-Samsung,
Такое бывает, когда возникает ошибка. Посмотрите в файле лога ошибок или воспользуйтесь функцией error_reporting в самом начале кода, чтобы показывать ошибки на самой странице. А ещё полезно пользоваться debugger-ами

Artem-Samsung
01-06-2008, 12:55
Я в самом начале пишу :
error_reporting(E_ALL);
И никакого резалта.

rus-4-ever
01-06-2008, 13:08
попробуйте так:
if (ini_get('display_errors') != 1) { // проверяет значение опции display_errors
ini_set('display_errors', 1); // включает вывод ошибок вместе с результатом работы скрипта
}

error_reporting(E_ALL); // Для PHP4

error_reporting(E_ALL | E_STRICT); // Для PHP5

Coutty
01-06-2008, 13:23
Я так вижу ошибку - $_POST['title'] = trim($_POST['title']). В конце нет точки с запятой. Возможно, что-то ещё. А вывод ошибок лучше включать в самом php.ini.

vadimiron
01-06-2008, 15:37
Artem-Samsung,
А что будет если в начале вот так написать

include ('../config.php');
echo "after config";
include("../modules/spaw/spaw.inc.php");
echo "after spaw";
$spaw1 = new SpawEditor("spaw1");
echo "after spaw init";

Что нибудь вывело?

Artem-Samsung
01-06-2008, 19:13
rus-4-ever,
На Ваш запрос вывело такое:
Parse error: syntax error, unexpected T_VARIABLE in /hsphere/local/home/artemius/uaclub.org/admin/createcategory3.php on line 25

vadimiron,
Parse error: syntax error, unexpected T_VARIABLE in /hsphere/local/home/artemius/uaclub.org/admin/createcategory3.php on line 28

Coutty,
Поставил точку с запятой и получилось такое:
http://www.uaclub.org/admin/index3.php?admin=createcategory3
Что-то ужасное

Coutty
01-06-2008, 19:19
Поставил точку с запятой и получилось такое:
Что-то ужасное »
Это связано с чем-то другим. Тем более, что ошибка (syntax error, unexpected T_VARIABLE) как раз показывает, что точки с запятой на предыдущей строке не хватает.

Artem-Samsung
01-06-2008, 19:23
Я убираю вот єтот баг репорт, так все вроде чистенько. Только код еще нуждается в доработке, но теперь хоть можно что-то видеть. А ошибки те сплошные - похоже от spaw.
Спасибо всем, выучил и попробовал на практике баг репорт, а особенное спасибо Countym ошибка действительно детская, но меня с толку сбило то, что ее на экран не вывело, и я сразу на форум.
Спасибо

Кстати, затронув тему про спав, не подскажите документацию, как бы сделать на панеле кнопочек по минимуму? А то у некоторых - очень оно долго грузится, из-за кучи скриптов в одной формочке




© OSzone.net 2001-2012