私のcodeigniterサイトにパスワードを変更するためのポップアップウィンドウがあります。どのページからでもこのウィンドウを開くことができます。パスワードの変更が完了すると、同じページにリダイレクトされます。リダイレクトするには、$_SERVER['REQUEST_URI']
を使用しています。これを隠しフィールドに設定して、フォーム送信でサーバーに送信します。
HTML:: はここに私のコードです
<div class="modal-content">
<span class="modalclose" data-dismiss="modal"></span>
<h2 class="head edit">Change Password</h2>
<form action="<?php echo base_url()?>Home/changePassword" method="post">
<div class="field-wrap">
<input type="password" placeholder="Enter current Password" name="changePasswordCurrent" id="changePasswordCurrent" autocomplete="off">
<span id="changePasswordCurrentError" class="validation-cls rt"></span>
</div>
<div class="field-wrap">
<input type="password" placeholder="Enter new Password" name="changePasswordNew" id="changePasswordNew" autocomplete="off">
<span id="changePasswordNewError" class="validation-cls rt"></span>
</div>
<div class="field-wrap">
<input type="password" placeholder="Confirm Password" name="changePasswordConfirm" id="changePasswordConfirm" autocomplete="off">
<span id="changePasswordConfirmError" class="validation-cls rt"></span>
</div>
<div class="field-wrap">
<input type="hidden" name="requestURI" value="<?php echo $_SERVER['REQUEST_URI']?>" />
<button class="fill" id="saveNewPassword" type="submit">Save</button>
</div>
</form>
</div>
コントローラー:Home.php
public function changePassword() {
if($this->session->userdata('UserID') != ''){
$data = $this->input->post();
$result = $this->Home_model->changePassword($data);
redirect($data['requestURI']);
}
else {
redirect('../');
}
}
このコードはなく、ライブサイトでは、私のローカルサーバーに取り組んでいます。パスワードを変更する
最初の試みが働いているが、それはこの問題は存在http://example.com/index.php/index.php
のようなURLに再びindex.php
を追加しますので、それは私が再びパスワードを変更しようとした場合、リダイレクトは動作しませんので、http://example.com/index.php
としてURLにindex.php
を追加しますライブサイトでのみ。
を見つける;' – Yahya
あなたは($ _ SERVER)しますprint_rできますREQUEST_URIがあなたのライブサイトであるかどうかを確認。 –
@Aggarat、既にライブがあるのでこれをテストできません – geeth