2016-06-29 2 views
0

Я пытаюсь использовать некоторые данные из Bootstrap Modal для таблицы MySQL, но я не могу заставить ее работать.Как добавить данные из Bootstrap Modal в MySQL

Здесь РНР вызов модального:

<a href='#' data-toggle='modal' data-target='#add-post' data-userid=" . $_SESSION['user_id'] . " data-username=" . $username . " data-email=" . $email . ">Add a post</a> 

Вот модальный:

<div class="modal fade" id="add-post" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
<div class="modal-dialog"> 
<div class="modal-content"> 
    <div class="modal-body">   
     <form class="form-horizontal" role="form" name="add_post"> 
     <input type="hidden" name="username" value="<?php echo $username; ?>"> 
     <input type="hidden" name="email" value="<?php echo $email; ?>"> 
     <div class="form-group"> 
     <label class="col-sm-3 control-label" for="gebruikersnaam" style="text-align: left;">Username</label> 
     <div class="col-sm-9 control-label" style="text-align: left;"><?php echo $username; ?></div> 
     </div> 
     <div class="form-group"> 
     <label class="col-sm-3 control-label" for="email" style="text-align: left;">E-mail</label> 
     <div class="col-sm-9 control-label" style="text-align: left;"><?php echo $email; ?></div> 
     </div> 
     <div class="form-group"> 
     <label class="col-sm-3 control-label" for="post" style="text-align: left;">Post</label> 
     <div class="col-sm-9 control-label" style="text-align: left;"><textarea name="post" rows="5" cols="70"></textarea></div> 
     </div> 
    </form> 
    </div> 
    <div class="modal-footer"> 
    <input class="btn btn-success" type="submit" value="Add post" id="submit" /> 
    </div> 
</div> 

И вот JQuery для вызова process.php

<script> 
$(document).ready(function() { 
$("input#submit").click(function(e){ 
    $.ajax({ 
     type: "POST", 
     url: "process.php", // 
     data: { 
    'username':username, 
    'email':email 
     }, 
     success: function(msg){ 
      alert("ok"); 
      $('#add-post').modal('hide'); 
     }, 
     error: function(){ 
      alert("Something went wrong!"); 
     } 
    }); 
}); 
}); 
</script> 

Process.php:

<?php 
if ($_POST['post']) { 

$sql = "INSERT INTO posts (username, email, post , date) VALUES ('". htmlspecialchars($username, ENT_QUOTES) . "', '". htmlspecialchars($email, ENT_QUOTES) . "', '" . htmlspecialchars($_POST['post'], ENT_QUOTES) . "', NOW())"; 

$res = mysqli_query($con, $sql) or die(mysql_error()); 

} 
?> 

Любая идея, что пойдет не так?

С наилучшими пожеланиями,

Арье

+0

Ну во-первых вы не имеете вас подключение к базе данных установлено, во-вторых вы вставляете '$ username',' $ электронная почта 'и т. д., и эти переменные не определены. Это должно быть '$ _POST ['username']', '$ _POST ['email']' и т. Д. Также вы не отправляете значение для сообщения в своем вызове jQuery. Путь для отправки данных - это использование сериализации jQuery. https://api.jquery.com/serialize/ – b0ne

+0

Thx для комментария, но я не копировал соединение с базой данных в этот поток, потому что я думал, что я был бы логичен, чтобы иметь эту информацию, мой плохой ....... . :-). Я видел, что даже забыл скопировать переменные в поток, но они были там, основная проблема заключалась в том, что я не посылаю правильные значения в JQuery. – Arie

ответ

2

Try сценарий как этот

$(document).ready(function() { 
$("input#submit").click(function(e){ 
    $.ajax({ 
     type: "POST", 
     url: "process.php", // 
     data: { 
    'username':$('input[name=username]').val(), 
    'email':$('input[name=email]').val() 
     }, 
     success: function(msg){ 
      alert("ok"); 
      $('#add-post').modal('hide'); 
     }, 
     error: function(){ 
      alert("Something went wrong!"); 
     } 
    }); 
}); 
}); 
Смежные вопросы