Avatar billede th1 Nybegynder
15. marts 2005 - 12:52 Der er 13 kommentarer og
2 løsninger

Header Location

Hejsa eksperter jeg vil gerne lave Header Location og har prøvet selv men uden held :( 

måske i har nogen andre ider til det

her er min kode:

inden denne kode har jeg et par tabller og <td>  og lidt indhold

<?php
if (!$_GET["side"]) {
?>

<?php
}elseif ($_GET["side"] =="ok") {
?>


<?


$db = mysql_connect("min server", "mit brugernavn", "mit password");

mysql_select_db("min db",$db);

mysql_query("INSERT INTO indlaeg (navn, email, www, besked)

VALUES ('".$_POST['navn']."', '".$_POST['email']."', '".$_POST['www']."', '".$_POST['besked']."');") or die(mysql_error());

(header( "Location: index.php?side=GB" );

?>


på for hånd tak

m.v.h. th1
Avatar billede bromer Nybegynder
15. marts 2005 - 12:54 #1
Du printer jo nogle tomme linier før din header er der.. det må du ikke
Avatar billede bromer Nybegynder
15. marts 2005 - 12:54 #2
<?php
if (!$_GET["side"]) {

}elseif ($_GET["side"] =="ok") {


$db = mysql_connect("min server", "mit brugernavn", "mit password");

mysql_select_db("min db",$db);

mysql_query("INSERT INTO indlaeg (navn, email, www, besked)

VALUES ('".$_POST['navn']."', '".$_POST['email']."', '".$_POST['www']."', '".$_POST['besked']."');") or die(mysql_error());
header("Location: index.php?side=GB");
?>

så burde det virke.
Avatar billede th1 Nybegynder
15. marts 2005 - 13:04 #3
det virker ikke den kommer stadig med headers already sent by (output. Men det er nok fordi jeg har de tabeller og <TD> hvor der er noget indhold før det her :

<?php
if (!$_GET["side"]) {

}elseif ($_GET["side"] =="ok") {


$db = mysql_connect("min server", "mit brugernavn", "mit password");

mysql_select_db("min db",$db);

mysql_query("INSERT INTO indlaeg (navn, email, www, besked)

VALUES ('".$_POST['navn']."', '".$_POST['email']."', '".$_POST['www']."', '".$_POST['besked']."');") or die(mysql_error());
header("Location: index.php?side=GB");
?>


kan det være derfor??
Avatar billede bromer Nybegynder
15. marts 2005 - 13:05 #4
Ja, du må ikke have noget output før du sender en header. Det er noget som HTTP standarden foreskriver. Hvis du allerede har outputtet noget kan du redirecte med

<script type='text/javascript'>
document.location.href = 'some other place';
</script>
Avatar billede th1 Nybegynder
15. marts 2005 - 13:09 #5
oki  skal det bare stå der 'som other place'  eller skal jeg ændre det??
Avatar billede bromer Nybegynder
15. marts 2005 - 13:13 #6
det bør du ændre til hvor du gerne vil hen! Der skal nok stå:

<script type='text/javascript'>
document.location.href = 'index.php?side=GB';
</script>

Husk at det naturligvis skal være udenfor PHP
Avatar billede th1 Nybegynder
15. marts 2005 - 13:13 #7
ja oki tak  :)  prøver lige
Avatar billede madssj Nybegynder
15. marts 2005 - 13:17 #8
Du kunne også bare bruge php's output buffering, så må man godt sende headers/cookies midt inde i scriptet.

Du skal blot tilføje ob_start(); i starten af din kode.
Avatar billede th1 Nybegynder
15. marts 2005 - 13:26 #9
det med  <script type='text/javascript'>
document.location.href = 'some other place';
</script>  det bliver ved at prøve connecte til siden og til sidst kommer der en 404 fejl

men når jeg bruger ob_start(); så kommer der igen Headers fejlen  men hvor skal ob_start(); placeres henne?  :$
Avatar billede bromer Nybegynder
15. marts 2005 - 13:28 #10
Det er meget simpelt. Hvis du gerne vil stoppe dit output indtil hele phpkoden er udført skal du indsætte ob_start() i toppen af dit dokument.

Og se dog hvad jeg skrev tidligere. Du skal naturligvis ændre 'some other place' til der hvor du gerne ville hen. Som jeg skrev lidt senere troede jeg at det var index.php?side=GB. Har du prøvet med det?
Avatar billede th1 Nybegynder
15. marts 2005 - 13:30 #11
ja jeg har prøvet at ændre det til index.php?side=GB  også bare index.php  men uden held :S  oki det prøver jeg det ob_start();
Avatar billede bromer Nybegynder
15. marts 2005 - 13:31 #12
hvis det er uden held er det fordi din index.php ikke findes!
Avatar billede th1 Nybegynder
15. marts 2005 - 13:34 #13
wee nu virker det :)  men ob_start();  uhm jeg vil helst at i begge får point fordi nu var det "madssj" som kom med ideen til ob_start();  "men bommer" hjælp mig med det :)
Avatar billede madssj Nybegynder
15. marts 2005 - 13:51 #14
Tik
Avatar billede bromer Nybegynder
15. marts 2005 - 13:51 #15
Tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester