M'n Upload ding doet niet wat ik wil.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Pieter ten Boomen

Pieter ten Boomen

03/10/2009 02:17:00
Quote Anchor link
Hallo, ik heb een website, met daarop een video pagina. Ik heb ook een database met links naar de video en gedoe. Maar nu probeer ik al 2 dagen een pagina te maken voor op mijn site, zodat ik daarvandaan de video's en alles kan uploaden en niet via mn host enzo. maar dat werkt niet helemaal en ik snap niet waarom.

Ik heb zoveel als ik weet geprobeert om het werkend te krijgen, maar het wil gewoon niet.

Hier is het formulier

<form enctype="multipart/form-data" action="videouploadfile.php" method="POST">
Naam: <input type="text" name="naam"><br>
Titel: <input type="text" name="titel"><br>
Beschrijving: <input type="text" name = "beschrijving"><br>
Maker: <input type="text" name = "maker"><br>
Bestand: <input type="file" name="video"><br>
<input type="submit" value="Voeg toe!">
</form>

en dan videouploadfile.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php

//This is the directory where images will be saved
$target = "video/";
$target = $target . basename( $_FILES['video']['naam']);

//This gets all the other information from the form
$naam=$_POST['naam'];
$titel=$_POST['titel'];
$beschrijving=$_POST['beschrijving'];
$maker=$_POST['maker'];
$video=($_FILES['video']['naam']);

// Connects to your Database
mysql_connect("host","username","pass") or die(mysql_error()) ;
mysql_select_db("database") or die(mysql_error()) ;

//Writes the information to the database
mysql_query("INSERT INTO `video` VALUES ('$naam', '$titel', '$beschrijving', '$maker', '$video')") ;

//Writes the video to the server
if(move_uploaded_file($_FILES['video']['tmp_naam'], $target))
{


//Tells you if its all ok
echo "Het bestand is geupload en staat nu dus online! :-)";
}

else {

//Gives and error if its not
echo "Sorry, er was een probleem bij het uploaden!.";
}

?>
 
PHP hulp

PHP hulp

22/12/2024 10:21:04
 
Michael -

Michael -

03/10/2009 03:30:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mysql_query("INSERT INTO `video` VALUES ('$naam', '$titel', '$beschrijving', '$maker', '$video')") ;
?>

Dit kan toch ook niet werken? en sowieso variabelen buiten quotes!
Probeer is zoiets als dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
mysql_query("INSERT INTO video (Veldvoornaam, veldvoortitel, veldvoorbeschrijving, veldvoormaker, veldvoorvideo) VALUES ($naam, $titel, $beschrijving, $maker, $video)") ;

//of zo:
mysql_query("INSERT INTO video SET
Veldvoornaam = "
.$naam."
,veldvoortitel = "
.$titel."
,veldvoorbeschrijving = "
.$beschrijving."
,veldvoormaker = "
.$maker."
,veldvoorvideo = "
.$video) ;
?>

Je moet ook zorgen voor foutafhandeling, anders kan je nooit zien waar 't fout gaat.

Het heeft ook geen enkele zin om je POST variabelen in nieuwe variabelen te zetten terwijl je er verder toch niks mee doet. En je beveiligt helemaal niks.
Gewijzigd op 01/01/1970 01:00:00 door Michael -
 
Pieter ten Boomen

Pieter ten Boomen

03/10/2009 13:38:00
Quote Anchor link
Oke, het uploaden werkt nu maar nu moet het nog in de database komen...

het kan ook weer een harstikke domme fout zijn, maar kan iemand me hierbij helpen...

Ik heb nu dit,

<form enctype="multipart/form-data" action="videouploadfile.php" method="POST">
Naam: <input type="text" name="naam"><br>
Bestandsnaam: <input type=text name=bestandsnaam><BR>
Titel: <input type="text" name="titel"><br>
Beschrijving: <input type="text" name = "beschrijving"><br>
Maker: <input type="text" name = "maker"><br>
Bestand: <input type="file" name="video"><br>
<input type="submit" value="Voeg toe!">
</form>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php

//This is the directory where images will be saved
$target = "video/";
$target = $target . basename( $_FILES['video']['name']);

//This gets all the other information from the form
$naam=$_POST['naam'];
$bestandsnaam=$POST['bestandsnaam'];
$titel=$_POST['titel'];
$beschrijving=$_POST['beschrijving'];
$maker=$_POST['maker'];
$video=$_FILES['video']['name'];

// Connects to your Database
mysql_connect("host","username","pass") or die(mysql_error()) ;
mysql_select_db("database") or die(mysql_error()) ;

// Plaatst het in de Database
mysql_query("INSERT INTO video (naam, bestandsnaam, titel, beschrijving, maker, video) VALUES ($naam, $bestandsnaam, $titel, $beschrijving, $maker, $video)") ;

//Writes the video to the server
if(move_uploaded_file($_FILES['video']['tmp_name'], $target))
{


//Tells you if its all ok
echo "Het bestand is geupload en staat nu dus online! :-)";
}

