2017-04-17 69 views
0

我想通過Bootstrap模式將一些數據添加到我的localhost數據庫。我使用Laravel 5.2進行編碼。如何使用Bootstrap模式將數據插入到phpMyAdmin數據庫?

這是我的PHP函數:

public function reportPost(Request $request) { 
    $postreport = new postreport(); 
    $postreport->PostId = input::get('id'); 
    $postreport->UserId = session()->get('userid'); 
    $postreport->reasonId = $_POST('optradio'); 
    $postreport->save(); 
    return redirect('posts'); 
} 

這是我的模式標記:

<div class="modal fade" id="myModal" role="dialog"> 
    <div class="modal-dialog"> 

     <!-- Modal content--> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal">&times;</button> 
       <h4 class="modal-title">Tell Us What's Going On ?</h4> 
      </div> 
      <form method="post" action="reportPost" data-ajax="1"> 
       <div class="modal-body"> 

        <label><input type="radio" name="optradio" value="1">&nbsp;&nbsp;it's not interesting</label><br> 
        <label><input type="radio" name="optradio" value="2">&nbsp;&nbsp;I think it should not in our website</label><br> 
        <label><input type="radio" name="optradio" value="3">&nbsp;&nbsp;it's a spam</label><br> 

       </div> 
       <div class="modal-footer"> 
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
        <button type="submit" id="report_post" class="btn btn-primary" data-dismiss="modal">Save</button> 
       </div> 
      </form> 
     </div> 

    </div> 
</div> 

沒有被添加到我的數據庫。我看了很多教程,沒有解決我的情況。

+0

您是否將表單數據導入控制器? –

+0

'action =「reportPost」'是一個保存索引文件的文件夾?如果沒有,你需要將它指向一個php文件。 –

+0

你是如何定義你的行動路線?它拋出任何錯誤? – manian

回答

0

隨着引導模型的使用,數據不能直接通過PHP(Laravel 5.2)保存。在jquery ajax或javascript ajax之間會發揮作用。

解給出步步......

第一步: 在routes.php文件文件

Route::post('/modal-test',[ 
    'uses' => '[email protected]_test', 
    'as' => 'modal-test' 
]); 

第二步: 在View文件

<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal"> 
     Launch demo modal 
    </button> 

    <!-- Modal --> 
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
     <div class="modal-dialog" role="document"> 
      <div class="modal-content"> 
       <div class="modal-header"> 
        <button type="button" class="close" data-dismiss="modal">&times;</button> 
        <h4 class="modal-title">Tell Us What's Going On ?</h4> 
       </div> 
       <form> 
        <div class="modal-body"> 

         <label><input type="radio" name="optradio" value="1">&nbsp;&nbsp;it's not interesting</label><br> 
         <label><input type="radio" name="optradio" value="2">&nbsp;&nbsp;I think it should not in our website</label><br> 
         <label><input type="radio" name="optradio" value="3">&nbsp;&nbsp;it's a spam</label><br> 



        </div> 
        <div class="modal-footer"> 
         <button id="hello" class="btn btn-default" data-dismiss="modal">Close</button> 
         <button type="submit" id="report_post" class="btn btn-primary" data-dismiss="modal">Save</button> 
        </div> 
       </form> 
      </div> 
     </div> 
    </div> 

    <script src="{{ asset('js/juqery.min.js') }}"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
<script> 
    $(document).ready(function(){ 
     $('#myModal').on('shown.bs.modal', function() { 
      $('#myInput').focus() 
     }); 
    }); 
</script> 

    <script> 
     $(document).ready(function(){ 
      $('#report_post').on('click',function(){ 
       console.log('clicked'); 
       var token = '{{ csrf_token() }}'; 
       var process = "{{ route('modal-test') }}"; 
       var radio_input = $('input:radio[name=optradio]:checked').val();; 
       // console.log(radio_input); 


       var data = { 
        "_token":token, 
        "radio_input":radio_input 
       } 
       $.post(process, data, function(result){ 
        console.log(result); 


       }); 
      }); 

     }); 
    </script> 

第三步: 在控制器的文件

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

use App\Http\Requests; 
use DB; 
class TestController extends Controller 
{ 

public function modal_test(Request $request){ 
    $radio_input = $request->radio_input; 

    DB::table('modal_input')->insert(
     ['radio_input' => $radio_input] 
    ); 
    echo "Data inserted Successfully"; 
} 
} 
?> 

希望,這將是可行的。

相關問題