Avatar billede steenolsen1 Nybegynder
01. februar 2005 - 08:55 Der er 1 kommentar og
1 løsning

Siden kan ikke vises - men den eksisterer

Hej,

jeg oplever det mest mærkelige jeg har oplevet i lang tid...

Er ved at lave et administrationsmodul, hvor man skal kunne tilføje grafik til sit layout på hjemmesiden. Det foregår ved en ganske almindelig upload funktion, som fungerer fint nok.

Jeg har en side, med uploadformularen på, der poster til en anden fil, hvor upload foretages og MySQL databasen skal opdateres, så filnavnet på grafikfilen registreres.

Problemet er at den side jeg poster til kun virker, når jeg sætter // foran min header location, som står korrekt øverst i dokumentet, header("Location: opret_css.php?designnavn=$_POST[designnavn]"); Når der ikke er // foran får jeg fejlmeldingen at siden ikke kan vises - I ved, som når en hjemmeside ikke eksisterer.

Hvorfor?

FILEN DER POSTES FRA (design.php)
echo '<form action="grafik_update.php" method="post" enctype="multipart/form-data">';
        echo '<input type="hidden" name="regdesignnavn" value="'.$vis_design[designnavn].'">';
        echo '<tr>';
        echo '    <td class="sub_td_left">Ydre baggrundsbillede</td>';
        echo '    <td class="sub_td_right"><input type="file" name="bodybgimage" size="31"> <input type="submit" name="bodybgimage_ok" value="Tilføj"> ';
        if($vis_design[bodybgimage] <> '') {
            echo '<a href="../design/'.$vis_design[designid].'/'.$vis_design[bodybgimage].'" target="_blank">Se nuv. billede</a>';
            echo '<input type="hidden" name="regbodybgimage" value="'.$vis_design[bodybgimage].'">';
        } else {
            echo 'Intet registreret';
        }
        echo '</td>';
        echo '</tr>';
        echo '</form>';
       

FILEN DER POSTES TIL (grafik_update.php)
<?
// ***************************
// ** GRAFIK TILKNYTTES HER **
// ***************************
header("Location: opret_css.php?designnavn=$_GET[designnavn]");

if(isset($_POST[bodybgimage_ok])) {
    // Vi ønsker at finde designid, da det er mappen billederne skal lægges i.
    include("connect.php");
    $q_info = mysql_query("SELECT * FROM design WHERE designnavn = '$_POST[regdesignnavn]'");
    $skin = mysql_fetch_assoc($q_info);
    mysql_close($connection);
   
    // Tjekker om et nyt bodybgimage erstatter det gamle
    if($_FILES['bodybgimage']['name'] <> '') {
        $uploaddir = '../design/'.$skin[designid].'/';
        $uploadfile = $uploaddir . $_FILES['bodybgimage']['name'];

        print "<pre>";
        if (move_uploaded_file($_FILES['bodybgimage']['tmp_name'], $uploadfile)) {
          print_r($_FILES);
        } else {
          print "Der opstod desværre en fejl. Information omkring fejlen:\n";
          print_r($_FILES);
        }
        print "</pre>";
        $body_bgimage = $_FILES['bodybgimage']['name'];
    }
   
    // Sletter billede
    elseif(isset($_POST['slet_billede'])) {
        $body_bgimage = '';
    }       
   
    // Bibeholder billede
    else {
        $body_bgimage = $_POST['regbodybgimage'];
    }
   
    // Opdaterer
    include("connect.php");
    mysql_query("UPDATE design SET bodybgimage = '$body_bgimage' WHERE designid = '$skin[designid]'");
    mysql_close($connection);
}
?>

opret_css.php er en fil, der opdaterer stylesheetet dynamisk.
Avatar billede coderdk Praktikant
01. februar 2005 - 09:51 #1
header("location:");

redirecter til en anden side, og der må ikke skrives noget ud før eller efter den, så enten:

header("Location: opret_css.php?designnavn=$_GET[designnavn]");
exit;

Eller fjern alt du skriver ud og placér den i slutningen af filen.
Avatar billede steenolsen1 Nybegynder
03. februar 2005 - 08:06 #2
Hej coderdk.

Tak for indlægget. Det fungerer nu fint nok som det er. Det der var problemet var en variabel, som ikke kom ordentlig med.... Nogle gange kan man ikke se skoven for bare træer...
Steen
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