else {

//Gives and error if its not
echo "Sorry, er was een probleem bij het uploaden! ";
}

?>
 
Jan Koehoorn

Jan Koehoorn

03/10/2009 13:51:00
Quote Anchor link
Waarom check je niet of deze query lukt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
mysql_query("INSERT INTO video (naam, bestandsnaam, titel, beschrijving, maker, video) VALUES ($naam, $bestandsnaam, $titel, $beschrijving, $maker, $video)") ;

En waarom zet je rechtstreekts $_POST variabelen in een INSERT query? Dat is erg onveilig.
 
Michael -

Michael -

03/10/2009 13:54:00
Quote Anchor link
Zoals ik ook zei: Het heeft geen zin om een POST variabele in een nieuwe variabele te zetten als je er toch niks mee doet. En je moet die POST beveiligen want er kan nu code worden uitgevoerd via je POST.
En zorg voor foutafhandeling op de query dan zie je mogelijk waar 't fout gaat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
// Plaatst het in de Database
$sql = "INSERT INTO video (naam, bestandsnaam, titel, beschrijving, maker, video) VALUES ($naam, $bestandsnaam, $titel, $beschrijving, $maker, $video)";
$res = mysql_query($sql);
if($res)
    echo 'Data is toegevoegd';
else
    echo 'Er is een fout opgetreden:<br />'.mysql_error();
?>

En plaats die fout melding dan weer even hier as je er daarna nog niet uit komt.
 
Pieter ten Boomen

Pieter ten Boomen

03/10/2009 14:34:00
Quote Anchor link
Ik heb het stukje van Turmin gedaan, maar nu krijg ik deze foutmelding

Er is een fout opgetreden:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' , , , , )' at line 1

en hoe bedoelen jullie dit, En waarom zet je rechtstreekts $_POST variabelen in een INSERT query? Dat is erg onveilig.

en dit, Het heeft geen zin om een POST variabele in een nieuwe variabele te zetten als je er toch niks mee doet. En je moet die POST beveiligen want er kan nu code worden uitgevoerd via je POST.

ik weet t, ben een newbie
Gewijzigd op 01/01/1970 01:00:00 door Pieter ten Boomen
 
Obelix Idefix

Obelix Idefix

03/10/2009 15:10:00
Quote Anchor link
Je kunt zelf testen wat de insert zou moeten doen: probeer eens met echo $sql; wat er in $sql staat. Mogelijk dat je dan heel snel ziet wat er fout is.
Gewijzigd op 01/01/1970 01:00:00 door Obelix Idefix
 
Pieter ten Boomen

Pieter ten Boomen

03/10/2009 15:22:00
Quote Anchor link
dankje maar nu heb ik dit

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php

//This is the directory where images will be saved
$target = "video/";
$target = $target . basename( $_FILES['video']['name']);

//This gets all the other information from the form
$naam=$_POST['naam'];
$bestandsnaam=$POST['bestandsnaam'];
$titel=$_POST['titel'];
$beschrijving=$_POST['beschrijving'];
$maker=$_POST['maker'];
$video=$_FILES['video']['name'];

// Connects to your Database
mysql_connect("host","username","pass") or die(mysql_error()) ;
mysql_select_db("database") or die(mysql_error()) ;

// Plaatst het in de Database
$sql = "INSERT INTO video (naam, bestandsnaam, titel, beschrijving, maker, video) VALUES ($naam, $bestandsnaam, $titel, $beschrijving, $maker, $video)";
$res = mysql_query($sql);
if($res)
    echo 'Data is toegevoegd';
else
    echo 'Er is een fout opgetreden:<br />'.mysql_error();
    echo $sql;

//Writes the video to the server
if(move_uploaded_file($_FILES['video']['tmp_name'], $target))
{


//Tells you if its all ok
echo "Fantosties! Het bestand is geupload en staat nu dus online! :-)";
}

else {

//Gives and error if its not
echo "Sorry, er was een probleem bij het uploaden! Probeer opnieuw of neem contact op met de Webmaster van deze site via [email protected].";
}

?>


en bij echo $sql; staat er nu

INSERT INTO video (naam, bestandsnaam, titel, beschrijving, maker, video) VALUES (12, , 34, 45, 56, 666133.jpg)Fantosties! Het bestand is geupload en staat nu dus online! :-)

dus er mist er een bij VALUES, want er staan 2 commas naast elkaar
 
Pieter ten Boomen

Pieter ten Boomen

03/10/2009 21:44:00
Quote Anchor link
SUPER, heb het al opgelost, beetje een rotzooitje maar daar gaat t niet om... iedereen in ieder geval bedankt voor jullie hulp!
mod-edit::
Bumpen
Twee of meer keer na elkaar in een topic posten, voordat andere forumleden gereageerd hebben, heet "bumpen". Omdat het opdringerig overkomt is bumpen pas na 24 uur toegestaan. Bumpen kan een reden zijn voor de admins en mods om een topic te sluiten. Gebruik het Afbeelding knopje om je tekst aan te passen indien nodig.
Gewijzigd op 01/01/1970 01:00:00 door Pieter ten Boomen
 
