|
|
|
| Суть в том, что надо вывести на страничку строку такого формата:
topic_Id=K;names={Name_1;...;Name_N;};posts={post_1;...;post_N};topic_Length=N;
topic_Id не суть важен - его значение на прямую выводится...
Форма вот:
<form action=handler.php method=POST>
<input type=text name=user_Id>
<input type=text name=topic_Id>
<input type=text name=post>
<input type=submit name=submit value="send">
</form>
|
Обработчик формы:
<?php
require_once ("config.php");
if (!get_magic_quotes_gpc())
{
$_POST['user_Id'] = mysql_escape_string($_POST['user_Id']);
$_POST['topic_Id'] = mysql_escape_string($_POST['topic_Id']);
$_POST['post'] = mysql_escape_string($_POST['post']);
}
$user = $_POST['user_Id'];
$topic = $_POST['topic_Id'];
$msg = $_POST['post'];
echo "topic_Id=".$topic.";";
$query = "INSERT INTO posts(id_post,id_user,msg) VALUES (NULL,'$user','$msg')";
if(!mysql_query($query)) exit(mysql_error());
echo "names={";
$query1 = "SELECT * FROM users" ;
$ath = mysql_query($query1);
if(!$ath) exit(mysql_error());
if(mysql_num_rows($ath))
{
while($usr = mysql_fetch_array($ath))
{
echo $usr['name'].";";
}
}
echo "};posts={";
$query2 = "SELECT * FROM posts" ;
$pst = mysql_query($query2);
if(!$pst) exit(mysql_error());
if(mysql_num_rows($pst))
{
while($past = mysql_fetch_array($pst))
{
echo $past['msg'].";";
}
}
echo "};";
$query3 = "SELECT COUNT(id_post) FROM posts";
$topic_Len = mysql_query($query3);
$count = mysql_result ($topic_Len,0);
if(!$count) exit(mysql_error());
echo "topic_Length=".$count.";";
?>
|
Вот так оно ругается: topic_Id=;Out of range value adjusted for column 'id_user' at row 1
Когда делаю тоже самое тока везде вместо POST'a ставлю GET все работает!
Никак до меня не дойдет в чем тут дело...Мож кто поможет??? | |
|
|
|
|
|
|
|
для: InsaneMax
(11.04.2007 в 18:54)
| | id_user - всей видимости , число. А Вы его строкой накормить пытаетесь.
От метода передачи здесь не зависит ничего. | |
|
|
|
|
|
|
|
для: Trianon
(11.04.2007 в 19:19)
| | заработало...а все лишь комп перезагрузил...
а передовал все таки циферки, а не строку) | |
|
|
|
|
|
|
|
для: InsaneMax
(11.04.2007 в 20:57)
| |
вот это - самая что ни на есть строка. Потому что в апострофах. | |
|
|
|