PHP - админка

Тема в разделе "PHP программирование", создана пользователем Dico, 4 май 2005.

Статус темы:
Закрыта.
  1. Dico

    Dico Гость

    Собственно сам топик только внизу пояснения к конкретной ситуации:
    HTML:
    <!--До этого всего идёт описание формы лог,пас (обычный HTML)-->
    <!--В форме вводим логин и пароль в переменные-->

    </form>
    <form action=admin.php?adm=news method=post>
    <input type=hidden name=login value=$log>
    <input type=hidden name=password value=$pas>
    <center>
    </form>
    Допустим:
    Код (Text):
    <?
    include "conf.inc"; //содержит переменные $login и $password
    include "dez.inc"; // тут вся форма


    if ($log==$login && $pas==$password)
    {
    echo 'OK';

    }

    ?>
    Допустим алгоритм таков если мы ввели правильный пароль то нам выедиться сообщение ОК (впринцепи всё как и в админке если правильный пароль и логин то ОК поподаем в формы для ввода различных данных)! Но чтото нечего неработает что можете посоветывать?
     
  2. admin

    admin Well-Known Member

    Регистрация:
    8 авг 2003
    Сообщения:
    2.811
    Симпатии:
    0
    Dico
    я не понимаю смысл этой формы.
    конечно работать не будет, если ты не сделаешь submit её.
    а так эта форма тут вооще бессмыслена.

    а во вторых. вот как работает всё. я смысла твоего кода не понял немного.

    index.html

    HTML:
    <html>

    <head>
    <title></title>
    </head>

    <body>

    <form action=index.php method=post>
    <input type=hidden name=login1 value=root>
    <input type=hidden name=password1 value=admin>
    <input type=submit name=Submit value=Submit>
    </form>
    <center>
    </body>

    </html>
    config.php

    Код (Text):
    <?php

    $login="root";
    $password="admin";

    ?>
    index.php

    Код (Text):
    <?php

    include "config.php";

    if ($login1==$login && $password1==$password)
    {

    echo "OK";

    }


    ?>
     
  3. Dico

    Dico Гость

    вот:
    Код (Text):
    log.inc :

    <?php
    print"  <html>
        <head>
        <title>$deftitle</title>
        <LINK REL=\"STYLESHEET\" HREF=\"style.css\">
        </head>
        <body text=$textor bgcolor=$bgcolor_fon background=$bgcolor_right scroll=auto>
        <BR>
        <CENTER>
        <h5>авторизация</h5>
    <br>
    <form>
    <table bgcolor=$bgcolor_left class=our>
    <tr>
    <td>
    Login:
    </td>
    <td>
    <input type=text name=log>
    </td>
    </tr>
    <tr>
    <td>
    Password:
    </td>
    <td>
    <input type=password name=pas>
    </td>
    </tr>
    <tr>
    <td colspan=2 align=center>
    <input type=submit value='Вход'>
    </td>
    </tr>
    </table>
    </form>
    <BR>
    <BR>
    <CENTER>
    <b>©by DICO</a>
    </b>
    </body>
    </html>
    </form>
    <form action=admin.php?deystvo=news method=post>
    <input type=hidden name=login value=$log>
    <input type=hidden name=password value=$pas>
    <center>
    </form> </body></html>

    ";
    ?>



    config.inc

    <?php
    $bgcolor_left="#C9B18B";                      //фон левой колонок
    $bgcolor_right="#DCC9C9";                     //фон главной полосы
    $bgcolor_fon="#C1C7CE";                      //фон страницы
    $table_width=700;                            //ширина таблиц
    $admin_name = "admin";                       //login к админке
    $admin_pass = "admin";                          //пароль к админке
    $textor = "#000000";                       //Цвет текста админки
    $bgcolor_left = "#C9B18B";
    $errorlist1 = "Вы неправельно ввели пароль или имя";
    $deftitle = "-Админка (С) By DICO-"                // титл админки
    ?>

    index.php:


    <?
    include "config.inc";
    include "log.inc";

    if($log==$admin_name && $pas==$admin_pass)
    {
    ptint(ok); /* Для проверки работает или нет потом замениться на  формы и соответствующий код!*/
    }

    ?>
    Для большего понимания!!!! Здесь полный код только непонятно почему неработает чего нехватает!???????????PHP - учу относительно недавно !
     
  4. Guest

    Guest Гость

    Мозгов.... нехватает
    Для б-ов было написан формат формы

    <form name="form1" method="post" action="script.php">
    <input type="text" name="textfield">
    <input type="text" name="textfield2">
    </form>

    mind: можно все тоже самое сказать и без указания принадлежности человека к какому бы то ни было роду животных... уважайте себя и собеседника....
     
  5. SDK

    SDK Гость

    <form name="form1" method="post" action="script.php">
    <input type="text" name="textfield">
    <input type="text" name="textfield2">
    <input type="hidden" name="deystvo" value="news">
    </form>

    Ты в методе передачи POST фигачешь admin.php?deystvo=news
     
  6. Guest

    Guest Гость

    В продолжение "мозгов":
    Посмотри имена полей и соответсвенно имена переменных которые отлавливает скрипт ....
    "... ты всё поймешь, ты все увидишь сам...." (с) пестня
     
  7. Guest

    Guest Гость

    2 mind
    Извини, я исправлюсь
     
  8. Dico

    Dico Гость

    Я что тебе полный листинг приводил ! полный листинг 19 кб.Я вырезал частями и самое основное вставил!

    action=admin.php?deystvo=news - admin.php -и есть index.php!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    А с переменными всё нормально не в них дело!!!!!!!!!!!!!

    дело в этом!:
    if($log==$admin_name && $pas==$admin_pass)
    {
    ptint(ok); /* Для проверки работает или нет потом замениться на формы и соответствующий код!*/
    }
     
  9. Guest

    Guest Гость

    Млин, ты б хоть книжку почитал для начала...

    if($log==$admin_name && $pas==$admin_pass)
    {
    ptint(ok); /* Для проверки работает или нет потом замениться на формы и соответствующий код!*/
    }

    http://www.php.net/manual/ru/function.print.php - тут почитаешь
     
  10. Guest

    Guest Гость

    А прикольно :D особенно последние твои строки :D код то ПОЛНЫЙ!!!!!!!!!!!!!!!!!!!!!!
    <?
    include "config.inc";
    include "log.inc";

    if($log==$admin_name && $pas==$admin_pass)
    {
    ptint(ok); /* Для проверки работает или нет потом замениться на формы и соответствующий код!*/
    }

    ?>

    Для большего понимания!!!! Здесь полный код только непонятно почему неработает чего нехватает!???????????PHP - учу относительно недавно !
     
  11. SDK

    SDK Гость

    :D Кто же, батенька, в хиддоны пороли с логином фигачет.


    <input type=hidden name=login value=$log>
    <input type=hidden name=password value=$pas>.

    Хорошая такая админка - всегда знаешь пароль и логин. :D

    Юзать сессии нужно ;)
     
  12. Radiohead

    Radiohead Гость

    Помоему достаточно правильный скрипт авторизации:
    Файл action2.php:
    Код (Text):
    <?php
    session_start();
    $db=mysql_connect("localhost", "root");// Ïîäêëþ÷àåìñÿ ê ÑÓÁÄ
    mysql_select_db("test",$dB); // Âûáèðàåì áàçó äàííûõ
    $result=mysql_query("SELECT login FROM auth", $dB); // Âûáèðàåì âñå çíà÷åíèÿ ñ ïîëÿ login
    while ($myrow = mysql_fetch_array($result)) // Çàöèêëèâàåì ñòðóêòóðó ñ óñëîâèåì ñîçäàíèÿ ìàññèâà
    {
    $oklogin=in_array("$login",$myrow); // Èùåì èñíèííûå çíà÷åíèÿ ïàðàìåòðà login â ìàññèâå
    if ($oklogin==TRUE) { // Åñëè íàéäåí
       $result2=mysql_query("SELECT * FROM auth WHERE login='$login'", $dB); // Êîíåêòèìñÿ ê áàçå ñ çàïðîñîì ïàðîëåé
       $myrow2=mysql_fetch_array($result2); // Ñîçäàäèì ìàññèâ ïàðîëåé ïðè ïîäõîäÿùåì login
       if ($pass==$myrow2["pass"]) { // Óñëîâèå ñðàâíåíèÿ ââîäèìîãî íàìè ïîðîëÿ è ïàðîëÿ èç ìàññèâà
           session_register("ok"); // Ðåãèñòðèðóåì ïåðåìêííóþ â ñåññèè
           $_SESSION['user']=$login; // Çàïèñàòü â ñåññèè ëîãèí
           header("Location: index.php?".session_name().'='.session_id()); // Îòïðàâëÿåì çàðåãèâøèãîñÿ óçâåðà íà ãëàâíóþ ñòðàíèöó
           exit; // Îáðûâàåì öèêë
           }
       else {
           echo ('PASSWORD NE TOT');// Åñëè ïàðîëü íå âåðåí
           session_unregister("ok"); // Óíè÷òîæàåì ïåðåìåííóþ â ñåññèè
           include "auth.php"; // Âûâîäèì ôîðìó àâòîðèçàöèè
          };
       return TRUE; // È îñòàíàâëèâàåì öèêë íî íå âûõîäèì èç íåãî
       };
    }
    echo ('takogo logina net'); // Åñëè login íå íàéäåí
    session_unregister("ok"); // Óíè÷òîæàåì ïåðåìåííóþ â ñåññèè
    include "auth.php"; // Âûâîäèì ôîðìó àâòîðèçàöèè
    ?>
    Файл action.php:
    <?php
    $db=mysql_connect("localhost","root"); // Êîíåêòèìñÿ â ÑÓÁÄ
    mysql_select_db("test", $dB); // Âûáèðàåì áàçó äàííûõ
    $sql=mysql_query("INSERT INTO auth (login, pass) VALUES ('$login','$pass')"); // Îòïðàâëÿåì çàïðîñ íà âíåñåíèå äàííûõ
    echo "OK"; // Âñ¸ ÎÊ
    ?>
    Файл add.php
    <form method="post" action="action.php">
    Login:<input type="Text" name="login"><br>
    Password:<input type="password" name="pass"><br>
    <input type="Submit" name="submit" value="Register">
    </form>
    Файл index.php:
    <?php
    session_start(); // Çàïóñêàåì ñåññèþ
    $ses_res=session_is_registered("ok"); // Åñëè â ìàñèâå ñåññèè åñòü ïåðåìåííàÿ ÎÊ òî ses_res ïîëó÷èò çíà÷åíèê TRUE
    if ($ses_res==TRUE) { // Åñëè âñ¸ ïðîõëî íîðìàëüíî
       echo ('REG'); // Âûïîëíÿþòñÿ ñåðâèñû äîñòóïíûå òîëüêî çàðåãèíûì óçåðàì
       ?><br><?php
       echo $_SESSION['user']; // Âûâåñòè èìÿ ïîëüçîâàòåëÿ
       }
       else
       {
           echo ('NOT REG'); // Åñëè íåò
           include("auth.php"); // Òî ñíîâà âûâîäèì ôîðìó àâòîðèçàöèè
       }
    ?>
    Файл auth.php:
    <form method="post" action="action2.php">
    Login:<input type="Text" name="login"><br>
    Password:<input type="password" name="pass"><br>
    <input type="Submit" name="submit" value="Register">
    </form>

    Простите но коментарии писались в другой кодировке.
    playone@linuxmail.org
     
  13. Guest

    Guest Гость

    правильный..... и что?
     
  14. Guest

    Guest Гость

    DICO вот пример

    Код (Text):
    // Юзаем сессии
    session_start();
    session_register("level");


    //если есть лог и пароль засовываем их в сессию
    if ((isset($_login))
     &(isset($_pass)))
    {
    $level[log]=addslashes(htmlspecialchars(trim($_login)));
    $level[pas]=MD5(htmlspecialchars(trim($_pass)));

    //а сдесь сверяй с чем хочешь
    //хочешь с базой данных
    //хочешь с зашитыми значениями

    if(($level[log]=логин)&($level[pas]=пароль в мд5))
    $level[lev]=1; else $level[lev]=0;
    //И при каждой загрузке скрипта обновляем $level[lev]
    }

    if ($level[lev]<1) { // а вот и форма
    echo'
    <center>
    <form action="index.php" method="post">
    input name="_login" type="text">
    input name="_pass" type="password">
    <input type="submit" value="Войти">
    </form>
    ';
    else  {



    Оснальной код


    }

    Код обычный но работать будет <_<)))
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей