SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 11.11.2011 00:09:13

Maroderstalker
Завсегдатай
Зарегистрирован: 09.11.2011
Сообщений: 27

Админка с паролем

Здраствуйте, я делаю что то типа CMS, только по своему для своего удобства, и вот наткнулся на проблемку:
Надо же чтобы только я имел доступ к админке, т.е. добавлению и редактированию информации, но никак не получаеться сделать что то типа входа в админку и чтобы вся информация была скрыта пока не введу логин и пароль.

И еще вопрос: отправляю на страничку такие переменные podrobnee.php?base=bukmsp&id=1
Должно выполняться вот это:

Код:

<?include("header.php")?>
<?$sql=mysql_query("select*from <?=$base?> where id=<?=$id?>");
  $row=mysql_fetch_array($sql);?>
  <?echo $row['ref'];?>

<?include("footer.php");?>

Но у меня ничего не выходит на экран, т.е. выходит вот это:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in T:\home\localhost\project\podrobnee.php on line 8
Подскажите может что не правильно? И помогите на счет админки. Зарание спасибо

Неактивен

 

#2 11.11.2011 00:15:05

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Админка с паролем

Maroderstalker написал:

Надо же чтобы только я имел доступ к админке, т.е. добавлению и редактированию информации, но никак не получаеться сделать что то типа входа в админку и чтобы вся информация была скрыта пока не введу логин и пароль.

Можно сделать так, чтобы скрипт, если пользователь ввел неправильный пароль, перенаправлял на другую страницу, как вариант. Что именно у Вас не получается?

Maroderstalker написал:

И еще вопрос: отправляю на страничку такие переменные podrobnee.php?base=bukmsp&id=1
Должно выполняться вот это:

Код:

<?include("header.php")?>
<?$sql=mysql_query("select*from <?=$base?> where id=<?=$id?>");
  $row=mysql_fetch_array($sql);?>
  <?echo $row['ref'];?>

<?include("footer.php");?>

Но у меня ничего не выходит на экран, т.е. выходит вот это:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in T:\home\localhost\project\podrobnee.php on line 8
Подскажите может что не правильно? И помогите на счет админки. Зарание спасибо

Та же рекомендация, что и в прошлый раз:
Запустит скрипт с диагностикой, примерно как здесь и приложите результаты сюда.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 11.11.2011 00:21:18

Maroderstalker
Завсегдатай
Зарегистрирован: 09.11.2011
Сообщений: 27

Re: Админка с паролем

Не пойму я как эта диагностика работает( и как ее использовать для того что я выложил.

Неактивен

 

#4 11.11.2011 00:22:45

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Админка с паролем

Диагностика работает так, чтобы в случае любой ошибки вывести сообщение об ошибке на экран. Глядя на ошибку, Вы сможете понять в чем проблема.
Выложите сюда код файл header.php.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#5 11.11.2011 00:25:54

Maroderstalker
Завсегдатай
Зарегистрирован: 09.11.2011
Сообщений: 27

Re: Админка с паролем

deadka написал:

Что именно у Вас не получается?

Форму для входа создал, а как сделать так чтобы данные с формы проверелись с настоящими данными в базе, и как сделать так чтобы сохранились cokees.

Неактивен

 

#6 11.11.2011 00:27:45

Maroderstalker
Завсегдатай
Зарегистрирован: 09.11.2011
Сообщений: 27

Re: Админка с паролем

Вот что находиться в header.php

Код:

<?
$db=mysql_connect("localhost","Malder","662308");
mysql_select_db("Malder",$db);
?>

Неактивен

 

#7 11.11.2011 00:29:14

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Админка с паролем

Насчет cookies - это не самый подходящий форум, здесь MySQL обсуждается.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#8 11.11.2011 00:31:04

Maroderstalker
Завсегдатай
Зарегистрирован: 09.11.2011
Сообщений: 27

Re: Админка с паролем

deadka написал:

Насчет cookies - это не самый подходящий форум, здесь MySQL обсуждается.

Хорошо понял)))

Неактивен

 

#9 11.11.2011 00:31:29

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Админка с паролем

Замените код в файле header.php на след:

$db = mysql_connect ("localhost","Malder","662308");
    if (FALSE==$db) // Не прошло соединение с базой
    {
        print "Could not connect: " . mysql_error();
        die;
    }
    print "Пoдключение к серверу mysql прошло успешно, идентификатор соединения - ".$db."<br /><br />";
    if (FALSE==mysql_select_db('Malder', $db)) // Невозможно использовать выбранную БД
    {
        print "Could not use database `Malder`".mysql_error();
        mysql_close($db);
        die;
    }
 


Идея ясна? Каждое обращение к БД проверяете на ошибку, и если она есть - выводите на экран.

Отредактированно deadka (11.11.2011 00:32:17)


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#10 11.11.2011 00:41:40

Maroderstalker
Завсегдатай
Зарегистрирован: 09.11.2011
Сообщений: 27

Re: Админка с паролем

Все равно то же самое выходит(, но сверху надпись появилась
Пoдключение к серверу mysql прошло успешно, идентификатор соединения - Resource id #4.

Проверил, если в коде

Код:

select*from <?=$base?> where id=<?=$id?>

заменить <?=$base?> на bukmsp и <?=$id?> на 1, то вся информация выходит.
Но мне то как раз и нужно чтобы они были изменны, т.е. чтобы я мог выбрать базу, и номер строки.

Неактивен

 

#11 11.11.2011 00:54:24

Maroderstalker
Завсегдатай
Зарегистрирован: 09.11.2011
Сообщений: 27

Re: Админка с паролем

Все решил эту проблему)))
Вот так должно было быть:

Код:

select*from $base where id=$id

Да и вопрос еще по поводу проверки логина и пароля чтобы данные с формы проверелись с настоящими данными в базе.

Неактивен

 

#12 11.11.2011 01:01:53

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Админка с паролем

Если у Вас переменные $login и $password пришли с формы, то так можно:

   $query="select count(*) from user where login='".$login."' and password='".$password."'";
    $result = mysql_query($query);
    if (FALSE==$result) // не выполнился запрос
    {
        print "Invalid query: ".$query.", error: ".mysql_error().".";
    }
    $myrow=mysql_fetch_array($result);
    if ($myrow[0] == 0) //Неверный логин/пароль
    {
        print "Неверный логин/пароль";
    }
    else
    {
        // Здесь та логика, которая выполняется в случае правильного логина/пароля
    }


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#13 11.11.2011 01:25:56

Maroderstalker
Завсегдатай
Зарегистрирован: 09.11.2011
Сообщений: 27

Re: Админка с паролем

Спасибо, получилось, если появяться вопросы еще спрошу)))

Неактивен

 

#14 11.11.2011 01:27:14

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Админка с паролем

Непременно, будем ждать с нетерпением wink!


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson