Probleem met uploaden bestand

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Leon Klaassen

leon Klaassen

06/01/2013 12:44:25
Quote Anchor link
Ik heb het onderstaande script gemaakt voor een opdracht voor school..In de database krijg ik netjes de bestandsnaam te staan, maar met geen mogelijkheid krijg ik het bestand in de betreffende map geplaatst.
Ben al dagen bezig om het werkend te krijgen maar ik kom er niet uit.

Wie kan mij op weg helpen?



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="de persoonlijke site van Leon Klaassen" />
<meta name="keywords" content="Studie, bussiness &amp; ICT, Leon Klaassen, Fontys, HBO, deeltijd" />
<title>Vriendenboek</title>
<link href="vriendenboek2.css" rel="stylesheet" type="text/css" />
<style type="text/css">h1 {
font-size: 24px;
color: #000;
}
</style>
<script
src="jquery-183.js">
</script>

<script>
$(document).ready(function(e) {
$("form").hide();
$("form").show(6000);
$("button").click(function(e) {
$("form").hide(5000);
$("form").show(2000);
});
});
</script>
</head>

<body>
<div id="header">
</div>
<div id="container">



</div>

<div id="content">
<H1> Toevoegen auto</H1>


<form action="" method="POST" name="auto toevoegen">
<p>auto merk<br />
<input type="text" name="AUTO_MERK" value="..."/></p>
<p>Auto kleur<br />
<input type="text" name="AUTO_KLEUR" value="..."/></p>
<p> type van de auto<br /><input type="text" name="AUTO_TYPE" value="..."/></p>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
      $CKEditor
->editor("id", "Hier je tekst");
      ?>

<form method="POST" action="" enctype="multipart/form-data">
Bestand: <input type="file"file name="bestand"value="..."><br><br>
<input type="submit"submit name="Uploaden" value="Uploaden"></form>
<button> verberg </button>

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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?PHP

// In welke map komen de bestanden ? ( zorg dat deze de permissies 777 krijgt )
$map = "uploadbestanden/";

// Wat is de maximale groote van het bestand in bytes ( 1 kb = 1000 bytes )
$max = "10000";

// Welke extensies kunnen er worden geupload ( als alles mag dan niks invullen )
$ext = "jpg gif png";

// Hieronder niks aanpassen

// Controleren


if ($Uploaden){


if (!$bestand)
print ("Geef een bestand op!");
else{

// Bestands naam opvragen
$bestand2 = explode("\\", $bestand_name);
$laatste = count($bestand2) - 1;
$bestand2 = "$bestand2[$laatste]";  

// Extensie van bestand opvragen
$bestand3 = explode(".", $bestand2);
$laatste = count($bestand3) - 1;
$bestand3 = "$bestand3[$laatste]";  
$bestand3 = strtolower($bestand3);

// Toegestaande extensies opvragen

$ext = strtolower($ext);
$ext = explode(" ", $ext);
$aantal = count($ext);

for ($tel = 0;$tel < $aantal; $tel++){
if ($bestand3 == $ext[$tel]){
$extfout = "nee";
}



}


if (!$extfout){
print ("Het bestand \"$bestand2\" kan niet worden geupload omdat de extensie niet is toegestaan!");
}

else
{
if ($bestand_size > $max)
print ("Het bestand \"$bestand2\" is groter dan $max bytes!");
else
{

// Opslaan van het bestand


copy($bestand, "$map$bestand2");  
print ("Het bestand \"$bestand2\" is met succes geupload!");


}

}

}
}



// Upload formulier

print ("<form method=post action=auto_toevoegen.php enctype=multipart/form-data>
Bestand: <input type=file name=bestand><br><br>
<input type=submit name=Uploaden value=Uploaden></form>"
);



if (!isset($_POST['Auto toevoegen']))

