• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem strony na serwerze.

Object Storage Arubacloud
0 głosów
131 wizyt
pytanie zadane 17 października 2015 w PHP przez michal Mądrala (5,560 p.)

Wrzuciłem sobie witryne na serwer nastepnie gdy chciałem ja zobaczyć i przetestować strona wczytała się ale na początku pojawił się błąd : 

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/mp66/domains/mp66.linuxpl.info/public_html/dodaj.php:1) in/home/mp66/domains/mp66.linuxpl.info/public_html/dodaj.php on line 3

Strona na localhost działała prawidłowo i nie było żadnych problemów. 

Co może być nie tak? 

4 odpowiedzi

0 głosów
odpowiedź 17 października 2015 przez michal Mądrala (5,560 p.)
Nawet index.php generuje bląd, w ktorym nie ma polnczenia z baza.

mp66.linuxpl.info

Co może być przyczyną tego ?
0 głosów
odpowiedź 17 października 2015 przez furas Maniak (53,800 p.)

Dane wysyłane przez serwer składają się z dwóch rzeczy

- nagłówka (ang. header) w którym są ciasteczka, informacje o sesji itp.

- ciała (ang. body) w którym znajduje sie HTML

Domyślnie wykonanie komendy echo sprawia, że serwer od razu wysyła HTML do klienta a to oznacza, że musi najpierw wysłać nagłówek. Po wysłaniu nagłówka nie jest możliwe już jego modyfikowanie. 

U Ciebie prawdopodobnie zachodzi sytuacja, że chcesz modyfikować dane nagłówka, który już został wysłany.

Komenda `ob_start()` sprawia, że `echo` trafia do bufora i jest wysyłane do klienta dopiero po wykonaniu `ob_end_flush()` więc nagłówek wciąż jest niewysłany i można go modyfikować.

http://php.net/manual/en/function.ob-start.php

---

BTW: nauczenie się z jakiegoś frameworka ułatwiło by Ci tworzenie stron.

0 głosów
odpowiedź 17 października 2015 przez michal Mądrala (5,560 p.)

To jest kod tej strony:

<?php

	session_start();

?>

