0

教訓: AJAX を使用して、登録ページにプロフィール写真をアップロードしています。

問題:画像をアップロードすると、ページ リクエストを必要とせずにデータベースが自動更新されるため、データベースにアップロードするには _iD ( user id/uid ) が必要です。訪問者が登録されていないため、利用可能な _iD がないため、データベースを更新できません。

解決策を探す: * AJAX はデータベースを自動更新して _iD (ユーザー ID) のファイルをアップロードする必要があるため、[送信] ボタンを押す前にデータベースを更新する必要なく、画像をアップロードしてプレビューするにはどうすればよいでしょうか。送信フォームが要求されたら、アカウントの作成に使用される一時的な _iD を設定する必要がありますか?*

--> register.php

-----> http://pastebin.com/kZE4B105

-->*register_image_upload.php*

-----> http://pastebin.com/15n4pgPJ

-->データベーステーブル

------> users

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|  _iD   | _iPassword |  _iUsername | _iEmail        |   _iProfilePicture  |
|  40    |    bcrypt  |    _iUser   | blah@gmail.com |         $PATH       | 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

編集: 画像がアップロードされたときのフォームの現在のエラー。

Warning: move_uploaded_file(profile_pic/_iThumbnail/1369388350.jpg): failed to open stream: No such file or directory in C:\EasyPHP-12.1\www\public_html\register_image_upload.php on line 18

Warning: move_uploaded_file(): Unable to move 'C:\EasyPHP-12.1\tmp\php7EFB.tmp' to 'profile_pic/_iThumbnail/1369388350.jpg' in C:\EasyPHP-12.1\www\public_html\register_image_upload.php on line 18
failed
4

3 に答える 3

1

私はそれが非常に古い質問であることを知っていますが、他の人にとっては役立つかもしれません..

ajax を使用しているため、次の方法で実行できます-

  • ファイルを送信し、正常にアップロードされたら ajax 呼び出しで画像ファイル名を取得します。

  • ajax 呼び出しで取得した画像 (表示する場所) の src を変更します。

  • 画像の src を含む隠しフィールドを使用できます。

  • 今、フォームが投稿されると、その隠しフィールドからデータを取得します.そして、データベースで行っていたように操作を行います..

混乱が生じた場合は、コメントしてください。議論に戻ります。

于 2015-08-24T09:34:50.230 に答える
0
于 2013-05-24T09:40:07.737 に答える