Witam, mam problem z obsługą mojego formularza za pomocą AJAX(jQuery).
Drzewo katalogów:
/Chat/room.php - Pokój czatowy,
/Chat/send.php - Skrypt php odpowiedzialny za wysyłanie wiadomości do bazy,
/Chat/form.js - Skrypt jQuery odpowiedzialny za obsługę formularza,
/Chat/inc/html_start.php - początki html'owej treści XD.
Mój kod:
/Chat/room.php
<?include('inc/runApp.php');
$variable = '';
if(isset($_SESSION['logged'])){
/*** ROOM ***/
if(isset($_GET['room'])){
$_room = addslashes(htmlspecialchars($_GET['room']));
} else {
$_room = 'home';
}
/*** SHOW MESSAGES ***/
echo '<div id="show" data-room="'.$_room.'">';
$shoutsQ = $db->query("SELECT * FROM `chat_shouts` WHERE `room` = '$_room'");
if($shoutsQ->num_rows>0){
$full = $shoutsQ->num_rows;
$full2 = $full-10;
$shoutsQ2 = $db->query("SELECT * FROM `chat_shouts` WHERE `room` = '$_room' ORDER BY `id` DESC LIMIT 15");
while($shout=$shoutsQ2->fetch_assoc()){
if(strtolower($_SESSION['login']) == strtolower($shout['author'])){
$class = 's s-my';
} else {
$class = 's';
}
$variable = '
<div class="'.$class.'">
<div class="avatar">
<span class="tooltip">
<img src="avatar/default.png" title="">
<span>'.$shout['author'].'</span>
</span>
</div>
<span class="s-content">'.$shout['content'].'</span>
</div>'.$variable;
}
echo $variable;
} else echo '<p>Nie znaleziono żadnych wpisów.</p>';
echo '</div>';
/*** SEND MESSAGE ***/
echo '<form method="POST" id="send" action="send.php">
<input type="text" name="content" placeholder="Treść posta" id="inp-send-text">
<input type="submit" value="<" id="inp-send-sub">
</form>';
}
include('inc/exitApp.php');
?>
form.js
$(document).ready(function(){
$('form#send').submit(function(event){
event.preventDefault();
var cons = $('input[name=content]').val();
var form = $(this);
$.ajax({
'url': form.attr('action'),
'type': 'post',
'data': 'content=test',
'success': function(response){
alert(response.message + '/' + response.status + '/' + form.attr('action') + '/' + cons);
}
});
});
});
send.php
<?
$nohtml = 1;
include('../inc/runApp.php');
if(isset($_POST['content'])){
$_content = addslashes(htmlspecialchars($_POST['content']));
$_author = stripslashes($_SESSION['login']);
$_date = date('d/m/Y');
$db->query("INSERT INTO `chat_shouts` (`content`,`author`,`date`,`room`) VALUES ('$_content','$_author','$_date','$_room')");
echo 'success';
}
include('../inc/exitApp.php');
?>
html_start.php <? echo '<!DOCTYPE html> <html lang="pl"> <head> <meta charset="UTF-8"> <title>Czat</title> <link rel="stylesheet" href="'.$scriptdir.'css/reset.css"> <link rel="stylesheet" href="'.$scriptdir.'css/style.css"> <script src="'.$scriptdir.'js/jquery.min.js"></script> <script src="'.$scriptdir.'js/show.js"></script> <script src="'.$scriptdir.'form.js"></script> </head> <body> <div class="container"> <nav> <a href="'.$scriptdir.'">Główna</a> </nav>'; ?>
W czym problem? Wiadomość mi się nie chce wysłać, w alert() wyskakuje mi undefined/undefined/send.php/treść_wiadomości. Nie wiem co tu mogłem zepsuć














