Avatar billede svjensen Nybegynder
29. april 2004 - 00:11 Der er 3 kommentarer og
1 løsning

Problem med upload af fil og tekst.

Jegforsøger vha. nedenstående script at uploade en fil med tilhørende tekst. Mit problem er bare, at det tilsyneladende kun er teksten der kommer med. (Det kan også ske at det bare er mig der ikke kan finde ud af at få oplysningerne frem.)

**********SCRIPT****************
<?
include("top.php");
?>
<script language=javascript>
function ValiderFil(form){
    if (form.userfile.value == ""){
        alert("Du skal vælge en fil.");
        return false;
    }else{
        if (form.titel.value == ""){
            alert("Du skal skrive en titel.");
            return false;
        }else{
            if (form.forklaring.value == ""){
                alert("Du skal skrive en beskrivelse.");
                return false;
            }else{
                return true;
            }
        }
    }
}
</script>

<center>
<h1>Velkommen til siden med læserbreve og lign.</h1>

<?
switch ($_GET['action']){
    case "add":
        if ($_SESSION['login'] == true){

            echo "userfile: ".$HTTP_POST_FILES['myfile']['tmp_name']."<br>";
            echo "userfile_name: ".$HTTP_POST_FILES['myfile']['name']."<br>";
            echo "userfile_size: ".$HTTP_POST_FILES['myfile']['size']."<br>";
            echo "userfile_type: ".$HTTP_POST_FILES['myfile']['type']."<br>";
            echo "titel: ".$_POST['titel']."<br>";
            echo "forklaring: ".$_POST['forklaring']."<br>";

            $link = $_POST['userfile'];
            $titel = $_POST['titel'];
            $forklaring = $_POST['forklaring'];
            $strSQL = "INSERT INTO indlaeg (link, titel, forklaring) VALUES ('$link', '$titel', '$forklaring')";
            echo $strSQL;
            //$res = mysql_query($strSQL) or die(mysql_error()." ".$strSQL);
            //header("location: links.php");

        }else{
            header("location: indlaeg.php");
        }
        break;

    case "edit":
        if ($_SESSION['login'] == true){

        }else{
            header("location: indlaeg.php");
        }

        break;

    case "delete":
        if ($_SESSION['login'] == true){

        }else{
            header("location: indlaeg.php");
        }

        break;

    default:

        if ($_SESSION['login'] == true){
            ?>
            <br><br><center>Tilføj fil<br>
            <table align=center>
            <form name=frm_new method=post enctype="multipart/form-data" action="indlaeg.php?action=add" onsubmit="return ValiderFil(this);">
            <tr><th>Filnavn</th><td><input type=file name=userfile></td></tr>
            <tr><th>Titel</th><td><input type=text name=titel></td></tr>
            <tr><th>Beskrivelse</th><td><textarea name=forklaring rows=5 cols=25></textarea></td></tr>
            <tr><td colspan=2 class=TDCenter><input type="submit" value="Tilføj indlæg"></td></tr>
            </form>
            </table>
        <?}
}
?>

</body>

</html>
*************************************

Mine echo'er i 'add' viser eksempelvis:
userfile:
userfile_name:
userfile_size:
userfile_type:
titel: as
forklaring: as
INSERT INTO indlaeg (link, titel, forklaring) VALUES ('', 'as', 'as')
Avatar billede dennismp Nybegynder
29. april 2004 - 00:22 #1
Du skal flytte filen fra din sti du modtager den i. Fx. brug move_uploaded_file. Når din kode er færdig, fjerne php nemlig uploadet filer (med mindre du har flyttet/fjernet dem før dette sker)
Avatar billede svjensen Nybegynder
29. april 2004 - 08:43 #2
Kan du udbygge dit eksempel lidt mere?
Avatar billede dennismp Nybegynder
29. april 2004 - 09:37 #3
Eksempel 18-2:
http://dk2.php.net/manual/en/features.file-upload.php

der vises meget godt hvordan move_uploaded_file bruges.
Avatar billede svjensen Nybegynder
25. juni 2008 - 10:59 #4
lukker
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