Avatar billede fancy Mester
11. april 2008 - 22:42 Der er 5 kommentarer og
1 løsning

header i php

Warning: Cannot modify header information - headers already sent by (output started at C:\web\htdocs\index.php:22) in C:\web\htdocs\faktura_create.php on line 100

denne fejl for når jeg vil kalde en anden side hvad gør jeg forkert

jeg hakker lige koden på

<?php



//hent salgssted id.
$salgs_sted_id = $_GET['id'];

$action = $_GET['action'];

//se om vi mangler at vælge et salgssted...
if($action == "") {

    echo '<h2>Vælg salgs sted</h2>';
    echo '<br>';
   
    $query = mysql_query("SELECT id,navn FROM `Salgs_sted`", $conn) or die(mysql_error());


    while ($row = mysql_fetch_array($query))
    {
        echo '<a href="?page=faktura_create&action=list&id=' . $row['id'] . '">- ' . $row['navn'] . '</a><br>';
    }

}




//hvis liste med varer der tilhører faktura...
if($action == "list") {

    echo '<h2>Tilføj varer til faktura.</h2>';
    echo '<br><br>Vælg på listen de varer du vil have tilføjet og angiv antallet';


   
    $query = mysql_query("SELECT hl.id, hl.navn, k.navn as knavn FROM `hovedlager` hl, kategori k WHERE k.id = hl.kategori_id ORDER BY k.navn", $conn) or die(mysql_error());

    //gem kategori navn...
    $kat = "";

    echo'<form METHOD=POST ACTION="index.php?page=faktura_create&action=add&id='. $salgs_sted_id .'">
            Antal: <input TYPE="text" NAME="antal" SIZE="10" MAXLENGTH="10" value="1">
          <select NAME="varer">';
   

    while ($row = mysql_fetch_array($query))
    {
        if($kat != $row['knavn']) {
            $kat = $row['knavn'];
            echo '<option VALUE="-">------' . $kat . '------</option>';
        }

        echo '<option VALUE="'. $row['id'] .'">' . $row['navn'] . '</option>';
    }

    echo '</select>
    <p>
          <input TYPE="submit" NAME="Request" VALUE="Tilføj denne varer">
    </p>
</form>';


    echo '<br><br>Denne faktura indeholder følgende varer:<br>';
   
    echo '<table border="0" width="100%" cellspacing="0" cellpadding="0">';
    echo '<tr><td>Antal:</td><td>Varer navn:</td></tr>';


    //lav faktura listen om til et array
    $liste_varer = explode(";", $_SESSION['faktura_varer']);
    $liste_antal = explode(";", $_SESSION['faktura_antal']);

    for($i=0; $i < count($liste_varer)-1; $i++)
    {
        $query = mysql_query("SELECT * FROM hovedlager WHERE id=".$liste_varer[$i], $conn) or die(mysql_error());
        $row = mysql_fetch_array($query);

        echo '<tr><td>'. $liste_antal[$i] .'</td><td>'. $row['navn'] .'</td></tr>';
    }

    echo '</table>';


    echo '<p align="center"><a href="?page=faktura_create&action=create&id=' . $salgs_sted_id . '"> Godkend og lav faktura</a></p>';
}




//se om der er tilføjet en varer...
if($action == "add") {

    if ($_POST['varer'] != "-") {
        $_SESSION['faktura_varer'] = $_SESSION['faktura_varer'] . $_POST['varer'] . ";";
        $_SESSION['faktura_antal'] = $_SESSION['faktura_antal'] . $_POST['antal'] . ";";
    }

    //tilbage til faktura listen
    header("location: index.php?page=faktura_create&action=list&id=". $salgs_sted_id);

}


//her oprette faktura....
if($action == "create") {

    //opret faktura...
    $query = mysql_query("INSERT INTO faktura (`tidspunkt`, `salgs_sted_id`) VALUES ('". date('Y-m-d H:i:s') ."', '". $salgs_sted_id ."');", $conn) or die(mysql_error());

    //hent faktura id...
    $query = mysql_query("SELECT id FROM faktura ORDER BY id DESC LIMIT 1");
    $row = mysql_fetch_array($query);

    $faktura_id = $row['id'];


    //indsæt alle varer i fakturar...
    $liste_varer = explode(";", $_SESSION['faktura_varer']);
    $liste_antal = explode(";", $_SESSION['faktura_antal']);

    for($i=0; $i < count($liste_varer)-1; $i++)
    {
        $query = mysql_query("INSERT INTO Bestilte_varer (`faktura_id`, `vare_id`, `antal`) VALUES ('".$faktura_id."', '". $liste_varer[$i] ."', '". $liste_varer[$i] ."');");
    }

    //fjern alle varer fra hukommelsen...
    $_SESSION['faktura_varer'] = "";
    $_SESSION['faktura_antal'] = "";

    //vis os fakturaen...
    header("location: index.php?page=faktura_se&id=". $faktura_id);
}



?>
Avatar billede straszek Praktikant
11. april 2008 - 22:57 #1
prøv at disable linjen header("location: index.php?page=faktura_create&action=list&id=". $salgs_sted_id); - så får du nok et bedre bud på hvor fejlen ligger
Avatar billede straszek Praktikant
11. april 2008 - 22:58 #2
og ligeledes denne : header("location: index.php?page=faktura_se&id=". $faktura_id);
Avatar billede straszek Praktikant
11. april 2008 - 22:59 #3
fejlen du oplever angiver at scriptet ikke kan redirecte da der har været output til browseren inden header - ved at disable dine header skulle du gerne få oplysninger om hvad fejlen skyldes.
Avatar billede fancy Mester
11. april 2008 - 23:08 #4
ok det har jeg prøvet men så er der ingen ting at vise i browser, alså¨jeg for bare en blank side
Avatar billede tflarsen Nybegynder
13. april 2008 - 18:01 #5
i stedet for at bruge header location til at redirecte med, så prøv at bruge javascript onload i stedet for, fx:
echo "<body onload=\"parent.location=index.php?page=faktura_se&id=".$faktura_id."\">";

eller en meta header:
echo "<meta http-equiv=\"refresh\" content=\"0;url=index.php?page=faktura_se&id=".$faktura_id."\">";
Avatar billede fancy Mester
13. april 2008 - 22:44 #6
jeg har valgt og instaler ubuntu så var alle mine problemmer løst
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