Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Poruka o gresci, pomoc

[es] :: PHP :: PHP za početnike :: Poruka o gresci, pomoc

[ Pregleda: 5288 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

iizuzetan

Član broj: 186478
Poruke: 375
*.dynamic.isp.telekom.rs.



+16 Profil

icon Poruka o gresci, pomoc30.10.2010. u 13:30 - pre 163 meseci
Javlja mi se sledeca poruka o gresci:

Code:

Warning: Cannot modify header information - headers already sent by (output started at /home/zaljubi/public_html/registracija/funkcije.php:3897) in /home/zaljubi/public_html/registracija/registracija.php on line 52


O cemu se tu radi, jel zna neko?
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.dynamic.stcable.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Poruka o gresci, pomoc30.10.2010. u 13:49 - pre 163 meseci
Lepo ti kaze: ne moze da prosledi header-e jer je vec zapoceo output. Header-e moras da saljes pre bilo kakvog ispisa.
 
Odgovor na temu

iizuzetan

Član broj: 186478
Poruke: 375
*.dynamic.isp.telekom.rs.



+16 Profil

icon Re: Poruka o gresci, pomoc30.10.2010. u 13:56 - pre 163 meseci
Citat:
kazil: Lepo ti kaze: ne moze da prosledi header-e jer je vec zapoceo output. Header-e moras da saljes pre bilo kakvog ispisa.


A vidi to mi se javlja sad kod novog hostinga a pre je radilo sve kako treba, zasto je to tako? kako su to ovi namestili PHP ako je kod prethodnog sve radilo?
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.dynamic.stcable.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Poruka o gresci, pomoc30.10.2010. u 13:59 - pre 163 meseci
Nije ti radilo, najverovatnije je bilo samo ugaseno prikaz gresaka. Kada radis razvoj necega, uvek, ali uvek radi sa prikazom svih gresaka - ini_set('display_errors','on'); error_reporting(E_ALL);, na produkcionom serveru ugasis prikaz gresaka i neces imati ovakvih problema. Da li sam napomenuo da uvek radis ovako? :)
 
Odgovor na temu

iizuzetan

Član broj: 186478
Poruke: 375
*.dynamic.isp.telekom.rs.



+16 Profil

icon Re: Poruka o gresci, pomoc30.10.2010. u 14:17 - pre 163 meseci
Pa kako onda da redirektujem programski ako header tako zeza? Jel postoji neka druga funkcija koja nije toliko uvrnuta?

Evo kod koji me zeza:

Code:

......
..........
................. 

        $poruka=formaregistracija($username,$password2,$korisnikid);
        if(slanjemejla ($mejl,'REGISTRACIJA',$poruka)){
             ( TAJ ME ZEZA )header ("location: http://www.zaljubi.com/index.php?u=registracija&greskaa=9");
        }else{header ("location: http://www.zaljubi.com/index.php?u=registracija&greskaa=6");exit;}
        exit;        
}
?>



Znaci (TAJ ME ZEZA) header me zeza. Ali zeza tako da se ne ostvari redirekcija a meni je jako vazno da se ostvari. Kako da ispravim, jel da koristim neku drugu funkciju ili trebam nekako drugacije da napisem header funkciju?
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
*.dynamic.isp.telekom.rs.



+34 Profil

icon Re: Poruka o gresci, pomoc30.10.2010. u 14:52 - pre 163 meseci
Sta imas u liniji: /public_html/registracija/registracija.php on line 52 ?

Drugo, bolje resenje: koristi http://php.net/manual/en/function.ob-start.php
 
Odgovor na temu

iizuzetan

Član broj: 186478
Poruke: 375
*.dynamic.isp.telekom.rs.



+16 Profil

icon Re: Poruka o gresci, pomoc30.10.2010. u 15:06 - pre 163 meseci
Citat:
mitke013: Sta imas u liniji: /public_html/registracija/registracija.php on line 52 ?

Drugo, bolje resenje: koristi http://php.net/manual/en/function.ob-start.php


Imam (TAJ ME ZEZA) liniju

A ne mogu da skontam ob_start() funkciju. KJako da njom zamenim sledecu liniju?

Code:

header ("location: http://www.zaljubi.com/index.php?u=registracija&greskaa=9");


I kako na prethodnom hostingu sve je radilo kako treba a sad zeza? Kakve su to razlike imzedju PHP-a starog i novog hostinga? Da li to samo ovaj novi hosting zeza ili kad bih preso i kod drugih opet bi zezalo?
 
Odgovor na temu

japan

Član broj: 34328
Poruke: 480
*.dynamic.sbb.rs.



+13 Profil

icon Re: Poruka o gresci, pomoc30.10.2010. u 15:57 - pre 163 meseci
Nije problem ta linija, vec neka prethodna u kojoj imas neki ispis, pa onda header ne moze da se izvrsi, jer ta funkcija mora da ide pre bilo kakvog ispisa.

A Robert ti je vec lepo odgovorio kako da prevazidjes ovaj problem, samo jos da procitas.
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
*.dynamic.isp.telekom.rs.



