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

Форум PHP

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

 

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

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

тема: Вход admin панель по паролю
 
 автор: Abdula   (23.04.2008 в 17:18)   письмо автору
 
 

Здравствуйте ребята подскажете пожайлуста вот сделал вход по пароль на админ на локальном все работает, а на хосте нет зависит ли эта от хоста он бесплатный

   
 
 автор: elenaki   (23.04.2008 в 19:04)   письмо автору
 
   для: Abdula   (23.04.2008 в 17:18)
 

а там хоть есть поддержка PHP?
запустите такой скрипт

<?
phpinfo
();
?>


если появится таблица с кучей БУКАФ, ищите register_globals. наверняка будет off.
или приводите здесь код, который работает на локалке и не работает на сервере...
тут телепатов нет.

   
 
 автор: Abdula   (23.04.2008 в 19:20)   письмо автору
 
   для: elenaki   (23.04.2008 в 19:04)
 

Да конечно есть поддержка РНР, вот сайт http://lessons.rifo.net
вот код файла lock
   <?php
include("blocks/bd.php");

if (!isset(
$_SERVER['PHP_AUTH_USER']))

{
        
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
        
Header ("HTTP/1.0 401 Unauthorized");
        exit();
}

else {
        if (!
get_magic_quotes_gpc()) {
                
$_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
                
$_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
        }

        
$query "SELECT pass FROM userlist WHERE user='".$_SERVER['PHP_AUTH_USER']."'";
        
$lst = @mysql_query($query);

        if (!
$lst)
        {
            
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
        
Header ("HTTP/1.0 401 Unauthorized");
        exit();
        }

        if (
mysql_num_rows($lst) == 0)
        {
           
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
           
Header ("HTTP/1.0 401 Unauthorized");
           exit();
        }

        
$pass =  @mysql_fetch_array($lst);
        if (
$_SERVER['PHP_AUTH_PW']!= $pass['pass'])
        {
            
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
           
Header ("HTTP/1.0 401 Unauthorized");
           exit();
        }


}




?>



вот хочу зайти админ панель на хосте выходит этот код

Warning: Cannot modify header information - headers already sent by (output started at /www/rifo.net/l/e/lessons/home/site/admin/blocks/bd.php:1) in /www/rifo.net/l/e/lessons/home/site/admin/lock.php on line 7

Warning: Cannot modify header information - headers already sent by (output started at /www/rifo.net/l/e/lessons/home/site/admin/blocks/bd.php:1) in /www/rifo.net/l/e/lessons/home/site/admin/lock.php on line 8

   
 
 автор: elenaki   (23.04.2008 в 19:24)   письмо автору
 
   для: Abdula   (23.04.2008 в 19:20)
 

а! это потому что вывод заголовков (Header ) должен делаться ДО любого вывода в браузер. даже пробелов и переводов строк не должно быть.

   
 
 автор: Abdula   (23.04.2008 в 19:33)   письмо автору
 
   для: elenaki   (23.04.2008 в 19:24)
 

Я так и сделал

 <?include ("lock.php");
include (
"blocks/bd.php");
 
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>



<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Главная страница админского блога</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0">
<!--Подключаем верхный шапку-->
 <?php include ("blocks/header2.php");?>
  <tr>
    <td><table width="690" border="0" cellspacing="0" cellpadding="0">
      <tr>
      <!--Подключаем левую навигацию-->
       <?php include ("blocks/lefttd.php");?>
       
        <td valign="top" bgcolor="#FFFFFF">
       <p>Добро пожалевать админский блог.</p>
        </td>
      </tr>
    </table></td>
  </tr>
  <!--Подключаем нижний графичиский элемент-->
  <?php include ("blocks/hovst.php");?>
</table>
</body>
</html>

  


и на локальном у меня также

   
 
 автор: elenaki   (23.04.2008 в 19:37)   письмо автору
 
   для: Abdula   (23.04.2008 в 19:33)
 

и тем не менее в blocks/bd.php есть какой-то вывод в первой строке...

   
 
 автор: Abdula   (23.04.2008 в 19:46)   письмо автору
 
   для: elenaki   (23.04.2008 в 19:37)
 

Вот файл bd.php
   <?php 

$db 
mysql_connect ("localhost","php","34567");
mysql_select_db ("phpsite",$db);

?>


так же на хосте только с другим доступом

   
 
 автор: elenaki   (23.04.2008 в 19:54)   письмо автору
 
   для: Abdula   (23.04.2008 в 19:46)
 

эти пробелы перед <? - это только здесь или в коде тоже?

   
 
 автор: Abdula   (23.04.2008 в 20:03)   письмо автору
 
   для: elenaki   (23.04.2008 в 19:54)
 

только здесь в коде их нет, не на локальном все нормально не знаю что это такой

   
 
 автор: sim5   (23.04.2008 в 20:16)   письмо автору
 
   для: Abdula   (23.04.2008 в 20:03)
 

Проверяйте, где вывод в барузер был до передачи заголовков.

   
 
 автор: Abdula   (23.04.2008 в 20:31)   письмо автору
 
   для: sim5   (23.04.2008 в 20:16)
 

