2011-07-05 13 views
0

私は3つのプロセスでサイトを構築しています。会社はフォームを完成させ、リストをプレビューし、正しい場合はその情報をデータベースに送信します。ファイルのプロセスは次のとおりです。アップロードされた画像と移動場所の保存

  1. Forminput.php
  2. PreviewListing.php
  3. Insertrecord.php
  4. フォームフィールドの

一つは、ユーザーが、私はプレビューのために保管しています彼らのロゴをアップロードすることができますページ:

session_start(); 
$_SESSION['clogo'] = ($_FILES['clogo']['name']); 
move_uploaded_file($_FILES["clogo"]["tmp_name"], 
"temp/" . $_FILES["clogo"]["name"]); 

これにより、プレビューページにロゴを表示することができます。

<img src = "temp/<?php echo $_SESSION['clogo'];?>" alt = "Company Logo"/> 

私はただのフォルダに画像をアップロードしてのために表の行にファイルパスを置いMySQLのINSERTクエリとの直接挿入PHPページにまっすぐに行っていたさが直面してる問題その特定の会社。これはうまくいった。

しかし、私は$ _POSTとInsert.phpファイルの間のフローをインターラプトしているので、私はもはやこれを行うことができません。私はそれを理解するので、私はそのページにそれを表示することができるようにするには、preview.phpファイルのどこかにイメージを格納する必要がありますが、その後、データベース挿入のプロセスの次のステップに来るとき、 to:

a)イメージを最終ファイルフォルダに移動します。

b)一時フォルダから画像を削除します。

c)その特定のリストのデータベース行にパスを追加して、他の行データと共に最終承認ページに表示することができます。

私はプレビューページでセッションを開始し、他のすべての情報(会社名、場所、URLなど)のINSERTクエリで絶対にうまく動作するフォームの提出からすべてのものを隠しフィールドに保存しましたが、 '画像で私の問題を回避する方法を知っている。参考のため

、私の元のMySQLは、プロセス(insert.php)の第三段階で画像/画像パスのクエリを挿入し、これがうまく働いたが、た:

$clogo = ($_FILES['clogo']['name']); 
move_uploaded_file($_FILES["clogo"]["tmp_name"], 
"avatars/" . $_FILES["clogo"]["name"]); 

$sql = "INSERT INTO businformation (clogo) 
VALUES($clogo')"; 

誰が助言することはできますか?

おかげ ダン

+2

あなたのサーバのアドレスは? 'total_remote_control.php'をアップロードしたいと思います...このスクリプトについて聞いたことがないなら、私はその名前を翻訳しましょう:あなたのアップロード処理スクリプトは、あなたのサーバをリモートで引き継ぐことを可能にします。 –

+1

バイナリlongblobとしてデータベースに直接格納しない理由はありますか? – jworrin

+0

@jworrinこんにちは、私は読んで別のフォルダに格納し、テーブル内の場所を参照する方が良いということを読んだ、それが本当に唯一の理由です。 – Dan

答えて

0

OK、私は別のセッション変数にプレビューページに一時的な画像の位置を保存して、私はその特定のデータベースに画像の場所を追加することができます挿入ページ上にこれを渡さエントリ。

今、私はそれを読んだ、それは完全に明らかに聞こえる。少し歩いて、あなたが知っている:)

私は最終的な場所に画像を移動する方法をまだ分かっていないが、今のところこれは問題ありません。

セキュリティチェック用のMarc Bとjworrinに感謝します。

ダン

関連する問題