私はこの間、ユーザーがフォームを提出した後、私の「製品」がphpMyAdminにアップロードされない理由を理解しようと数日間奮闘してきました。メンバーは自分の製品を作成する... &私が立ち往生している場所は次のとおりです:私はログインしているユーザーです。私はユーザーの管理者から "Product a List"ページにいます。私が製品情報を入力したら、それを提出するためにクリックして、製品&をphpmyadminに投稿しません。私はmove_uploaded_file関数を介してフォルダにアップロードされた画像を移動しようとしています。どんな助けでも大歓迎です。すべてのコードは以下でなければなりません(データベースが接続されており、すべてのセッションは、私は信じているなど、適切に設定):PHPはPHPmyAdminのデータベースには挿入されません
if (isset($_POST['product_name'], $_POST['product_description'])) {
$product_name = $_POST['product_name'];
$product_description = $_POST['product_description'];
$errors = array();
if (empty($product_name) || empty($product_description)) {
$errors[] = "All Fields are required";
} else {
if (strlen($product_name) > 55 || strlen($product_description) > 255) {
$errors[] = "One or more fields contains too many characters";
}
}
if (!empty($errors)) {
foreach ($errors as $error) {
echo $error, '<br/>';
}
} else {
create_product($product_name, $product_description);
header("location: product.php?product_id='.$product_id.'");
exit();
}
}
<form action="" method="post" enctype="multipart/form-data">
<p>Product Name:<br/><input type="text" name="product_name" maxlength="55" /></p>
<p>Describe this Product:<br/><textarea name="product_description" rows="6" cols="35" maxlength="255"></textarea></p>
<p>Upload a product profile pic:<br/><input type="file" name="fileField" id="fileField" /></p>
<p><input type="submit" value="Create"></p>
</form>
:
は
create_product.php(ユーザーのログインページからフォームが新製品を一覧表示します(create_product.phpファイルに含まれている)私のproduct.functions.phpファイルから
機能:私は私の問題は、画像のアップロードから来ていると思われるが、私は永遠にこれで苦労してきた
function create_product($product_name, $product_description) {
$product_name = mysql_real_escape_string(htmlentities($product_name));
$product_description = mysql_real_escape_string(htmlentities($product_description));
mysql_query("INSERT INTO `products` VALUES ('','".$_SESSION['member_id']."', UNIX_TIMESTAMP(), '$product_name', '$product_description')");
$bmid = mysql_insert_id();
// place image in the folder
$newname = "$bmid.jpg";
move_uploaded_file($_FILES['fileField']['tmp_name'],'uploads/$newname');
}
...ご協力いただきありがとうございます。
どうもありがとうジェームズ(&他のレスポンダ)ので、INSERT INTOでなければなりません/ sの名前
VALUES()
の前に列を置くことを忘れてしまいましたVALUES()の修正がうまくいき、phpMyAdminにロードされている製品があります...イメージはアップロードフォルダに実際にロードされましたが、そのように表示されないように "product_id#.jpg"として表示されませんでした。 $ bmid = mysql_insert_id();を使用した後に$ bmidになるはずの製品IDを取得しました; – BennyB$ bmidを$ bmidから削除する必要があります。 –
申し訳ありませんが - 言及するのを忘れていました...あなたも指示どおりに&まだ表示されなかったように - ちょうど "$ newname"としてフォルダに表示されました – BennyB