вот у меня два файла для админки вроде бы все как надо
вот 1

  <?include ("lock.php");
include (
"blocks/bd.php");
if (isset(
$_POST['title']))       
{
$title $_POST['title']; 

if (
$title == ''
{
unset(
$title);
}  

}

/* Если существует в глобальном массиве $_POST['title'] опр. ячейка, то мы создаем простую переменную из неё. Если переменная пустая, то уничтожаем переменную.   */
if (isset($_POST['meta_d']))      {$meta_d $_POST['meta_d']; if ($meta_d == '') {unset($meta_d);}}
if (isset(
$_POST['meta_k']))      {$meta_k $_POST['meta_k']; if ($meta_k == '') {unset($meta_k);}}
if (isset(
$_POST['date']))        {$date $_POST['date']; if ($date == '') {unset($date);}}
if (isset(
$_POST['description'])) {$description $_POST['description']; if ($description == '') {unset($description);}}
if (isset(
$_POST['text']))        {$text $_POST['text']; if ($text == '') {unset($text);}}
if (isset(
$_POST['author']))      {$author $_POST['author']; if ($author == '') {unset($author);}}
if (isset(
$_POST['id']))      {$id $_POST['id'];}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Обработчик</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">
<!--Подключаем шапку сайта-->
<? include("blocks/header.php");   ?> 
  <tr>
    <td><table width="690" border="0" cellspacing="0" cellpadding="0">
      <tr>
<!--Подключаем левый блок сайта-->
<? include ("blocks/lefttd.php");  ?>      
        <td valign="top">
      
         <?php 
if (isset($title) && isset($meta_d) && isset($meta_k)  && isset($text))
{
/* Здесь пишем что можно заносить информацию в базу */
$result mysql_query ("UPDATE settings SET title='$title', meta_d='$meta_d', meta_k='$meta_k', text='$text' WHERE id='$id'") ;

if (
$result == 'true') {echo "<p>Ваш страница успешно обновлен!</p>";}
else {echo 
"<p>Ваш страница не обновлен!</p>";}


}         
else 

{
echo 
"<p>Вы ввели не всю информацию, поэтому урок в базу не может быть обновлен.</p>";
}
         
         
         
         
?>
         
         
             </td>
      </tr>
    </table></td>
  </tr>
<!--Подключаем нижний графический элемент-->  
<?  include ("blocks/hovst.php");        ?>  
</table>
</body>
</html> 


вот 2

      <?include ("lock.php");

include (
"blocks/bd.php");
if (isset(
$_GET['id'])) {$id$_GET['id'];}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>



<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Cтраница изменения текста</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0">
<!--Подключаем верхный шапку-->
 <?php include ("blocks/header2.php");?>
  <tr>
    <td><table width="690" border="0" cellspacing="0" cellpadding="0">
      <tr>
      <!--Подключаем левую навигацию-->
       <?php include ("blocks/lefttd.php");?>
       
        <td valign="top" bgcolor="#FFFFFF">
        
        <p><strong>Выберите страницу для редактирования</strong></p>
     <?php 
     
     
     
if (!isset($id))
     
{
     
$result mysql_query ("SELECT title,id FROM  settings");
$myrow mysql_fetch_array($result);

do
{

printf ("<p><a href='edit_text.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);

}
while (
$myrow mysql_fetch_array($result));
     
     
}    

else

{

     
$result mysql_query ("SELECT * FROM settings WHERE id=$id");
$myrow mysql_fetch_array($result);

print <<<HERE

<form name="form1" method="post" action="update_text.php">
         <p>
           <label>Введите название урока<br>
             <input value="
$myrow[title]" type="text" name="title" id="title">
             </label>
         </p>
         <p>
           <label>Введите краткой описания<br>
           <input value="
$myrow[meta_d]" type="text" name="meta_d" id="meta_d">
           </label>
         </p>
         <p>
           <label>Введите ключевый слова<br>
           <input value="
$myrow[meta_k]"type="text" name="meta_k" id="meta_k">
           </label>
         
         </p>
        
         
         <p>
           <label>Введите полный текст странице с тегами
           <textarea name="text" id="text" cols="40" rows="10">
$myrow[text]</textarea>
           </label>
         </p>
         <p>
 
         <input name="id" type="hidden" value="
$myrow[id]">
         </p>
         <p>
           <label>
           <input type="submit" name="submit" id="submit" value="Cохранить изменения">
           </label>
         </p>
       </form>


HERE;

     
     
     
?> 
       
       </td>
      </tr>
    </table></td>
  </tr>
  <!--Подключаем нижний графичиский элемент-->
  <?php include ("blocks/hovst.php");?>
</table>
</body>
</html>

  

   
 
 автор: sim5   (23.04.2008 в 21:20)   письмо автору
 
   для: Abdula   (23.04.2008 в 20:31)
 

Вы не гадайте, а ищите место конфликта. Можете отключать подключаемые файлы, чтобы узнать какой из них вызывает проблему. Ошибка говорит, что был вывод в браузер до передачи заголовка. Если у вас работало на локальной машине, то внимательно просмотрите свои скрипты, те что на сервере.

   
Rambler's Top100
вверх

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