Witam. Zmodyfikowalem jeden skrypt do uploadu, aby przy uploadzie dodawal mi lokalizacje pliku do bazy. Jedonczesnie chcialem aby dodawal mi rowniez wartosc przekazana przez link, czyli np upload.php?id=35 wartosc id to ID galerii do ktorej ma zostac przypisana fotka ladowana na serwer. Wszystko niby gra, fotka sie zapisuje. w bazie jej nazwa sie dodaje.. alee.. pole ID_gall (galerii) pozostaje puste. Kiepsko znam php, ale obawiam sie ze problemem jest wczesniej uzyta jakas wartosc wyciagnieta z GETa.. moze ktos zna rozwiazanie?: oto kod:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<title>Upload plików</title>
<style>
body, td { font-size: 10px; font-family: Verdana; }
a:link,a:visited,a:active { text-decoration: none; color: #006600; }
a:hover { text-decoration: underline; }
input { font-size: 10px; font-family: Verdana; border: 1px solid #000000; }
hr { height: 0px; border: solid #D1D7DC 0px; border-top-width: 1px; }
.small { font-size: 9px; }
.border { border: 1px solid #cccccc; }
.head { background-color: #f5f5f5; }
</style>
</head>
<body>
<?
//Konfiguracja
$maxFileSize = 262144; //maksymalna wielkość pliku w bajtach
$uploadFolder = 'pliki'; //folder, do którego będą kopiowane pliki
$acceptMIME = array('image/gif', 'image/jpeg', 'image/pjpeg'); //akceptowane typy plików (MIME Types)
if($_GET['a'] == 'upload') // <-------------- GET ktory byl od poczatku
{
$picture = $_FILES['upload_picture'];
if(empty($picture['error'])) {
$check = 0;
foreach($acceptMIME as $key => $value)
{
if($picture['type'] == $value)
{
$check = 1;
break;
}
}
if($check)
{
$send_picture = @move_uploaded_file($picture['tmp_name'], $uploadFolder.'/'.$picture['name']); if(!$send_picture) $errorMsg = 'Bład podczas kopiowania pliku do wyznaczonego folderu!';
else {
$errorMsg = 'Kopiowanie pliku zakończone sukcesem!';
// dodanie do bazy
include("../config.php");
or
die("blad polaczenie z baza");
$id_gall = $_GET['id']; // <----------------moj GET!
$link = $uploadFolder.'/'.$picture['name'];
$query = "INSERT INTO foto
(ID_galeri, link) VALUES
('$id_gall', '$link')";
if($result > 0) {
print("link i id galeri zostaly zapisane"); } else {
}
}
}
else $errorMsg = 'Nieprawidłowy typ pliku!';
}
else
{
switch($picture['error'])
{
case 1 :
$errorMsg = 'Wielkość pliku przekracza maksymalny dopuszczalny rozmiar ustawiony w konfigurac
ji php (php.ini)!';
break;
case 2 :
$errorMsg = 'Wielkość pliku przekracza maksymalny dopuszczalny rozmiar ustawiony w skrypcie!';
break;
case 3 :
$errorMsg = 'Plik nie został wysłany w całości!';
break;
case 4 :
$errorMsg = 'Żaden plik nie został wysłany';
break;
}
}
}
?>
<b>Upload pliku</b><br /><br />
<form enctype="multipart/form-data" name="posting" action="upload.php?a=upload" method="post">
<input type="file" size="30" name="upload_picture"><input type="hidden" name="MAX_FILE_SIZE" value="
<? echo $maxFileSize ?>"><br /><br />
<input type="submit" value="Wyślij plik" name="picture_send" class="but">
</form>
<br />
<? if(!empty($errorMsg)) echo '<br />'.$errorMsg.'<br />'; ?> <br /><hr /><br />
<?
$dir = opendir('./'.$uploadFolder); while($file = readdir($dir)) if($file != '.' && $file != '..') $read_file[] = $file;
echo '<br /><b><u>Pliki:</u></b><br />'; for($i=0; $i<sizeof($read_file); $i++)
{
echo '» <a href="'.$uploadFolder.'/'.$read_file[$i].'">'.$read_file[$i].'</a><br />'; }
?>
</body>
</html>