Fanger ikke file-upload
Jeg har et træls problem, for at sige det på godt jysk.Jeg har lavet en side, hvor brugeren kan uploade, et billede og noget tekst hertil. Disse uploads skal sende kunne ændres, og det fungere også godt nok, i en anden fil jeg har, men bare ikke i denne. Nu har jeg efterhånden fået stiret mig blind på problemet, så jeg tænkte at I sikkert kunne hjælpe mig.
Koden som tilhører redigeringen er her:
if (isset($_POST['submit']) && $_POST['submit'] == "Upload" && $_POST['rettype'] == "redigere") {
$source = $_FILES['personBillede']['tmp_name'];
$navn = $_POST['personNavn'];
$stilling = $_POST['personStilling'];
$afdeling = $_POST['personAfdeling'];
if ( isset($_POST['personBillede']) ) {
echo "sådan";
} else {
echo "lort";
}
if (isset($_POST['personBillede'])) {//Fanger hvis billede ikke skal ændres
echo "hej";
if (is_uploaded_file($source)) {
if (tjektype($_FILES['personBillede']['type'])) {
$dest = $uploaddir . $_FILES['personBillede']['name'];
$dest = tjekfilnavn($dest);
//Sletning af det tidligere billede
$queryGammelSti = mysql_query("SELECT sti FROM RS_Medarbejder WHERE personId = $_POST[personId]");
$gammelSti = mysql_fetch_array($queryGammelSti);
if (file_exists($gammelSti[sti])) {//Tjekker om den gamle fil findes, så den kan slettes hvis true
if (move_uploaded_file($source, $dest)) {
unlink($gammelSti[sti]);//Sletter det gamle billede
mysql_query("UPDATE RS_Medarbejder SET navn='$navn', stilling='$stilling',
afdeling='$afdeling', sti='$dest' WHERE id = '$_POST[personId]'");
//header("location: adminPerson.php?personId=$_POST[personId]");
} else {
$besked = "Der blev ikke gemt noget";
}
} else {
$besked = "Du prøvede at slette en fil som ikke findes";
}
} else {
$besked = "Du prøvede at gemme et billedeformat som ikke er tilladt. Du kan gemme billeder i JPEG og PNG formaterne.";
}
} else {
$besked = "Ulovlig handling!";
}
} else { //Opdater info hvis ikke billedet skal ændres
echo "ikke sat";
mysql_query("UPDATE RS_Medarbejder SET navn='$navn', stilling='$stilling',
afdeling='$afdeling' WHERE id = '$_POST[personId]'");
// header("location: adminPerson.php?personId=$_POST[personId]");
}
}
og koden fra formen er her :
<form name="admin" method="post" action="<?echo $PHP_SELF?>" enctype="multipart/form-data">
<? if (isset($_GET[personId])) {?>
<table width="510" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><a href="adminPersonale.php" target="_self">Tilbage til personaleoversigt</a></td>
</tr>
<tr>
<td align="left" valign="top" Overskrift="Overskrift"></td>
</tr>
<tr>
<td align="left" valign="top" background=""></td>
</tr>
<tr>
<td align="left" valign="top" background=""></td>
</tr>
<tr>
<td align="center" valign="top" background="" width="482" height="336">
<table>
<? $person = mysql_query("SELECT * FROM RS_Medarbejder WHERE id = '$_GET[personId]'");
while ($personen = mysql_fetch_array($person)){?>
<tr>
<td>Navn:</td><td colspan="3"><input name="personNavn" type="text" value="<?=$personen[navn]?>" maxlength="50" size="50"></td>
</tr>
<tr>
<td>Stilling:</td><td colspan="3"><input name="personStilling" type="text" value="<?=$personen[stilling]?>" maxlength="50" size="50"></td>
</tr>
<tr>
<td>Afdeling:</td><td colspan="3"><input name="personAfdeling" type="text" value="<?=$personen[afdeling]?>" maxlength="50" size="50"></td>
</tr>
<tr>
<td>Nuværende billede:</td><td><img src="<?=$personen[sti]?>" height="168" width="123"></td>
</tr>
<tr>
<td>Nyt billede:</td><td colspan="3"><input name="personBillede" type="file" size="37"></td>
</tr>
<tr>
<td><input name="rettype" type="hidden" value="redigere"><input name="personId" type="hidden" value="<?=$_GET[personId]?>"><input name="submit" type="submit" value="Upload"></td>
</tr>
<tr>
<td><?=$besked?></td>
</tr>
<? }?>
</table>
</td>
</tr>
<tr>
<td width="510" align="left" valign="top" background=""></td>
</tr>
</table>
<? } else {?>
til oprettelse af ny medarbejder
<?}?>
</form>
Det er "isset($_POST['personBillede'])" som er problemet, og I kan nok se at jeg har været ved at tjekke om den bliver fanget, hvilket den ikke gør???