$merk = $_POST['AUTO_MERK'];
$kleur=$_POST['AUTO_KLEUR'];
$type=$_POST['AUTO_TYPE'];
$beschrijving=$_POST['id'];
$bestand2=$_POST['bestand'];
$merk = strip_tags($merk); // HTML-tags en PHP-code verwijderen
    $kleur = strip_tags($kleur);       //HTML-tags en PHP-code verwijderen
    $bestand2 = strip_tags($bestand2); // HTML-tags en PHP-code verwijderen
    $type = strip_tags($type);       //HTML-tags en PHP-code verwijderen
    




//query opstellen eerste regel db velden, 2e regel de waarden


$registerquery = mysql_query("INSERT INTO automerken (AUTO_MERK,AUTO_KLEUR, AUTO_TYPE, AUTO_beschrijving, AUTO_foto) VALUES('".$merk."','".$kleur."','".$type."', '".$beschrijving."', '".$bestand2."')");  
        if($registerquery)  
        {
  //doe iets als het goed gaat
            
            echo "<p>Auto toegevoegd</p>";
        }
  
        else  
        {  //doe iets als het fout gaat
            echo "<h1>Foutmelding</h1>";  
            echo "<p>Auto kan niet toegevoegd worden</p>";  
        }

?>


<FORM ACTION="vriendenboek2.php" METHOD=GET>
<INPUT TYPE=submit VALUE="ga terug" NAME=foo>
</FORM>

<strong>



</strong>



<P></P>


</div>



</body>
</html>
 
PHP hulp

PHP hulp

25/11/2024 04:19:35
 
Bo Ter Ham

Bo Ter Ham

06/01/2013 13:04:33
Quote Anchor link
* waarom komen die variablen $Uploaden en $bestand vandaan?
* je kan toegestane extensies beter in een array zetten dan hoeft je explode niet te gebruiken.
* variablen buiten quotes..
* kijk is naar move_uploaded_file
Gewijzigd op 06/01/2013 13:04:51 door Bo Ter Ham
 
Keizer Webdesign

Keizer Webdesign

06/01/2013 13:07:32
 
Erwin H

Erwin H

06/01/2013 13:10:04
Quote Anchor link
Om te beginnen staat er al een fout in je html:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Bestand: <input type="file"file name="bestand"value="...">

Maar nog belangrijker, heb je al van de superglobal $_FILES gehoord? Bestanden die worden geupload komen namelijk niet in de $_POST terecht, maar in $_FILES.
 
- Ariën  -
Beheerder

- Ariën -

06/01/2013 13:30:44
Quote Anchor link
@RobertJan, je kan in het vervolg zulke dingen via PM melden bij het moderatie-team. Om dit in een topic te vragen aan de TS kan de sfeer soms verpesten, en dat willen we juist niet.

Ik wil Leon ook even vragen om [code] en [/code]-tags om zijn script te plaatse, zo wordt alles beter leesbaarder.


Het ziet er naar uit dat dit script behoorlijk oud is, uit 2000, vermoed ik. $Uploaden heeft geen waarde. Ik denk dat je het beste een recente tutorial over uploaden kan doornemen of een recent script kan zoeken.
 
Leon Klaassen

leon Klaassen

07/01/2013 08:13:32
Quote Anchor link
@ Aar & Robert-Jan mijn excusus voor het aanmaken van een dubbele topic, ging iets fout met opslaan was niet bewust! heb nog gekeken hoe ik hem kon verwijderen.

allemaal bedankt voor de reacties, ik ga gewoon weer opnieuw beginnen, hebben jullie toevallig tips waar ik goede recente tutorials kan vinden?
 
Jack maessen

jack maessen

07/01/2013 14:09:54
Quote Anchor link
ik weet niet wat er in je auto_toevoegen.php staat, maar er zou zoiets moeten staan:
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
<?php


$map
= 'uploadbestanden/';      // map waar bestanden worden opgeslagen


