M'n Upload ding doet niet wat ik wil.
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)
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
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!.";
}
?>
//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!.";
}
?>
Code (php)
1
2
3
2
3
<?php
mysql_query("INSERT INTO `video` VALUES ('$naam', '$titel', '$beschrijving', '$maker', '$video')") ;
?>
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)
1
2
3
4
5
6
7
8
9
10
11
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) ;
?>
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 -
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)
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
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! ";
}
?>
//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! ";
}
?>
Code (php)
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.
En zorg voor foutafhandeling op de query dan zie je mogelijk waar 't fout gaat:
Code (php)
1
2
3
4
5
6
7
8
9
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();
?>
// 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.
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
Gewijzigd op 01/01/1970 01:00:00 door Obelix Idefix
Code (php)
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
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].";
}
?>
//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
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 knopje om je tekst aan te passen indien nodig.
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 knopje om je tekst aan te passen indien nodig.
Gewijzigd op 01/01/1970 01:00:00 door Pieter ten Boomen
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:
Tweede manier:
Derde manier:
Tweede manier:
Code (php)
1
2
3
2
3
<?php
mysql_query("INSERT INTO tabel SET naam = ".mysql_real_escape_string($_POST['naam']))
?>
mysql_query("INSERT INTO tabel SET naam = ".mysql_real_escape_string($_POST['naam']))
?>
maar kan ik dan niet alles laten verzenden in plaats van alleen naam?
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)
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)
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
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.';
}
}
}
}
}
?>
# 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
nou, in ieder geval bedankt! ik zal kijken of het voor me werkt!! :D