<!DOCTYPE HTML>
<html lang="pl">

	<head>
	
		<meta charset="utf-8"/>
		<title>Osa Game</title>
		
		<link rel="stylesheet" href="jquery-ui.min.css" type="text/css"/>
		<link rel="stylesheet" href="style.css" type="text/css"/>
		<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
		<script src="jquery-ui.min.js"></script>
		
		
	
	</head>
	
	<body onload="changeColor()">
	
		
		<div id="container">
			 
			 <div id="header"></div>
			 
			 
			 <div class="window" style="margin-left: 3.5%;">
				<div class="window_in" id="pole0"><img src = "pliki/1.png"/></div>
				<div class="window_in" id="pole1"><img src = "pliki/3.png"/></div>
				<div class="window_in" id="pole2"><img src = "pliki/5.png"/></div>
			 </div>
			 
			 <div class="window">
				<div class="window_in" id="pole3"><img src = "pliki/2.png"/></div>
				<div class="window_in" id="pole4"><img src = "pliki/4.png"/></div>
				<div class="window_in" id="pole5"><img src = "pliki/1.png"/></div>
			 </div>
			 
			 <div class="window" style="margin-right: 3.5%;">
			 <div class="window_in" id="pole6"><img src = "pliki/2.png"/></div>
			 <div class="window_in" id="pole7"><img src = "pliki/6.png"/></div>
			 <div class="window_in" id="pole8"><img src = "pliki/5.png"/></div>
			 </div>
			 
			 <div style="clear: both;"></div>
			 
			 
			 <div id="kredyt" class="point"><?php
			 
				$wartoscPoczatkowa = 100;
			 
				if (isset($_SESSION['wartoscPunkty']))
				{
				echo $_SESSION['wartoscPunkty'];
				}
				else
				{
					echo $wartoscPoczatkowa;
				}
				?></div>
			 
			 <div id="stawka" class="point"></div>
			 
			 <div style="clear: both;"></div>
			 
			 <div id="p_reset"><a id="submit" onclick="location.reload()">RESET</a></div>
			 <div id="p_stawka"><a id="submit" onclick="stawkaa()">STAWKA</a></div>
			 <div id="p_wyplata"><a id="submit" onclick="zapis()">WYPŁATA</a></div>
			 <div id="p_start"><a id="submits" onclick="czysc()">START</a></div>
			 
			 
		</div> <!-- conatainer -->
		
		<div id="register" style="display:<?php if (isset($_SESSION['display'])) echo $_SESSION['display']; ?>;">
		
			<h1 class="colorfull"> Zapisz się na liście zwycięzców </h1> <br/><br/><br/>
			<h2> Podaj swoje imie, lub ksywkę: </h2> <br/><br/>
			
			<form action="dodaj.php" method="post" id="form">
			
				<input id="form_name" type="text" name="name"/><br/><br/>
				<input id="form_pkt" type="text" name="points" class="colorfull" max="10" readonly/ value="<?php
			 
				$wartoscPoczatkowa = 100;
			 
				if (isset($_SESSION['wartoscPunkty']))
				{
				echo $_SESSION['wartoscPunkty'];
				}
				else
				{
					echo $wartoscPoczatkowa;
				}
				?>"><br/><br/><br/>
				
				<input type="submit" id="submit" value="ZAPISZ"/>
			</form>	
				<div><a href="pokaz_tabele.php" id="submit" onclick="">TABELA</a></div>
				<div id="p_anuluj"><a id="submit">ANULUJ</a></div>
			
			<br/><br/><br/>
			
			 <p id="info"><?php if (isset($_SESSION['info'])) echo $_SESSION['info']; ?></p>
		
		</div> <!-- register -->
		
		<script type="text/javascript" src="script.js"></script>
	</body>
	<?php
		unset($_SESSION['display']);
		unset($_SESSION['wartoscPunkty']);
		unset($_SESSION['info']);
	?>
</html>

Gdy testowałem strone na localhost działała bez problemu. Poprostu chciałem wykozystać przesyłanie zmiennych pomiedzy plikami za pomoca sesji tak jak w tutorialu Mirosława php odc.2. Mówił on ze wystarczy na samej górze dokumentu dodać session_start().

0 głosów
odpowiedź 17 października 2015 przez michal Mądrala (5,560 p.)
Czy ktoś sie może orientuje co tu moze być nie tak?
komentarz 17 października 2015 przez furas Maniak (53,800 p.)
U mnie już przeglądarka pokazuje stronę http://mp66.linuxpl.info/ bez komunikatu o błędzie.

Albo coś poprawiłeś teraz. Albo poprawiłeś dużo wcześniej tylko przeglądarka przez jakiś czas jeszcze wyświetlała mi stronę (z błędem) z cache'u zamiast pobierać nową.
komentarz 18 października 2015 przez michal Mądrala (5,560 p.)
Tak juz poprawiłem, kodowanie mialem utf8 BOM i przez to wyskakiwał błąd. Żeby bylo ciekawie to teraz mam problem z polonczeniem sie z baza. Jako nazwe hosta musze wpisac mp66.linuxpl.info  ?

Podobne pytania

0 głosów
1 odpowiedź 133 wizyt
pytanie zadane 21 maja 2021 w PHP przez kubekszklany Gaduła (3,190 p.)
0 głosów
2 odpowiedzi 234 wizyt
pytanie zadane 7 marca 2016 w PHP przez mowmiheniek Stary wyjadacz (11,900 p.)
–4 głosów
1 odpowiedź 117 wizyt
pytanie zadane 13 czerwca 2020 w HTML i CSS przez Staszek1990 Nowicjusz (120 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...