if(isset($_FILES['bestand']) && strlen($_FILES['bestand']['name']) > 1) {
  $map = $map . basename( $_FILES['bestand']['name']);       // bestandsnaam
 
if(move_uploaded_file($_FILES['bestand']['tmp_name'], $map)) { //verplaatsen naar "uploadbestanden"
      echo 'Bestand: <b>'. basename( $_FILES['bestand']['name']). '</b> is met success geupload'; // uploaden was successvol
   }
    else echo '<b>Bestand kon niet worden geupload</b>'; //uploaden mislukt
}
?>
 
Leon Klaassen

leon Klaassen

07/01/2013 21:45:59
Quote Anchor link
Ik ben helemaal opnieuw begonnen, het bestand wordt netjes in de map geplaatst so far so good! nu wil ik de bestandsnaam in de database opnemen. Ik haal de bestandsnaam over met "$bestand=$_FILES['file']['name'];" Dan krijg ik de volgende melding op de query. Wat doe ik fout?

Parse error: syntax error, unexpected '$bestand' (T_VARIABLE) in D:\applicaties\wamp\www\iwp\Vriendenboek\uploadfile.php on line 71


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
<?php
$allowedExts
= array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| (
$_FILES["file"]["type"] == "image/jpeg")
|| (
$_FILES["file"]["type"] == "image/jpg")
|| (
$_FILES["file"]["type"] == "image/png")
|| (
$_FILES["file"]["type"] == "image/pjpeg"))
&& (
$_FILES["file"]["size"] < 200000)
&&
in_array($extension, $allowedExts))
  {

  if ($_FILES["file"]["error"] > 0)
    {

    echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    }

  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {

      echo $_FILES["file"]["name"] . " already exists. ";
      }

    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      }
    }
  }

else
  {
  echo "Invalid file";
  }





if (!isset($_POST['Upload']))

$merk = $_POST['AUTO_MERK'];
$kleur=$_POST['AUTO_KLEUR'];
$type=$_POST['AUTO_TYPE'];
$beschrijving=$_POST['AUTO_beschrijving'];
$bestand=$_FILES['file']['name'];
$merk = strip_tags($merk); // HTML-tags en PHP-code verwijderen
    $kleur = strip_tags($kleur);       //HTML-tags en PHP-code verwijderen
    //$bestand = strip_tags($bestand); // HTML-tags en PHP-code verwijderen

    $type = strip_tags($type);       //HTML-tags en PHP-code verwijderen
    $beschrijving = strip_tags($beschrijving);       //HTML-tags en PHP-code verwijderen
    
    
    
    




//query opstellen eerste regel db velden, 2e regel de waarden


$registerquery = mysql_query("INSERT INTO automerken (AUTO_MERK,AUTO_KLEUR, AUTO_TYPE, AUTO_beschrijving, AUTO_foto) VALUES('".$merk."','".$kleur."','".$type."', '".$beschrijving."', '"$bestand"')");  
       if($registerquery)  
       {
  //doe iets als het goed gaat
            
            echo "<p>Auto toegevoegd</p>";
        }
  
    /  else  
       {  //doe iets als het fout gaat
           echo "<h1>Foutmelding</h1>";  
          echo "<p>Auto kan niet toegevoegd worden</p>";  
       }

?>



Toevoeging op 07/01/2013 21:54:35:

Toch bedankt maar ik heb het gevonden was de puntjes vergeten bij "$bestand"

weer 3 uur van mijn leven naar puntjes gezocht;0)
 
- Ariën  -
Beheerder

- Ariën -

07/01/2013 22:01:44
Quote Anchor link
je mist puntjes, kijk naar eens bij de voorgaande variabelen...
 
Leon Klaassen

leon Klaassen

07/01/2013 22:07:48
Quote Anchor link
Ja had het al gezien! Morgen assessment dit was de laatste opdracht. Allemaal bedankt voor de hulp!
 



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.