Autor Zpráva
stehno
Profil *
viete niekto ako presmerovat stranku po vystupe????

<html>
<head><title>
</title></head>
<body>
.............
<?php
if($_POST["name"]=="") {
  echo"<form....>\r\n";
  echo"<p><input type='text' name='data' />Meno</p>\r\n";
  atd....
  .......................
} else {
  $ggg=mysql_query("INSERT INTO account(name,pass,mail) VALUES('".$_POST["name"]."','".$_POST["pass"]."','".$_POST["mail"]."') ");
  if($ggg==true)
  {
  echo"OK";
  ///// potrebujem presmerovat na index
  ///// header pouzit nemozem.. :-(
  ///// da sa to nejako v phpcku???
  }
}
?>
.......................
</body></html>
ninja
Profil
Proc nemuzes pouzit header?

Primo v php:

header('Location: http://www.example.com/index.php');
header("Connection: close");
exit ();
stehno
Profil *
Proc nemuzes pouzit header?

Primo v php:

header('Location: http://www.example.com/index.php');
header("Connection: close");
exit ();


<html><head>
<title>test.php</title>
</head><body>

<?php
header('Location: http://localhost/test2.php'); 
header('Connection: close'); 
exit;
?>

</body></html>


Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\test.php:5) in C:\wamp\www\test.php on line 6

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\test.php:5) in C:\wamp\www\test.php on line 7
ninja
Profil
stehno: logiku aplikace (stranky) mej celou vyresenou predtim, nez zacnes neco vypisovat. Je to i prehlednejsi.
stehno
Profil *
stehno: logiku aplikace (stranky) mej celou vyresenou predtim, nez zacnes neco vypisovat. Je to i prehlednejsi.


struktura je takato...
len som chcel vediet ci sa da nejako presmerovat v php ak uz bolo nieco na vystupe..
pred headerom nesmie byt echo pokial tomu rozumiem.
chcel som vediet ci je este nejaka moznost. ak nie budem muset dat javascript :-((

index.php
<?php include("function.php"); ?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1250' />
<title><?php TitleBoot(); ?></title>
</head>
<body>

<?php
ConnectMySQL();

$index_page = $_GET["pg"];
$index_folder = "x_pages/";
$index_home_page = "home.php";
if($index_page)
{
if(file_exists($index_folder . $index_page . ".php"))
{include($index_folder . $index_page . ".php");}
else
{include($index_folder . "404.php");}
} else {
include($index_folder . $index_home_page);
}

if($SQL == true) { mysql_close($SQL); }
?>

</body>
</html>


********************************************************
index.php?pg=accoun
x_pages/account.php (nedokoncene)
function AccountRegisterSQL() {
 if(($_POST["regname"]=="")and($_POST["regpass"]=="")and($_POST["regmai l"]==""))
 {
  echo"<form action='index.php?pg=account&submit=true' method='post'>\r\n";
  echo"<p><input type='text' name='regname' size='20' maxlength='20' /> Meno</p>\r\n";
  echo"<p><input type='password' name='regpass' size='20' maxlength='20' /> Heslo</p>\r\n";
  echo"<p><input type='text' name='regmail' size='20' maxlength='30' /> Mail</p>\r\n";
  echo"<p><input type='submit' name='ok' /></p>\r\n";
  echo"</form>\r\n";
 }
 if($_GET["submit"]=="true")
 {
  if(($_POST["regname"]!="")and($_POST["regpass"]!="")and($_POST["regmai l"]!=""))
  {
  $ok_ko=mysql_query("INSERT INTO x_account(name,pass,mail) VALUES('".$_POST["regname"]."','".$_POST["regpass"]."','".$_POST["regm ail"]."')");
  if($ok_ko==true)
   {
    echo"True";
    ////////////////// POTREBUJEM PRESMEROVAT
   }
  }
 }
}
Mastodont
Profil
stehno
Nechápu tvou logiku. Ty chceš něco poslat na výstup a pak přesměrovat? Myslíš si, že ten předchozí výstup stihne někdo přečíst? :-))
Apostol
Profil *
stehno

jak se ti tady snaží nešikovně naznačit, nejdřív udělej PHP (tím nebudeš mít žádný výstup a můžeš přesměrovat) a pak HTML.
Leo
Profil
Pokud si opravdu myslite, ze je nezbytne, aby uzivatel cosi videl a pak mu stranka sama zmizela, tak to musite udelat na strane klienta - meta tag pro refresh nebo javascript (a v nem radeji location.replace nez jen zmena location.href), Leo
Jack Finger
Profil
stehno
souhlasím s ostatními, ale pokud chceš opravdu setrvat ve svém řešení, myslím, že se dá použít
ob_start() a ob_end_flush().
Leo
Profil
"souhlasím s ostatními, ale pokud chceš opravdu setrvat ve svém řešení, myslím, že se dá použít
ob_start() a ob_end_flush()."

Neda. To akorat umozni mit bordel v kodu (pouziva se na uplne jine veci), takze nedojde k chybe headers already sent, ale nic to nemeni na to, ze nema smysl posilat presmerovaci hlavicku a obsah zaroven. Co ma udelat prohlizec? Presmerovat (a ignorovat vystup) nebo zpracovat html (a ignorivat hlavicky 30x)? Leo
Jack Finger
Profil
Neda
Tak ne no. Asi se mi to popletlo s něčím jiným. Každopádně se přikláním ke všeobecnému názoru nejdřív PHP, pak výpis do prohlížeče.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: