Jump to content
php.lv forumi
Sign in to follow this  
bubu

"Headers already sent"

Recommended Posts

header Location'am ar else {} zaru nav nekāda sakara. To var lietot kā if daļā, tā arī else daļā, tāpat arī ārpus visiem if'iem.

Share this post


Link to post
Share on other sites

Es uzdevu konkrētu jautājumu kadu funkciju var izmantot iznjemot Header location, lai parmestu uz citu url. Kāda jēga apstrīdēt , to ka man šis gadījums neder. . . Par else ieminējos lai būtu skaidrāk kur es viņu likšu!

Share this post


Link to post
Share on other sites

Joprojām nesaprotu, kas vainas header(Location'am. Tas ļoti labi vienmēr strādā, kad to pareizi izmanto. Ja tev tas neder, tad aizmirsti par redirektu.

Jocīgs tas tev jautājums. Ja tev nebūtu tiesības veidot uz servera failus, tu nāktu prasīt kādu funkciju lietot fopen/file_put_contents vietā?

Share this post


Link to post
Share on other sites

Piebilde iesācējiem, kuri lieto Wampserver 2.0.

Var gadīties, ka uz mājas datora viss ir kārtībā, bet, pārceļot lapu uz gala serveri, parādās minētā kļūda. Tas notiek AndraP raksta beigās minētās rakstīšanas buferī dēļ. Failā php.ini jānomaina output_buffering=4096 uz output_buffering=0.

Share this post


Link to post
Share on other sites

Ļoti apšaubu, ka output_buffering atslēgšana ļaus novērst "Headears already sent" kļūdu. Tieši otrādi - tā ieslēgšana var palīdzēt.

Share this post


Link to post
Share on other sites

Izveido funkciju - js_redirect kurā uztaisi JS funkciju kas aiznes uz tevis definētu linku! jeb definē konfig failā $config['page'] = 'http://localhost/'; un veido šādi! - js_redirect(); jeb lūk būs info!

 

function js_redirect($page)
{
echo "<script>";
echo "document.location=\"$page\"";
echo "</script>";
}

Tālāk definējam config.php failā vai kaut kur tā.

$config['page'] = 'ADRESE';

un izvadam laukā kur mums gribas iet

js_redirect($config['page']);

 

Priekā .

Share this post


Link to post
Share on other sites

Sveicināti visie php`ieši.

Esmu šeit, kā redzat, jauniņais.

 

Izmantoju šo - http://php.lv/f/topic/16159-login-skripts-ar-sessijam/

 

Visu izdarīju kā vajadzētu. Un nonāku pie headers already sent errora. Varbūt varat kā līdzēt.

 

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\base.php:1) in C:\AppServ\www\base.php on line 2

 

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\base.php:1) in C:\AppServ\www\base.php on line 2

Share this post


Link to post
Share on other sites

tā tad nejiešu melot mācos u.t.t bet ar šo skaidrība netiku var lūdzu man kāds šo kodu salabot lai nebūtu tā erorra un ta cilvēciski paskaidrot kur bija čibele.

 

<?php
require('includes/main.inc.php');
if(!$main->member->isLoggedIn()){
 $already = true;
}else{
 $main->member->logout();
}
if(isset($already)){
 $main->printHeader("Logout");
?>

<div class='red'><div class='inner'>Tu jau esi izgajis !</div></div>

<?php
 $main->printFooter();
} else{
 header("location: ".main_WEB_URL."");
}
?>

Share this post


Link to post
Share on other sites

Vienīgā izeja: veikt ciklu pirms HTML izvades, ne izvades laikā.

Piemēram:

if($foo == 'bar'){
header('Location: gtfo');
exit; ///!!!!!!!!!! Pievērs uzmanību.
}else{
///HTML stuff
}

 

Uz client side redirect paļauties ir klajš ambālisms, piedodiet par manu franču valodu.

 

@xperience zīlnieču salons šeit nebūs gan. Kā lai mēs zinām, kas ir $main->printHeader("Logout") un $main->member->logout(); ?

Edited by F3llony

Share this post


Link to post
Share on other sites

Sveiki!

Šodien bija dilēma ar session_start. Kļūdu varēja novērst saglabājot failu bez bom, bet to izdarot nerādījās garumzīmes. Lai dabūtu garumzīmes, bija jasaglabā ar bom, bet tad kļūda atkal uzradās. Palīdzēja faila sākumā pielikt "header('Content-Type: text/html; charset=utf8');"

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...