Hallo,
ich habe mir mittels des Upload-Tutorials von hier eine angepasste Version für meine Zwecke gebastelt. Nun habe ich allerdings folgendes Problem:
Ich lese aus einer Datenbank aus, welche Datei der User auf den Server laden soll bzw. ob es diese Datei schon gibt (DB-Feld 0=Datei noch nicht auf Server 1=Datei auf Server).
Insgesamt sollen maximal vier Dateien auf den Server geladen werden. Nach dem Upload soll in der Datenbank das jeweilige DB-Feld für die entsprechende Version von 0 auf 1 gesetzt werden. Soweit sogut...
Hier mal der Code vom Skript:
Die Variablen $id und $lang habe ich im Forumlarfeld, bei der Dateisuche, als versteckte Felder mit an dieses Skript übergeben.
Das Skript arbeitet soweit richtig, ABER nun der Fehler:
Wenn in der Datenbank die Variablen dt_upload, fr_upload, en_upload und pl_upload auf 0 gesetzt sind, ich die dt-Version auf den Server lade, arbeitet das Skript so wie es soll. dt_upload wird wie gewünscht auf 1 gesetzt. Wenn ich jetzt aber eine andere Version auf den Server lade, wird die entsprechende Variable in der Datenbank NICHT mehr neu gesetzt. Also fr-Version erfolgreich auf den Server geladen, aber in der DB ist fr_upload immer noch 0...
//EDIT: Wenn dt_upload = 0 und ich eine fr-Version auf den Server lade, wird dt_upload = 1 gesetzt ansellte von fr_upload...
Kann mir wer sagen, wo sich da der Fehlerteufel eingeschlichen hat? Ich such schon ewig und finde den nicht...
Danke schonmal im voraus.
Cesideem
ich habe mir mittels des Upload-Tutorials von hier eine angepasste Version für meine Zwecke gebastelt. Nun habe ich allerdings folgendes Problem:
Ich lese aus einer Datenbank aus, welche Datei der User auf den Server laden soll bzw. ob es diese Datei schon gibt (DB-Feld 0=Datei noch nicht auf Server 1=Datei auf Server).
Insgesamt sollen maximal vier Dateien auf den Server geladen werden. Nach dem Upload soll in der Datenbank das jeweilige DB-Feld für die entsprechende Version von 0 auf 1 gesetzt werden. Soweit sogut...
Hier mal der Code vom Skript:
Code:
<?php require_once('Connections/MySQL.php'); ?>
<?php $colname_upload = "1";
if (isset($HTTP_POST_VARS['id'])) {
$colname_upload = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['id'] : addslashes($HTTP_POST_VARS['id']);
}
mysql_select_db($database_MySQL, $MySQL);
$query_upload = sprintf("SELECT * FROM lehrgaenge WHERE ID = %s", $colname_upload);
$upload = mysql_query($query_upload, $MySQL) or die(mysql_error());
$row_upload = mysql_fetch_assoc($upload);
$totalRows_upload = mysql_num_rows($upload);
// DATEIUPLOAD
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
$pdf = ".pdf";
$findpdf = strpos($name,$pdf,0);
$nameneu = substr($name,0,$findpdf);
$lang = $_POST['lang'];
$id = $_POST['id'];
$namesoll = "lehrgang_".$lang;
echo "nameneu: $nameneu<br>";
echo "namesoll: $namesoll<br>";
if($type != "application/pdf") {
$err[] = "Es dürfen NUR PDF-Dateien auf den Server geladen werden.";
}
if ($nameneu != $namesoll) {
$err[] = "Der Dateiname MUSS die folgdende Form haben: lehrgang_xx (xx=dt, xx=fr, xx=en, xx=pl)";
}
$monat=substr($row_upload['datum_beginn'],5,2);
switch ($monat) {
case "01" : $monat="januar"; break;
case "02" : $monat="februar"; break;
case "03" : $monat="maerz"; break;
case "04" : $monat="april"; break;
case "05" : $monat="mai"; break;
case "06" : $monat="juni"; break;
case "07" : $monat="juli"; break;
case "08" : $monat="august"; break;
case "09" : $monat="september"; break;
case "10" : $monat="oktober"; break;
case "11" : $monat="november"; break;
case "12" : $monat="dezember"; break;
}
$jahr=substr($row_upload['datum_beginn'],0,4);
$lz=strrpos($row_upload['lehrer']," ");
if ($lz) {
$vorname=substr($row_upload['lehrer'],0,$lz);
$vorname=strtolower($vorname);
} else $vorname=strtolower($row_upload['lehrer']);
$art=$row_upload['art'];
$art=strtolower($art);
$dateiname = "lehrgang_".$art."_".$vorname."_".$monat."_".$jahr."_".$lang.$pdf;
echo "dateiname: $dateiname<br>";
if(empty($err)) {
copy("$tempname", "$dateiname");
echo "Die Datei $dateiname wurde erfolgreich hochgeladen!<br>";
echo "tempname: $tempname<br>";
echo "name: $name<br>";
echo "type: $type<br>";
echo "size: $size<br>";
echo "lang: $lang";
echo "id: $id<br>";
if ($lang = "dt") {
$lg = 1;
$query_update = "UPDATE lehrgaenge SET dt_upload = $lg WHERE id = $id";
$dummy = mysql_query($query_update);
} else if ($lang = "fr") {
$lg = 1;
$query_update = "UPDATE lehrgaenge SET fr_upload = $lg WHERE id = $id";
$dummy = mysql_query($query_update);
} else if ($lang = "en") {
$lg = 1;
$query_update = "UPDATE lehrgaenge SET en_upload = $lg WHERE id = $id";
$dummy = mysql_query($query_update);
} else if ($lang = "pl") {
$lg = 1;
$query_update = "UPDATE lehrgaenge SET pl_upload = $lg WHERE id = $id";
$dummy = mysql_query($query_update);
}
echo "<a href=\"lehrgaenge_admin.php\">zurück</a> zur Lehrgangsadministration";
} else {
foreach($err as $error)
echo "$error<br>";
}
mysql_free_result($upload);
?>
Die Variablen $id und $lang habe ich im Forumlarfeld, bei der Dateisuche, als versteckte Felder mit an dieses Skript übergeben.
Das Skript arbeitet soweit richtig, ABER nun der Fehler:
Wenn in der Datenbank die Variablen dt_upload, fr_upload, en_upload und pl_upload auf 0 gesetzt sind, ich die dt-Version auf den Server lade, arbeitet das Skript so wie es soll. dt_upload wird wie gewünscht auf 1 gesetzt. Wenn ich jetzt aber eine andere Version auf den Server lade, wird die entsprechende Variable in der Datenbank NICHT mehr neu gesetzt. Also fr-Version erfolgreich auf den Server geladen, aber in der DB ist fr_upload immer noch 0...
//EDIT: Wenn dt_upload = 0 und ich eine fr-Version auf den Server lade, wird dt_upload = 1 gesetzt ansellte von fr_upload...
Kann mir wer sagen, wo sich da der Fehlerteufel eingeschlichen hat? Ich such schon ewig und finde den nicht...
Danke schonmal im voraus.
Cesideem
Zuletzt bearbeitet: