[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не записывает {userto}
mirck2791
Вобщем вот скрипт ajax чата с автообновлением, при вводе данных в форму добавляется в базу все кроме {userto}. Добавляются норм {user} {message} Подскажите почему не работает!

shoutbox.php
<?php
/***************************/
//@Author: Adrian "yEnS" Mato Gondelle & Ivan Guardado Castro
//@website: www.yensdesign.com
//@email: yensamg@gmail.com
//@license: Feel free to use it, but keep this credits please!

/***************************/

/************************
CONSTANTS
/************************/

define("HOST", "localhost");
define("USER", "root");
define("PASSWORD", "123");
define("DB", "test");

/************************
FUNCTIONS
/************************/

function connect($db, $user, $password){
$link = @mysql_connect($db, $user, $password);
if (!$link)
die("Could not connect: ".mysql_error());
else{
$db = mysql_select_db(DB);
if(!$db)
die("Could not select database: ".mysql_error());
else return $link;
}
}

function getContent($link, $num){
$res = @mysql_query("SELECT date, user, userto, message FROM shoutbox ORDER BY date DESC LIMIT ".$num, $link);
if(!$res)
die("Error: ".mysql_error());
else
return
$res;
}
function insertMessage($user, $userto, $message){
$query = sprintf("INSERT INTO shoutbox(user, userto, message) VALUES('%s', '%s', '%s');", mysql_real_escape_string(strip_tags($user)), mysql_real_escape_string(strip_tags($userto)), mysql_real_escape_string(strip_tags($message)));
$res = @mysql_query($query);
if(!$res)
die("Error: ".mysql_error());
else
return
$res;
}

/******************************
MANAGE REQUESTS
/******************************/

if(!$_POST['action']){

header ("Location: index.html");
}
else{
$link = connect(HOST, USER, PASSWORD);
switch($_POST['action']){
case "update":
$res = getContent($link, 10);
while($row = mysql_fetch_array($res)){
$result .= "<p><strong>".$row['user']."</strong><img src=\"./css/images/bullet.gif\" alt=\"-\" /><strong>".$row['userto']."</strong><img src=\"./css/images/bullet.gif\" alt=\"-\" />".$row['message']." <span class=\"date\">".$row['date']."</span></p>";
}
echo $result;
break;
case "insert":
echo insertMessage($_POST['nick'], $_POST['userto'], $_POST['message']);
break;
}
mysql_close($link);
}


?>





index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>
Shoutbox Мини-чат на сайт</title>
<link
rel="stylesheet" href="css/general.css" type="text/css" media="screen" />
</head>
<body>

<div
id="container">
<div
class="content">
<h1>
Последние сообщения</h1>
<div
id="loading"><img src="css/images/loading.gif" alt="Загрузка..." /></div>
<p>
</div>
</div>

<form
method="post" id="form">
<table>
<tr>
<td><label>
Ваше имя</label></td>
<td><input
class="text user" id="nick" type="text" MAXLENGTH="25" /></td>
</tr>
<tr>
<td><label>
Кому</label></td>
<td><input
class="text" id="userto" name="userto" type="text" MAXLENGTH="25" /></td>
</tr>
<tr>
<td><label>
Сообщение</label></td>
<td><input
class="text" id="message" type="text" MAXLENGTH="255" /></td>
</tr>
<tr>
<td></td>
<td><input
id="send" type="submit" value="Отправить" /></td>
</tr>
</table>
</form>



<script
type="text/javascript" src="jquery.js"></script>
<script
type="text/javascript" src="shoutbox.js"></script>
</body>
</html>


shoutbox.js
/***************************/
//@Author: Adrian "yEnS" Mato Gondelle & Ivan Guardado Castro
//@website: www.yensdesign.com
//@email: yensamg@gmail.com
//@license: Feel free to use it, but keep this credits please!
/***************************/


$(document).ready(function(){
//global vars
var inputUser = $("#nick");
var inputUserto = $("#userto");
var inputMessage = $("#message");
var loading = $("#loading");
var messageList = $(".content > p");

//functions
function updateShoutbox(){
//just for the fade effect
messageList.hide();
loading.fadeIn();
//send the post to shoutbox.php
$.ajax({
type: "POST", url: "shoutbox.php", data: "action=update",
complete: function(data){
loading.fadeOut();
messageList.html(data.responseText);
messageList.fadeIn("fast");
}
}
);
}
//check if all fields are filled
function checkForm(){
if(inputMessage.attr("value"))
return true;
else
return false
;
}

//Load for the first time the shoutbox data
updateShoutbox();

//on submit event
$("#form").submit(function(){
if(checkForm()){
var nick = inputUser.attr("value");
var userto = inputUserto.attr("value");
var message = inputMessage.attr("value");
//we deactivate submit button while sending
$("#send").attr({ disabled:true, value:"Отправляю..." });
$("#send").blur();
//send the post to shoutbox.php
$.ajax({
type: "POST", url: "shoutbox.php", data: "action=insert&nick=" + nick + "&userto=" + userto + "&message=" + message,
complete: function(data){
messageList.html(data.responseText);
updateShoutbox();
//reactivate the send button
$("#send").attr({ disabled:false, value:"Отправить" });
}
}
);
}
else alert("Пожалуйста, представьтесь и напишите сообщение");
//we prevent the refresh of the page after submitting the form
return false;
});
});




Спустя 6 минут, 48 секунд (29.03.2012 - 14:23) Invis1ble написал(а):
для начала проверь, приходят ли все данные в обработчик

Спустя 6 минут, 14 секунд (29.03.2012 - 14:29) mirck2791 написал(а):
Не приходят, я вот незнаю где косяк

Спустя 1 минута, 59 секунд (29.03.2012 - 14:31) Invis1ble написал(а):
Дебаж javascript. Перед вызовом ajax() userto какое значение имеет?

Спустя 1 минута, 22 секунды (29.03.2012 - 14:33) mirck2791 написал(а):
userto это с формы отправляется ник кому пишем

Спустя 1 минута, 31 секунда (29.03.2012 - 14:34) Invis1ble написал(а):
Я код читать умею, ты проверь, какое значение оно имеет перед отправкой

Спустя 4 минуты, 57 секунд (29.03.2012 - 14:39) mirck2791 написал(а):
Вобщем когда пишу цифрами то выводится, а буквами не отправляется

Спустя 4 минуты, 59 секунд (29.03.2012 - 14:44) Invis1ble написал(а):
Об этом нужно было сразу писать. Скорее всего поле в таблице БД имеет тип int, т.е. предназначено для хранения id адресата, а не его имени.

Спустя 11 минут, 24 секунды (29.03.2012 - 14:56) mirck2791 написал(а):
Все спасибо проблема решена)

Спустя 1 минута, 31 секунда (29.03.2012 - 14:57) Invis1ble написал(а):
Ну раз решена - вобще-то по негласным правилам хорошего тона принято описывать, в чем была проблема. Для будующих поколений.

Спустя 1 час, 40 минут, 21 секунда (29.03.2012 - 16:38) Guest написал(а):
В базе стояла байда, что можно было только цифры записывать
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.