+34 Profil

icon Re: Poruka o gresci, pomoc30.10.2010. u 16:07 - pre 163 meseci
Citat:
iizuzetan: Imam (TAJ ME ZEZA) liniju

A ne mogu da skontam ob_start() funkciju. KJako da njom zamenim sledecu liniju?

Code:

header ("location: http://www.zaljubi.com/index.php?u=registracija&greskaa=9");


I kako na prethodnom hostingu sve je radilo kako treba a sad zeza? Kakve su to razlike imzedju PHP-a starog i novog hostinga? Da li to samo ovaj novi hosting zeza ili kad bih preso i kod drugih opet bi zezalo?


Moja greska; hteo sam da te pitam sta imas u liniji: /home/zaljubi/public_html/registracija/funkcije.php:3897 ?

Gle, prica o headerima je sledeca:

ako uradis echo 'tekst' ; ili mesas HTML i php
to se vec smatra da je 'output started'. Isto vazi i ako imas .php fajl, ali npr. <?php nije odmah u prvom redu vec recimo drugom. Tj. prvi red je 'enter', sto je opet dovoljno da browser smatra za output started. Mislim da se to spada u 'white characters'. Itd... duga prica.

Problem je lako resiti:
svaki .php fajl mora da pocne ODMAH sa <?php . Ne drugi red, ne nekoliko space-ova... vec bukvalno odmah.
PHP fajlove nemoj nikad da zatvaras. Totalno je nepotrebno, a posle ;?> se cesto nadje opet neki enter. Ako si radi include-ove, hvata te isti problem. Ako koristis ajax gde JS proverava tacno odredjen string poslat od php-a, opet nece da valja ako si zatvorio .php fajl.

ob_start():
Ako uradis echo 'nesto'; ili stavis html, to se nece odmah poslati browser-u vec se cuva u kesu. Medjutim, header-i prolaze odmah. Ako koristis MVC pattern (uglavnom jedna ulazna tacka), dovoljno je da u index.php fajlu stavis ob_start() i resio si problem.

Ovo za hosting; stvarno nemam pojma.

 
Odgovor na temu

iizuzetan

Član broj: 186478
Poruke: 375
*.dynamic.isp.telekom.rs.



+16 Profil

icon Re: Poruka o gresci, pomoc30.10.2010. u 16:39 - pre 163 meseci
Mitke hvala razumeo sam. Sad sam dodao na tom fajlu za registraciju na samom pocetku funkciju ob_start() a na samom kraju sam dodao funkciju ob_end_flush () i sad mi OK radi redirekcija.

Medjutim sad mi na logout.php fajl ne radi header iako sam i kod nejga sve odradio kao kod php fajla za registraciju. Evo ovako izgleda kod:

Code:

<?php
ob_start();
error_reporting(0);
include('vkuyy.php');
@session_start();
$korisnikid=$_SESSION['login'];
$q=@mysql_query("select * from korisnicisesije where korisnikid='".$korisnikid."'");
if (@mysql_num_rows($q)!=0){
     @mysql_query("delete from korisnicisesije where korisnikid='".$korisnikid."'");
}

unset($_SESSION);
unset($_COOKIE);
$_SESSION = array();
session_unset();
session_destroy();

header ("location: http://www.zaljubi.com/index.php");exit;

ob_end_flush ();
?>


Znaci zaglavi se na http://www.zaljubi.com/logout.php a nece da redirektuje na http://www.zaljubi.com/index.php i pri tome sad u opste i ne izbaci nikakvu gresku kad izbacim iz koda error_reporting(0) !!

Sta sad moze da bude problem, sta mislita, inace logout ok uradi jer kad ja rucno udjem na http://www.zaljubi.com/index.php ja sam izasao iz login ????
 
Odgovor na temu

mitke013
As Divljine
Freelancer

Član broj: 231934
Poruke: 338
*.dynamic.isp.telekom.rs.



+34 Profil

icon Re: Poruka o gresci, pomoc30.10.2010. u 16:49 - pre 163 meseci
Ajde procitaj opet kazilovu poruku i kasce ti se samo
 
Odgovor na temu

iizuzetan

Član broj: 186478
Poruke: 375
*.dynamic.isp.telekom.rs.



+16 Profil

icon Re: Poruka o gresci, pomoc30.10.2010. u 16:56 - pre 163 meseci
Citat:
mitke013: Ajde procitaj opet kazilovu poruku i kasce ti se samo :)


Pa ne pokazuje greske kad omogucim da prikaze greske, samo se pojavi bela stranica a ne izvrsi redirekciju.
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.ptt.rs.



+257 Profil

icon Re: Poruka o gresci, pomoc30.10.2010. u 17:11 - pre 163 meseci
Ne znam sto ti pomazem, ali ajde...

Izbacio onaj exit posle header, izbaci (ako ti je to ceo kod) obe ob_ funkcije, nisu potrebne, i sve ce ponovo raditi.

exit funkcija u ovom slucaju se izvrsi pre ob_end_flush i zaustavi izvrsavanje, zato dobijes belu stranicu :)
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

