Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с админ. панелью 
:(
    Опции темы
Ripper
Дата 2.9.2005, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

Репутация: 1
Всего: 23



Тока недавно встречался с такой проблемой, но решение было в том что совершенно случайно была пустая <form>.
Заодно хочу проверить правильность моей логики smile Тока тут нет красивого оформления и т.п. я просто проверяю работу самого скрипта.
Есть файл conf.php:
Код

<?php

 ini_set('display_errors', true); //Это чтобы не писать везде- я все равнож его включаю
 error_reporting(E_ALL);
  
 $site_name="MyMegaSite";       // ИМЯ САЙТА 
 $admin_login="admin";          //ЛОГИН АДМИНА
 $admin_pass="123";             //ПАРОЛЬ АДМИНА
 $mysql['host']="localhost";    //MySql Host
 $mysql['user']="root";         //MySql User
 $mysql['pass']="*****";      //MySql Pass
 $mysql['db']="wow";            //DataBase
 
?>

Есть папка admin, там файл index.php:
Код

<?

 require("../conf.php");
 
 session_start();
 
 if ((isset ($_SESSION['admin'])) && ($_SESSION['admin']==1))
 {
  header("Location: admin.php");
  exit;
 }
 
 if ((isset($_POST['user'])) && (isset($_POST['pass'])))
 {
  if (($_POST['user']==$admin_login) && ($_POST['pass']==$admin_pass))
   {
    session_register("admin");
    $_SESSION['admin']=1;
    header ("Location:admin.php");
   }
  }
 ?>
 <center>

 <div style="font-family:Tahoma, Verdana; font-size:12px;">
 <form action="index.php" method="post">
    Логин: </td><td><input type="text" name="user" width="50"><br>
    Пароль:</td><td> <input type="text" name="pass" width="50"><br>
    <input type="submit" name="submit" value="Go"><br>
 </form> 
 </div>
 </center>


Потом файл admin.php:
Код

<?  
 require("../conf.php");
 require("../func.php");
  
 session_start();
 if (!isset($_SESSION['admin']))
  die;

 DBConnect($mysql['host'],$mysql['user'],$mysql['pass'],$mysql['db']); //К муське все коннектится точно

?>

<html>
<head>
<title>Мега сайт</title>
<link href="style.css" rel="StyleSheet" type="text/css">
</head>
<body>


<table align="center" cellspacing="0" cellpadding="0" border="0"  width="100%">
<tr><td>

<table align="left" cellspacing="0" cellpadding="0" border="0" width="20%">
<tr><td>
 <table align="left" cellspacing="0" cellpadding="0" border="0" width="100%">
 <tr><td class="td_header" style="padding:5px;">&nbsp;&nbsp;&nbsp;Ìåíþ</td></tr>
 <tr><td class="ntd">
   1. <a href="admin.php?section=adm_addnews">Добавить новость</a><br>
 </tr></td>
 </table>
</td></tr>
</table>

 <? 
 if(!isset($_GET['section']))
 $_GET['section']="adm_intro";
 LoadSection($_GET['section']); //Это тоже все правильно вставляет 
?>


и наконец addnews.php:
Код


<table align="center" cellspacing="0" cellpadding="0" border="0" width="40%">
<form action="admin.php?section=adm_addnews" method="GET">
<tr><td>Короткое описание</td><td><textarea name="short" textarea></td></tr>
<tr><td> Полное: </td><td><textarea name="detailed" colspan="10" rowspan="10"></textarea></td></tr>
<tr><td> Автор: </td><td><input type="text" name="author"></td></tr>
 <tr><td colspan="2"><input type="submit" name="submit" value="Äîáàâèòü"></td></tr>
 </td></tr>
 </form>
</table>
<?
 if ( (isset($_GET['short'])) && (isset($_GET['author'])) && (isset($_GET['submit'])))
  {
   if (isset($_GET['detailed']))
    {
     mysql_query("INSERT INTO `news` VALUES ('', NOW(), '".mysql_escape_string($_GET['short'])."', '".mysql_escape_string($_GET['detailed'])."','".mysql_escape_string($_GET['author'])."'");
     echo "added";
     exit;
    }
    mysql_query("INSERT INTO `news` VALUES ('',NOW(),'".mysql_escape_string($_GET['short'])."','','".mysql_escape_string($_GET['author'])."'");
     echo "added";
     exit;
  }
 ?>

Так вот.
1. Когда я нажимаю submit, у меня получается что то вроде:
admin.php?short=dsadsad&detailed=dsadsa&author=dasd&submit=%C4%EE%E1%E0%E2%E8%F2%FC
а мне надо admin.php?section=adm_addnews ну и дальше все параметры. Но почему <form action="admin.php?section=admin.php method="get"> не работает?
2.Наверно тут надо использовать POST ? Красивее строка выглядить будет smile Ведь ничего серьезного не случится)?
3.Что такое ini_set('display_errors', true); ? Обычно я пишу error_reporting(E_ALL) но где то увидел что эту строку тоже добавляют.. вроде наводит на мысль что в php.ini она заменняет какойто параметр или типа того smile
4.Правильно ли я организовал доступ? Я не включал во все файлы ещё проверку if (!isset($_SESSION['admin'])) die; но щас добавлю smile Просто я проверял - работает все, а щас в скриптах копаюсь мог где нибудь не дописать..
Вроде пока все, извиняюсь что полностью все копирнул но просто наверняка какая то мелоч типа как в прошлый раз из за <form> строки не работало. Ну хоть smile не пойму и все smile
Заранее спасибо


