Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Система администрирования, построенная на одной странице
 
 автор: chars   (06.04.2006 в 11:34)   письмо автору
 
 

Добрый день! Объясните пожалуйста такую вещь: есть администраторская страница.На ней ссылки, при нажатии на которые админ переходит либо в режим изменения, либо удаления, либо поиска и т.д. Как сделать так, чтобы все делалось при помощи всего одного скрипта admin.php, но в зависимости от метода GET, т.е. //admin.php?action=edit или //admin.php?action=del. И вообще насколько это рационально???

   
 
 автор: kasmanaft   (06.04.2006 в 11:49)   письмо автору
 
   для: chars   (06.04.2006 в 11:34)
 

пишем в скрипте


if (!empty($_GET['action']) && ($_GET['action'] == 'edit'))
{
    код для редактирования
}
...

и так дальше :)

   
 
 автор: chars   (06.04.2006 в 11:52)   письмо автору
 
   для: kasmanaft   (06.04.2006 в 11:49)
 

Но как сделать отображение на НОВОЙ странице редактирование/удаление/поиск пользователя. Там же свои формы

   
 
 автор: kasmanaft   (06.04.2006 в 12:00)   письмо автору
 
   для: chars   (06.04.2006 в 11:52)
 

используется один скрипт, который выводит то что нужно в данный момент... нужно редактировать - выводит форму редактирования и тд. сделать все это можно как я и говорил.
Можно попробовать например так:

if (!empty($_GET['action']) && ($_GET['action'] == 'edit')) 

    echo '<form action='script.php?action=edit&mode=1 .... ><....>.....';
    //выводим то что нужно еще...
    if ($_GET['mode'] == 1)
    {
          //соответственный код
    }    

...

   
 
 автор: NickCo   (06.04.2006 в 12:05)   письмо автору
 
   для: kasmanaft   (06.04.2006 в 12:00)
 

Да, именно так, или моно передавать скрытый параметр, типа, $show_form, если отображение и обработка обрабатываются в одном скрипте.

   
 
 автор: chars   (06.04.2006 в 12:07)   письмо автору
 
   для: kasmanaft   (06.04.2006 в 12:00)
 

А то, что было до нажатия на ссылку, отображаться не будет??? Мне именно это нужно! Т.е. как бы при нажатии на ссылку появляется чистая страница, допустим для редактирования - только форма редактирования и все!

   
 
 автор: NickCo   (06.04.2006 в 12:10)   письмо автору
 
   для: chars   (06.04.2006 в 12:07)
 

Ну так и подгружайте в Echo только то, что нужно вывести.

   
 
 автор: chars   (07.04.2006 в 22:23)   письмо автору
 
   для: kasmanaft   (06.04.2006 в 12:00)
 

Помогите разобраться в коде. Не могу понять как делать обработку данной формы. Если у меня много actions: edit, del, add и все находятся в одном файле admins_page.php.Помогите хотя бы на примере этой формы и правильно ли это method='post'
if ($_GET['action'] == 'edit')
{
$sql = "SELECT * from 'users' where 'id_user' = ".$_GET["id_user"]."";
$res = mysql_query($sql);
$mass = mysql_fetch_array($res);
echo "<form action='admins_page.php?action=edit' method='post'>";
echo "Id_group:"."<input type='edit' name='user_group' value=".$mass["id_group"].">"."<br>";
echo "Логин:" . "<input type='edit' name='user_login' value=".$mass["login"].">" . "<br>";
echo "Фамилия:" . "<input type='edit' name='user_surn' value=".$mass["surname"].">" . "<br>";
echo "Имя:" . "<input type='edit' name='user_name' value=".$mass["name"].">" . "<br>";
echo "Отчество:" . "<input type='edit' name='user_midname' value=".$mass["midname"].">" . "<br>";
echo "E-mail:" . "<input type='edit' name='user_mail' value=".$mass["mail"].">" . "<br>";
echo " <input type='submit' value='Ok!'>"."</form>";
}

   
 
 автор: cheops   (07.04.2006 в 23:44)   письмо автору
 
   для: chars   (07.04.2006 в 22:23)
 

Просто смотрите какой GET-параметр передан, например,
<?php
  
if($_GET['id_user'] == 'edit')
  {
    
// Обработка редактирования.
  
}
?>

   
 
 автор: chars   (08.04.2006 в 00:18)   письмо автору
 
   для: cheops   (07.04.2006 в 23:44)
 

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

   
 
 автор: chars   (08.04.2006 в 00:25)   письмо автору
 
   для: cheops   (07.04.2006 в 23:44)
 

И у меня почему-то выполняется скрипт обработки формы еще до нажатия кнопки submit....

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in z:\home\localhost\www\admins_page.php on line 100
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

   
 
 автор: NickCo   (08.04.2006 в 12:05)   письмо автору
 
   для: chars   (08.04.2006 в 00:25)
 


//Ваша форма в виде переменнай.
$form = "метод post ";
// Вставляете скрытое поле fm_show, означаюшее , что форма уже атработала и ее нужно скрыть.
//Ваша форма-конец.
@$fm_show = $_POST['fm_show'];
  if (!isset($fm_show))//Если форма не отображалась, отобразить.
  {
          echo $form;
  }
  else//Если форма отображалась.
  {// 
        $acton = $_POST['form'] //к примеру edit
                 swith ($action)
                 {
                        case ('edit'):
                            {
                                 //Обработчик формы. 
                            }
                         breack;
                  }          
   
  }   //

Я Делал именно так, только обработчики по разным файлам распихал для меньшего веса страниц.

   
 
 автор: NickCo   (08.04.2006 в 12:11)   письмо автору
 
   для: chars   (08.04.2006 в 00:25)
 

Так, по моему проще всего, или можно с if организовать.

   
 
 автор: cheops   (08.04.2006 в 13:59)   письмо автору
 
   для: chars   (08.04.2006 в 00:25)
 

>Warning: mysql_fetch_object(): supplied argument is not a
>valid MySQL result resource in
>z:homelocalhostwwwadmins_page.php on line 100
>You have an error in your SQL syntax; check the manual that
>corresponds to your MySQL server version for the right
>syntax to use near '' at line 1
Это означает что у вас SQL-запрос имеет ошибочный синтаксис, осуществляйте проверку после выполнения mysql_query():
<?php
  $query 
"SELECT * FROM tbl ...";
  
$tbl mysql_query($query);
  if(!
$tbl) exit(mysql_error());
?>

   
 
 автор: NickCo   (06.04.2006 в 11:55)   письмо автору
 
   для: chars   (06.04.2006 в 11:34)
 

У меня довольно неплохо получилось с помощью

swith ($action)
{
case ($action):
{
   include_once('script');
}
breack;
}

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования