0

私は次のような形をしています

<form action="abc/1" method="post">

</form>

このフォームが送信されるたびに、現在のURLが

http://localhost/abc/1 after form submit it should be again 
http://localhost/abc/1

but instead this it become
http://localhost/abc/1
http://localhost/abc/abc/1
http://localhost/abc/abc/abc/1 each time I press submit button in form.

code-igniterのmvcのURLスキームに関連するもの

4

3 に答える 3

1

フォームのアクションは、現在の位置に関連しています。

オンになっていhttp://example.com/contactて、フォームのアクションがNowにcontact/send送信されるフォームに設定されている場合、これは、アクション属性からパーツを削除するか、アクション属性の先頭にを追加することで簡単に修正できるため、パスは絶対です- 。http://example.com/contact/contact/sendcontact///contact/send

URLヘルパーを使用してアプリケーション内の正しいURLを指すことができるため、CodeIgniterでこれを行うのは比較的簡単です。

<form action="<?php echo site_url('abc/1'); ?>" method="post">

</form>

この例では、のbase_urlおよびindex_page設定に関連するページを常に指し示しますapplication/config/config.php

あなたの場合、コメントで言及されているように、何かと一緒に<?php echo site_url('home/authenticateUser/' . $user_id); ?>おそらく答えになるでしょう。

于 2013-03-26T06:58:06.240 に答える
0

次のようにしてみてください

<form action="/abc/1" method="post">

</form>

または、次のようなsite_urlを使用することをお勧めします

<form action="<?php echo site_url('abc/1');?>" method="post">

</form>
于 2013-03-26T09:07:59.227 に答える
0

アクションを「abc/1」から「/abc/ 1」に変更しても機能しますが、ローカルホスト開発環境で通常行われるように、サブディレクトリでアプリをビルドしている場合、これはhtdocsフォルダーに戻ります。必要なフォルダとは対照的です。

次の2つのオプションのいずれかをお勧めします。

  1. <form action="<?php echo base_url(abc/1); ?" method="post">
  2. <?php form_open('abc/1')' ?>

2番目はCodeIgniterのCSRF機能と連携し、base_url()を自動的に追加するため、より優れています。

お役に立てれば。

于 2013-03-26T15:43:36.710 に答える