Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z wejsciem do panela admina
Blochu1
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 12.10.2006

Ostrzeżenie: (0%)
-----


Kod
<html>
<head>
</head>
<body>
<?php
ob_start();
require_once ('include/mysql_connect.php');
if (isset($_POST['submit'])) {
    if (empty($_POST['username'])) {
        $u = FALSE;
    }
    else {
        $u = escape_data($_POST['username']);
    }
    if (empty($_POST['password'])) {
        $p = FALSE;
    }
    else {
        $p = escape_data($_POST['password']);
    }
    if ($u && $p) {
        $query = "SELECT id_osoby, login, haslo FROM osoby WHERE login='$u' AND haslo='$p'";
        $result = mysql_query ($query);
        $row = @mysql_fetch_array ($result, MYSQL_NUM);
        if ($row) {
            session_start();
            $_SESSION['login'] = $row[1];
            $_SESSION['id_osoby'] = $row[0];
            ob_end_clean(); //kasowanie bufora
            header ("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/admin/start_admin.php");
            exit();
        }
        else {
            echo '<p><font color="red" size="+1">Login i hasło nie występujš w naszej bazie danych</font></p>';
        }
        mysql_close(); // zamykanie polaczenia z baza dancyh
    }
    else { //jezeli wszystko poszlo zle
        echo '<p><font color="red" size="+1">Bład administracyjny sprobuj ponownie</font></p>';
    }
}
ob_end_flush();
?>
....


czy potrafi mi ktos pomoc (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) wyrzuca mi znany chyba wszystkim blad
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/web18/html/otk/header.htm:5) in /var/www/web18/html/otk/header.htm on line 26

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/web18/html/otk/header.htm:5) in /var/www/web18/html/otk/header.htm on line 26

Warning: Cannot modify header information - headers already sent by (output started at /var/www/web18/html/otk/header.htm:5) in /var/www/web18/html/otk/header.htm on line 29

Nie mam pojecia dlaczego nie dziala. Sprawdzalem nigdzie nie ma ani echo, ani spacji przed <?php i po ?> ani pustych linijek a stronka juz jest na serwerze wiec bardzo prosze o pomoc (na serwerze lokalnym wszystko działało OK). Słyszalem ze moze to byc wina wersji php ale administrator serwera powiedzial ze zmiana wersji php nie wchodzi w gre. Pomozcie jesli wiecie w czym moze tkwic bład bo sprawdzalem chyba wszystki opcje jakie sa podane na tym forum i nic
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


No chyba zartujesz:

  1. </head>
  2. <body> // <<<< i tu nie ma nic przed <?php
  3. <?php


PS. uzyj iinego bbcode
Go to the top of the page
+Quote Post
Blochu1
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 12.10.2006

Ostrzeżenie: (0%)
-----


no wlasnie nie ma nic przed tym. wrzucilem tresc pliku od samego poczatku. koncowki nie wrzucalem bo plik ma 170 linijem wiec byloby to wszystko nieczytelne.
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
no wlasnie nie ma nic przed tym.

dr_bonzo napisał, według mnie, wyraźnie. Przed "tym" <?php nie ma prawa być jakikolwiek kod HTML, bo będą sypały się takie błędy. Masz jeszcze inne wyjście, a domyślam się, że takiego chciałeś użyć - mianowicie ob_start" title="Zobacz w manualu php" target="_manual. Jest tylko jeden malutki problem: za późno używasz tej funkcji.
Go to the top of the page
+Quote Post
jarrod
post
Post #5





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

Ostrzeżenie: (0%)
-----


Wersja 1:

  1. <?php
  2. $html = '<html><head></head><body>';
  3. require_once ('include/mysql_connect.php');
  4. // (...)
  5. $html .= '<p><font color="red" size="+1">Login i hasło nie występują w naszej bazie danych</font></p>';
  6. // (...)
  7. echo $html;
  8. ?>

Chyba najlepiej strzymać sting w zmiennej bo później jak będziesz chciał zmienić ten kod to będziesz miał trudności...

Wersja 2:
  1. session_start();
  2. ob_start();
  3. ?>
  4. <html><head></head><body>
  5. <?
  6. // kod
  7. // (..)

Wersja 3:
smarty.php.net

Moim zdanie wersja nr 3 jest najlepsza...
Go to the top of the page
+Quote Post
thornag
post
Post #6





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Ale po kiego grzyba te bufforowanie ?

Session start na poczatku pliku (na poczatku ! czyt. najlepiej pierwsza linijka) a pozniej cokolwiek, np

  1. session_start();
  2. ?>
  3. <html>
  4. <head>
  5. <body>
  6. .....
  7. <?=$_SESSION['var'];?>


Uzywanie bufforowania nie ma sensu bo po co wysylac naglowki gdy strona sie zaladowala ?

P.S. Mozesz tez zmienic php.ini i ustawic session_autostart na true
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 07:24