Avatar billede stephanryer Nybegynder
19. december 2003 - 11:05 Der er 13 kommentarer og
1 løsning

videresending af side

hvordan gør jeg sådan at en php side automatisk sende mig videre til en ny side efter den har udført de scripts der er på den?
Avatar billede Slettet bruger
19. december 2003 - 11:10 #1
brug følgende:

header("location: dinside.php");
exit;
Avatar billede stephanryer Nybegynder
19. december 2003 - 11:14 #2
hvad er det det exit til?
Avatar billede Slettet bruger
19. december 2003 - 11:16 #3
Det sikre blot at hvis der findes noget efter du har sat header, bliver det ikke udført.
Avatar billede stephanryer Nybegynder
19. december 2003 - 11:21 #4
oh oke. tak. prøver det lige.

Vil du ikke give et eksempel på hvordan det skal stå i header?
Avatar billede Slettet bruger
19. december 2003 - 11:28 #5
Et lille eksempel for at vise princippet.

<?PHP
// Hvis formularen er submittet
if(isset($_POST[send])) {
   
    // husk at tilføje hvad der nu end skal ske her
   
    // vi sender brugeren videre
    header("location: foo.php");
    exit;
}

// hyppigt bruger man header funktionen, til at smide en brugere videre efter at have brugt en formular.
// men du kan selvfølgelig bruge den til hvad du nu har lyst til.
echo '
    <form action="" method="post">
      <input type="submit" name="send" value="send mig videre">
    </form>
';
?>
Avatar billede stephanryer Nybegynder
19. december 2003 - 11:44 #6
Warning: Cannot add header information - headers already sent by (output started at c:\apache\htdocs\da\high2.php:2) in c:\apache\htdocs\da\high2.php on line 39
Avatar billede Slettet bruger
19. december 2003 - 15:04 #7
Du kan ikke lave en header, hvis der allerede er sendt normalt indhold til browseren.

Prøv at starte dit script med

ob_start();
Avatar billede stephanryer Nybegynder
19. december 2003 - 15:43 #8
hvor skal det stå? I starten af hele filen? Istart af <? eller lige før det andet script?
Avatar billede stephanryer Nybegynder
19. december 2003 - 15:45 #9
Kender du ikke et script der kan vi vinduet til at lukke helt så? Det er et vindue jeg åbner fra en flash film som skal lukkes igen med det samme den har udførst sine scripts. (Den gemmer noget data i en fil)
Avatar billede Slettet bruger
19. december 2003 - 15:46 #10
det skal stå i starten af hele din fil. men stadig med php tags omkring.
<?php ob_start(); ?>
så springer den over "ligegyldige fejl"
Avatar billede Slettet bruger
19. december 2003 - 15:48 #11
Det skal stå før der bliver skrevet noget som helst. Jeg vil anbefale at starte filen med:

<?php
ob_start();

Husk der må heller ikke være mellemrum eller linieskift eller nogetsomhelst andet før <?php-koden.
Avatar billede stephanryer Nybegynder
19. december 2003 - 15:51 #12
jamen jeg bruger stones webwriter. den skriver automatisk <!-- Minus AutoDato --> først i filen??
Avatar billede stephanryer Nybegynder
19. december 2003 - 15:53 #13
Dette er koden som bruger nogle variabler der skrives i adresselinien når filen loades. Den bruger disse variabler og skriver dem ind i en txt-fil. Hvordan skal det hele stå hvis vinduet skal lukkes igen lige med det samme/videresende til ny side?:

<?php
$filename = 'score.txt';

$somecontent = "firstname=".$firstname."&firstscore=".$firstscore
                                ."&secondname=".$secondname."&secondscore=".$secondscore
                                ."&thirdname=".$thirdname."&thirdscore=".$thirdscore
                                ."&fourthname=".$fourthname."&fourthscore=".$fourthscore
                                ."&fifthname=".$fifthname."&fifthscore=".$fifthscore;
$utf8 = utf8_encode($somecontent);

// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {

    // In our example we're opening $filename in append mode.
    // The file pointer is at the bottom of the file hence
    // that's where $somecontent will go when we fwrite() it.
    if (!$handle = fopen($filename, 'w')) {
        print "Cannot open file ($filename)";
        exit;
    }

    // Write $somecontent to our opened file.
    if (!fwrite($handle, $utf8)) {
        print "Cannot write to file ($filename)";
        exit;
    }
   
    print "Success, wrote ($somecontent) to file ($filename)";
   
    fclose($handle);
                   
} else {
    print "The file $filename is not writable";
}
?>
Avatar billede Slettet bruger
20. december 2003 - 11:50 #14
Din kode skal nok se nogenlunde sådan ud:
Det Stone's WebWriter skriver, kan du jo blot slå fra.
Tryk Ctrl+Shift+I, og gå til fanen HTML-faciliteter.
Fjern så hakket ved "Opdateringsdato, format:"

<?php
ob_start();
$filename = 'score.txt';

$somecontent = "firstname=".$firstname."&firstscore=".$firstscore
                                ."&secondname=".$secondname."&secondscore=".$secondscore
                                ."&thirdname=".$thirdname."&thirdscore=".$thirdscore
                                ."&fourthname=".$fourthname."&fourthscore=".$fourthscore
                                ."&fifthname=".$fifthname."&fifthscore=".$fifthscore;
$utf8 = utf8_encode($somecontent);

// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {

    // In our example we're opening $filename in append mode.
    // The file pointer is at the bottom of the file hence
    // that's where $somecontent will go when we fwrite() it.
    if (!$handle = fopen($filename, 'w')) {
        print "Cannot open file ($filename)";
        exit;
    }

    // Write $somecontent to our opened file.
    if (!fwrite($handle, $utf8)) {
        print "Cannot write to file ($filename)";
        exit;
    }
   
    print "Success, wrote ($somecontent) to file ($filename)";
   
    fclose($handle);
    header("location: foo.php");
    exit;               
} else {
    print "The file $filename is not writable";
}
?>
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