Michael -

Michael -

04/10/2009 01:37:00
Quote Anchor link
Quote:
Jelmer: en hoe bedoelen jullie dit, En waarom zet je rechtstreekts $_POST variabelen in een INSERT query? Dat is erg onveilig.


Vind jij de eerste manier veiliger dan de tweede manier? (zie code hieronder)
Niet dus, want beide doen precies 't zelfde, alleen de eerste is omslachtig.
De derde versie is 't veiligst. Vergeet je code niet te beveiligen want zoals je 'm nu hebt kan alles op je site worden uitgevoerd zoals kwaadaardige code.

Eerst manier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$naam
= $_POST['naam'];
mysql_query("INSERT INTO tabel SET naam = ".$naam)
?>


Tweede manier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mysql_query("INSERT INTO tabel SET naam = ".$_POST['naam'])
?>


Derde manier:
Tweede manier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mysql_query("INSERT INTO tabel SET naam = ".mysql_real_escape_string($_POST['naam']))
?>
 
Pieter ten Boomen

Pieter ten Boomen

04/10/2009 01:41:00
Quote Anchor link
maar kan ik dan niet alles laten verzenden in plaats van alleen naam?
 
Mr.Ark

Mr.Ark

04/10/2009 01:43:00
Quote Anchor link
@ Turmin

Niet UPDATE en INSERT door elkaar halen he ^-^

@ Jelmer

Zal zo wel even mijn creatie laten zien (jouw script opgeknapt), Kan je hem verder zelf uitbouwen maar dan ben je in ieder geval op de goede weg.

Edit:


1. Zelf weet ik niet hoe je te werk gaat etc, dus het kan zijn dat je het een beetje moet aanpassen (moet sowieso toch als je het gebruikt)
2. Je moet zelf nog even de HTML toevoegen.
3. Pas de query even aan naar jouw wensen.
4. Je laat ook een naam etc toevoegen, Maak daar ook even een check voor.
5. De errors die worden gegeven als er iets fout gaat kan nog wat netter.

Heb het snel uit de losse hand beetje herschreven, dus kijk maar wat je ermee doet. (kunnen nog kleine schrijf foutjes inzitten)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?PHP

# Errors weergeven
error_reporting(E_ALL);

# Connectie maken met de database
mysql_connect("host","username","pass") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());

# Plek waar het bestand komt
$Target = 'video/'.basename($_FILES['video']['name']);

# Toegestane bestand types
$Allowed = array('.avi', '.mpeg', '.wmv');

# Max aantal kb (10mb)
$Max = 10000000;

# Kijken of er een formulier wordt gepost
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    # Bestand extensie ophalen
    $Extensie = strtolower(substr($_FILES['video']['naam'], -3));

    # Kijken of het bestand is toegestaan
    if(!in_array($Extensie, $Allowed))
    {

        # Bestand is niet toegestaan
        echo 'Dit bestand is niet toegestaan.';
    }

    else
    {
        # Kijken of het bestand niet te groot is
        if($_FILES['video']['size'] > $Max)
        {

            # Bestand is te groot
            echo 'Dit bestand is te groot om te uploaden.';
        }

        else
        {
            # Query uitvoeren
            $Query =
            "
                INSERT INTO
                    video
                    (
                        naam,
                        bestandnaam,
                        titel,
                        beschrijving,
                        maker,
                        video
                    )
                    VALUES
                    (
                        '"
.mysql_real_escape_string($_POST['naam'])."',
                        '"
.mysql_real_escape_string($_POST['bestandnaam'])."',
                        '"
.mysql_real_escape_string($_POST['titel'])."',
                        '"
.mysql_real_escape_string($_POST['beschrijving'])."',
                        '"
.mysql_real_escape_string($_POST['maker'])."',
                        '"
.mysql_real_escape_string($_POST['video'])."'
                    )
            "
;

            # Resultaat van de query
            $Result = mysql_query($Query);
    
            # Kijken of de query is gelukt
            if(!$Result)
            {

                # Fout opgetreden in de query
                echo 'Er is een opgetreden: '.mysql_error();
            }

            else
            {
                # Bestand verplaatsen.
                if(!move_uploaded_file($_FILES['video']['tmp_name'], $Target))
                {

                    # Bestand is niet verplaatst
                    echo 'Er is een fout opgetreden met het verplaatsen van het bestand.';    
                }

                else
                {
                    # Bestand succesvol geupload
                    echo 'Het bestand is succesvol geupload.';
                }
            }
        }
    }
}


?>
Gewijzigd op 01/01/1970 01:00:00 door Mr.Ark
 
Pieter ten Boomen

Pieter ten Boomen

04/10/2009 02:10:00
Quote Anchor link
nou, in ieder geval bedankt! ik zal kijken of het voor me werkt!! :D
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.