--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 2.9.2005, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Используй метод POST, в нем дополнительные параметры передаются.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Ripper
Дата 2.9.2005, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

Репутация: 1
Всего: 23



вроде заработало, только не добавляются в саму БД записи но надпись добавлено появляется.. хм..
тогда
1)А на остальные вопросы ответ smile
2)Опять же че делаю не так. Все правильно в mysql_query? Мож че с синтаксисом
Код


Äîáàâëåíèå íîâîñòè:
<table align="center" cellspacing="0" cellpadding="0" border="0" width="40%">
<form action="admin.php?section=adm_addnews" method="POST">
<tr><td>Êîðîòêîå îïèñàíèå: </td><td><textarea name="short" textarea></td></tr>
<tr><td> Ïîëíîå îïèñàíèå (íåîáÿçàòåëüíî): </td><td><textarea name="detailed" colspan="10" rowspan="10"></textarea></td></tr>
<tr><td> Àâòîð: </td><td><input type="text" name="author"></td></tr>
 <tr><td colspan="2"><input type="submit" name="submit" value="Äîáàâèòü"></td></tr>
 </td></tr>
 </form>
</table>
<?
 if ( (isset($_POST['short'])) && (isset($_POST['author'])) && (isset($_POST['submit'])))
  {
   if (isset($_POST['detailed']))
    {
     mysql_query("INSERT INTO `news` VALUES ('', NOW(), '".mysql_escape_string($_POST['short'])."', '".mysql_escape_string($_POST['detailed'])."','".mysql_escape_string($_POST['author'])."'");
     echo "добавлено";
     exit;
    }
    mysql_query("INSERT INTO `news` VALUES ('',NOW(),'".mysql_escape_string($_POST['short'])."','','".mysql_escape_string($_POST['author'])."'");
     echo "добавлено";
     exit;
  }
 ?>

извиняйте за каракули smile Так уж копируется.


--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 2.9.2005, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Во-первых, надпись "добавлено" будет у тебя выскакивать в любом случае. Попробуй так:
Код

mysql_query(...) or die(mysql_error());

тогда и увидишь свои ошибки.
И еще, что это у тебя за два разных запроса в одну таблицу?


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
MOP
Дата 2.9.2005, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 28.8.2005

Репутация: нет
Всего: нет



Цитата(Ripper @ 2.9.2005, 16:03)

    mysql_query("INSERT INTO `news` VALUES ('', NOW(), '".mysql_escape_string($_POST['short'])."', '".mysql_escape_string($_POST['detailed'])."','".mysql_escape_string($_POST['author'])."'");
 


а что это за ерунда???
PM MAIL WWW ICQ MSN   Вверх
Ripper
Дата 2.9.2005, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

Репутация: 1
Всего: 23



-=Ustas=- если я задал полное описание но внести с полным иначе - пусто. Хотя можно было и один сделать smile)
точняк.. че эт я. Ероры щас уже сил нет смотреть спать охото

MOP Да я в ситаксисе SQL плохо разбираюсь а как иначе ? или в чем проблема ?


--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 3.9.2005, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Структуру таблицы в стдию.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Ripper
Дата 3.9.2005, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Lonely soul...
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 30.6.2004
Где: г. Москва

Репутация: 1
Всего: 23



Хех... Скобку забыл в запросе !
Код

 mysql_query("INSERT INTO `news` VALUES ('', NOW(), '".mysql_escape_string($_POST['short'])."', '".mysql_escape_string($_POST['detailed'])."','".mysql_escape_string($_POST['author'])."')");

Все работает. А на другие вопросы smile Организация доступа например правильно сделана? Ну через сесси... (тока я не вставлял в каждую страницу ещё проверку на существование $_SESSION['admin'] но вставлю щас)..


--------------------
"Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2046 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.