テキストフィールドとチェックボックスだけでなく、ドロップダウンボックスを含むフォームがあります。私がやろうとしているのは、ユーザーがこのページにアクセスしてアドレスバーに /updatephoneform.php?id=1 が表示されたときに、フォームに id1 (データベースの PhoneID) の情報が表示されるようにすることです。編集して更新しました。これを行うには、フォームをどのように変更しますか? 変数とフォームは次のとおりです。
変数
$ManufacturerID = $row->ManufacturerID;
$Model = $row->Model;
$OSID = $row->OSID;
$Description = $row->Description;
$ScreenSize = $row->ScreenSize;
$Price = $row->Price;
$StockQuantity = $row->StockQuantity;
$StorageSize = $row->StorageSize;
$thumb= $row->ThumbImg;
$large= $row->LargeImg;
形
<h1>Update an existing phone</h1>
<form action="updatephone.php" method="post" enctype="multipart/form-data">
<p>Brand: <select name="ManufacturerID">
<option value="1">Apple</option>
<option value="2">LG</option>
<option value="3">BlackBerry</option>
<option value="4">HTC</option>
<option value="5">Nokia</option>
<option value="6">Samsung</option>
<option value="7">Sony</option>
<option value="8">Huawei</option>
<option value="9">Motorola</option>
</select>
<p>Model: <input type="text" name="Model"></p>
<p>Operating System: <select name="OSID">
<option value="1">iOS</option>
<option value="2">Android</option>
<option value="3">BlackBerry</option>
<option value="4">Windows Phone 8</option></p>
</select>
<p>Description: <input type="text" name="Description"></p>
<p>Screen Size (inches): <input type="text" name="ScreenSize"></p>
<p>Price: £<input type="text" name="Price"></p>
<p>Stock Quantity: <input type="text" name="StockQuantity"></p>
<p>Storage Size: <input type="text" name="StorageSize"></p>
<p>Large Image(340x340):<input type="text" name="LargeImg"></p>
<p>Thumbnail(100x100):<input type="text" name="ThumbImg"></p>
<p>Flagged?: <input type="checkbox" name="IsFlagged"></p>
<input type="submit" value"Submit">
</form>
ありがとうございました。
編集: 編集したい携帯電話のフォームで値を取得するフォームを取得しましたが、これは良いことですが、フォーム内の「大きな画像 (340x340)」と「サムネイル (100x100)」のテキスト フィールドが必要です。電話の画像のファイル名を表示します (存在する場合)。画像がサーバーにアップロードされ、大きな画像とサムネイルの両方のファイル名 (つまり、iphone5.jpg) が、LargeImg と ThumbImg というフィールドに挿入されます。これを行うにはどうすればよいですか?
また、何かを編集してフォームを送信しようとすると、エラーが発生しました:
注意: 未定義変数: 51 行目の PhoneID 以下は 32 行目から 51 行目で、51 行目は '$sql =' の部分です。
$ManufacturerID = $_POST['ManufacturerID'];
$Model = $_POST['Model'];
$OSID = $_POST['OSID'];
$Description = $_POST['Description'];
$ScreenSize = $_POST['ScreenSize'];
$Price = $_POST['Price'];
$StockQuantity = $_POST['StockQuantity'];
$StorageSize = $_POST['StorageSize'];
$thumb= $_POST['ThumbImg'];
$large= $_POST['LargeImg'];
if (!isset($IsFlagged))
{
$IsFlagged= 0;
}
else
{
$IsFlagged = $_POST['IsFlagged'];
}
$sql = "UPDATE phones SET ManufacturerID='$ManufacturerID', Model='$Model', OSID='$OSID', Description='$Description', ScreenSize='$ScreenSize', Price='$Price', StockQuantity='$StockQuantity', StorageSize='$StorageSize', ThumbImg='$thumb', LargeImg='$large', IsFlagged='$IsFlagged' WHERE PhoneID='$PhoneID' ";
何が問題なのかわかりません。たとえば、チェックボックスがオフになっている場合や、テキストボックスに画像ファイル名が入力されていない場合に、エラーが発生しないようにする必要もあります。