webForumDet fria alternativet

skicka vidare efter det att text skrivits ut på en sida

PHP

3 svar · 314 visningar · startad av Prime_66

Medlem sedan aug. 2004290 inlägg
Frågan#1

Går det med hjälp av php skicka vidare användaren med t.e.x header('location:nysida.php') EFTER det att text redan skrivit ut på en sida? Antagligen inte..men jag behöver skicka vidare användaren efter det att ett externt program som startas av php är färdigt. Kolla här:

<?php //ovanför här laddas en fil upp. Sen kommer html sidan nedan i samma fil. ?>
<HEAD> 
<script>
function KillWindow() { 
if (typeof win != "object") { 
win = window.open("", "test1"); 
win.close(); 
} 
else { 
	if (!win.closed) { 
	win.close(); 
	} 
} 
} 

</script>
<TITLE>Uppladdningsresultat</TITLE> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD> 
<BODY onLoad="KillWindow()">

<?php
echo '<p class="normal">Din låt är uppladdad. Vänta medans filen konverteras.
</p>'; 

//Convert song for streaming
$kommando = '/usr/bin/notlame --verbose -m m --abr 16 /home/gabrielw/public_html/musicmaker/songs/'.$filename.' /home/gabrielw/public_html/musicmaker/lowsongs/'.$filename.'';
$returnstring = system ($kommando); 
//Här ska användaren skickas till en ny sida, men hur? Javascript kanske?
?>
</BODY>

</HTML>

Medlem sedan mars 20034 471 inlägg
#2

Du kan ju göra en forward till den sidan du vill ladda. Ex:

header("Location: nySida.php");
Medlem sedan aug. 2004290 inlägg
#3

ja..men det funkar ju inte om man redan skrivit ut något på sidan. header måste komma innan något skrivits ut verkar det som.

Medlem sedan aug. 20002 975 inlägg
#4

Du kan använda

header("Refresh: 2;URL=sida.php");

Headern måste sättas innan du gör någon output, sedan skickar den vidare efter 2 sekunder.

256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)