Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Pomocy - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Pomocy (/thread-pomocy--6314)



Pomocy - qetli - 14-03-2011

Mam taki problem:
Kod PHP:
WarningCannot modify header information headers already sent by (output started at /homez.374/radiocen/www/hostinggier/index.php:13in /homez.374/radiocen/www/hostinggier/index.php on line 145 

A to mój plik:
Kod PHP:
<?php 
ob_start
();
                      if(isset(
$_GET['go']))
                     {
                      
$go=$_GET['go'];
                     }
                      else
                     {
                      
$go='false';
                     }
                      switch(
$go)
                     {
                      case 
'rej';
                      include 
'rejestracja.php';
                      break;
                     
                      case 
'przyp';
                      include 
'podstrony/przypomnienie.php';
                      break;      
                     
                      case 
'wykon';
                      include 
'rejestracja.php?akcja=wykonaj';
                      break;  
                     
                      case 
'login';
                      include 
'login.php';
                      break;  
                     
                      case 
'rezultaty';
                      include 
'podstrony/rezultaty.php';
                      break;
                         
                          case 
'wstaw';
                      include 
'podstrony/wstaw_plyte.php';
                      break;
                     
                      case 
'logowanie';
                      include 
'podstrony/login.html';
                      break;           
                                 
                          case 
'logincheck';
                      include 
'podstrony/logincheck.php';
                      break;    

                          case 
'wyloguj';
                      include 
'podstrony/wyloguj.php';
                      break;  

                          case 
'rejestracja';
                      include 
'podstrony/rejestracja.html';
                      break;

                          case 
'adduser';
                      include 
'podstrony/rejestracja_p.php';
                      break;
                     }
                
$page=$_GET['page'];
if(
$page=='')
{ }
if(
$page=='login')
{
$login $_POST['login'];
$haslo $_POST['haslo'];
$haslo addslashes($haslo);
$login addslashes($login);
$login htmlspecialchars($login);
if (
$_GET['login'] != '') { //jezeli ktos przez adres probuje kombinowac
exit;
}
if (
$_GET['haslo'] != '') { //jezeli ktos przez adres probuje kombinowac
exit;
}
$haslo md5($haslo); //szyfrowanie hasla
    
if (!$login OR empty($login)) {
include(
"head2.php");
echo 
'<p class="alert">Wypełnij pole z loginem!</p>';
include(
"foot.php");
exit;
}
    if (!
$haslo OR empty($haslo)) {
include(
"head2.php");
echo 
'<p class="alert">Wypełnij pole z hasłem!</p>';
include(
"foot.php");
exit;
}
$istnick mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM `uzytkownicy` WHERE `nick` = '$login' AND `haslo` = '$haslo'")); // sprawdzenie czy istnieje uzytkownik o takim nicku i hasle
    
if ($istnick[0] == 0) {
echo 
'<font color="white">Logowanie nieudane. Sprawdź pisownię nicku oraz hasła.</font>';
    } else {

$_SESSION['nick'] = $login;
$_SESSION['haslo'] = $haslo;
$zapytanie "UPDATE `uzytkownicy` SET `status` = 'online' WHERE `nick`='$nick'";
$idzapytania mysql_query($zapytanie);    
header("Location: indeks.php");
}
}
if(
$page=='wylog')
{
include(
"config.php");
$nick $_SESSION['nick'];
$haslo $_SESSION['haslo'];
$q mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM `uzytkownicy` WHERE `nick` = '$nick' AND `haslo` = '$haslo'"));
$zapytanie "UPDATE `uzytkownicy` SET `status` = 'offline' WHERE `nick`='$nick'";
$idzapytania mysql_query($zapytanie);    
    if (empty(
$nick) OR empty($haslo) OR $q[0] == 0) {
echo 
'<br>Nie byłe¶ zalogowany! <a href="index.php"><b>Strona Główna</b></a>.';
} else {
$_SESSION['nick'] = '';
$_SESSION['haslo'] = '';
session_destroy(); // tak na wszelki wypadek
echo '<br><font color="white">Zostałe¶ wylogowany.</font>';
}
}
ob_end_flush();
?>



RE: Pomocy - R_Rafalsky - 14-03-2011

Problem jest tu:
header("Location: indeks.php");

Sprawa wygląda tak: chcesz zmienić nagłówek, który już poleciał do przeglądarki (wystarczyło wysłać dowolny kod HTML by przed nim poszedł nagłówek). Nie możesz wysyłać nagłówka po wysłaniu jakiejkolwiek treści do przeglądarki, tym bardziej jego modyfikować.