プロが教える店舗&オフィスのセキュリティ対策術

<form enctype="multipart/form-data" method="POST" name="nForm" action="Complete.html" >
<input type="text" name="name" size="10" class="name" maxlength='10' required />
<input type="text" name="mail" size="50" class="mail" maxlength='50' required />
<input type="text" name="memo" size="20" class="memo" maxlength='20' required />
<input type="file" name="photo" size="30" class="photo" required />
<input type="submit" value="送信" class="post">
</form >
(php部分は省略しています)

これで送信ボタンを押すと外面遷移はうまくいくのですがフォームのデータがうまく保存されません。
action="Complete.html"の部分を消すとうまく保存されるのですがなにが原因なのでしょうか?

またこの方法ではできない場合すべての項目が入力された状態で「送信」ボタンが押されるとサーバーにデータが保存されかつ画面が遷移するようにするためにはどのようにすればよいのでしょうか?

質問者からの補足コメント

  • >自分自身におくったあと、データが更新されたのをチェックしつつ
    >header("Location:Complete.html");
    >で完了ページに飛べばよいでしょう

    具体的にどのように書けばよいのでしょうか?
    header("Location:Complete.html");はどこに入れるのでしょうか?
    無知で質問ばかりして申し訳ないのですが、回答お願いします。

      補足日時:2015/11/30 21:07

A 回答 (2件)

>header("Location:Complete.html");はどこに入れるのでしょうか?


>無知で質問ばかりして申し訳ないのですが、回答お願いします。

いや、むしろどうしたいか?でしょう

>action="Complete.html"の部分を消すとうまく保存される

とあるので、うまく保存されたかどうかチェックする何かがあるのですよね?

if(umaku_hozon_dekita()){
header("Location:Complete.html");
}

function umaku_hozon_dekita(){
いろいろチェックしてうまく保存できてたら
return true;
だめなら
return false;
}
うまく保存できたときにはページに飛び、うまくいかなければそのまま表示です。
    • good
    • 0
この回答へのお礼

迅速かつ分かりやすい回答ありがとうございました。
無事に思っていたものが実現できました。

お礼日時:2015/11/30 23:33

>action="Complete.html"



complete.htmlに直接データをおくっても、そのページが処理をできなければ意味がないですね

自分自身におくったあと、データが更新されたのをチェックしつつ
header("Location:Complete.html");
で完了ページに飛べばよいでしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!