iizuzetan

Član broj: 186478
Poruke: 375
*.dynamic.isp.telekom.rs.



+16 Profil

icon Re: Poruka o gresci, pomoc30.10.2010. u 17:22 - pre 163 meseci
Citat:
Jbyn4e: Ne znam sto ti pomazem, ali ajde...

Izbacio onaj exit posle header, izbaci (ako ti je to ceo kod) obe ob_ funkcije, nisu potrebne, i sve ce ponovo raditi.

exit funkcija u ovom slucaju se izvrsi pre ob_end_flush i zaustavi izvrsavanje, zato dobijes belu stranicu :)


Ne vredi, sve sto si napisao sam uradio i opet isto. Cak sam i sve izmenio i samo je stajalo:

Code:

<?
header ("location: http://www.zaljubi.com/index.php");
?>


I opet nece a <? pocinje bas bas na samom pocetku a pokazuje gresku sledecu?

Code:

Warning: Cannot modify header information - headers already sent by (output started at /home/zaljubi/public_html/registracija/logout.php:1) in /home/zaljubi/public_html/registracija/logout.php on line 2


[Ovu poruku je menjao iizuzetan dana 30.10.2010. u 18:52 GMT+1]
 
Odgovor na temu

iizuzetan

Član broj: 186478
Poruke: 375
*.dynamic.isp.telekom.rs.



+16 Profil

icon Re: Poruka o gresci, pomoc30.10.2010. u 18:00 - pre 163 meseci
Ne mogu da verujem. Na kraju sam se iznervirao i izbrisao logout.php fajl i napravio potpuno novi. Kad sam ubacio novi sve radi kako treba. Kako kad je sve vizuelno bilo identicno?? Da li to znaci da u samom fajlu je postojao neki ispis a da se to nije vidlo, kako to?
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Poruka o gresci, pomoc30.10.2010. u 18:18 - pre 163 meseci
http://www.elitesecurity.org/t96073-0#1348151 ali kada je neko lenj i ne želi da čita, ne vredi mu ni pisati.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

KumRusvelt
Božidar Mirković
Beograd, Srbija

Član broj: 248295
Poruke: 18
*.dynamic.isp.telekom.rs.



Profil

icon Re: Poruka o gresci, pomoc02.11.2010. u 16:34 - pre 163 meseci
Kao početnik u korišćenju php-a, pokušao sam izvesti akciju korišćenjem radio dugmadi da se sa jedne stranice
prebaci na drugu stranicu putem izbora pritiskom na dugme i potom slanja.
Problem sam imao u tome kada se odabere dugme pravo dobijam sledeću poruku o grešci:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\test\izbor.php:6) in C:\xampp\htdocs\test\izbor.php on line 48
a, kada se odabere dugme ekonomija sledi poruka o grešci:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\test\izbor.php:6) in C:\xampp\htdocs\test\izbor.php on line 51
Gotovo sam pomislio da grešim u izboru koda, i kada sam posetio ovaj post odlučio sam da poslušam savete o upotrebi
ob_start(); i ob_flush(); funkcija i sada konačno mogu da odahnem. Sve funkcioniše besprekorno, evo mog primera:
//////////////////////////////////////////////////////
//output_bib.php funkcija izgleda stranice izbora
function izbor() {
?>
<table width="75%" border="0" align="center">
<tr>
<td width="23%" valign="top" height="392"><p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<?php include_once "left_AD_template.php"; ?>
<p>&nbsp;</p>
<p>&nbsp;</p></td>
<td width="42%" valign="top"><p>&nbsp;</p>
<p>&nbsp;</p>
<?php
if (!isset($_POST['Submit1'])) {
$selected_radio = ['izbor'];
if ($selected_radio == 'pravo') {
header("Location: pravo.php");
}
else if ($selected_radio == 'ekonomija') {
header("Location: ekonomija.php");
}
}
?>
<form id="form1" name="form1" method="post" action="izbor.php">
<table width="100%" border="0" align="center">
<tr>
<td width="9%"><input type="radio" name="izbor" id="pravo" value="pravo" /></td>
<td width="29%">Firme</td>
<td width="9%"><input type="radio" name="izbor" id="ekonomija" value="ekonomija" /></td>
<td width="32%">Fizička lica</td>
<td width="21%"><input type="submit" name="Submit1" id="submit" value="Submit1" /></td>
</tr>
</table>
</form>
<p>&nbsp;</p></td>
<td width="35%"valign="top" ><p><?php include_once "right_AD_template.php"; ?></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p></td>
</tr>
</table>
<?php
}
?>
//////////////////////////////////////////////////////////////////////////////////////
//stranica izbor.php
<?php ob_start(); ?>
<?php
require_once "scripts/function.php";
require_once "output_bib.php";
pageHeader('');
izbor();
pageFooter();
?>
<?php ob_flush(); ?>
////////////////////////////////
P.S. <?PHP print "Zahvaljujem se svima na ovoj pomoći!" ?>
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Poruka o gresci, pomoc

[ Pregleda: 5288 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.