Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   [решено] Форма + Код (http://forum.oszone.net/showthread.php?t=108222)

Artem-Samsung 01-06-2008 12:24 815782

Форма + Код
 
Доброго времени суток. У меня вот проблеммка. Создаю админку, и вставив код php который должен был обрабатываться.
Пытался через экшн, но пустая странца высвечивалась, хотя должно быть все красиво ) Теперь вставил непосредственно в той файл, где форма.
Но у меня опять сделалась пустая страница, и формы не видно, и echo "Hello"; который написан на самой начале страицы. Помогите пожалуйста разобраться.

PHP код:

<? 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 815791

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

Artem-Samsung 01-06-2008 12:55 815794

Я в самом начале пишу :
error_reporting(E_ALL);
И никакого резалта.

rus-4-ever 01-06-2008 13:08 815796

попробуйте так:
Цитата:

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 815815

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

vadimiron 01-06-2008 15:37 815937

Artem-Samsung,
А что будет если в начале вот так написать
PHP код:

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 816078

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.p...reatecategory3
Что-то ужасное

Coutty 01-06-2008 19:19 816080

Цитата:

Цитата Artem-Samsung
Поставил точку с запятой и получилось такое:
Что-то ужасное »

Это связано с чем-то другим. Тем более, что ошибка (syntax error, unexpected T_VARIABLE) как раз показывает, что точки с запятой на предыдущей строке не хватает.

Artem-Samsung 01-06-2008 19:23 816082

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

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


Время: 17:34.

Время: 17:34.
© OSzone.net 2001-