こんにちは、サーバーに画像をアップロードしたいと思います。ajax.load を使用してページを別のページにロードしていないときに機能します。したがって、それへの直接リンクを使用すると、正常に機能します。しかし、リンクをクリックし、アップロード フォームを開き、画像をアップロードしたいと思います (すべて 1 つのウィンドウで)。これは、アップロード前にページが更新されているためですか、それとも別の問題ですか? これを解決する方法がわかりません。
コード:
<?php
include('includes/connect.php');
if(isset($_POST['uploadImg'])){
$extension = end(explode(".", $_FILES["file"]["name"]));
$name = $_FILES["file"]["name"];
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
mysql_query("INSERT INTO images (itemID,imgPath,imgName,imgExtension,imgAlt) VALUES (".$_POST['itemNumber'].",'upload','".$name."','".$extension."','".$name."')")or die('kan niet uploaden'.mysql_error());
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Uw afbeelding is toegevoegd aan item".$_POST['itemNumber'];
echo "<a id='uploadNew' href='#'>Nog een item uploaden</a>";
}
mysql_query("INSERT INTO images (itemID,imgPath,imgName,imgExtension,imgAlt) VALUES (".$_POST['itemNumber'].",'upload','".$name."','".$extension."','".$name."')")or die('kan niet uploaden'.mysql_error());
}
?>
<form method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
Toevoegen aan:
<select name="itemNumber">
<?
$result = mysql_query("SELECT * FROM items");
while($row = mysql_fetch_array($result))
{
echo '<option name="itemVal" value="'.$row['itemID'].'">'.$row['itemTitle'].'</option>';
echo "<br />";
}
?>
</select>
<input type="submit" name="uploadImg" value="submit" />
</form>