1 (изменено: Daelli, 2009-08-04 04:36:28)

Тема: Проблема с организацие рейтинга у себя на сайте

Есть проблема по организации рейтинга на сайте, когда посетитель сайта оценивает статью по 5бальной шкале , информация не вноситься в базу, что бы понятней было вот код:

Форма
<form class="pvote" action="vot_res.php" method="post" name="vv" target="_blank">
<p ><span class="stil_11">      Оцените материал:</span>     <span class="stil_14"> 1
    <input name="score" type="radio" value="1">
    2
    <input name="score" type="radio" value="2">
    3
    <input name="score" type="radio" value="3">
    4
    <input name="score" type="radio" value="4">
    5</span>
  <input name="score" type="radio" value="5" checked> </span>      <input name="submit" type="submit" value="Оценить"></p>
</form>

Обработчик  vot_res.php
<?php
include ("blocks/bd.php");
if (isset($_POST['score'])) {$score = $_POST['score'];}
$sql_select = mysql_query("SELECT * FROM `files` ORDER BY `id` DESC",$db);
$arr = mysql_fetch_array($sql_select);
if (!$sql_select)
{
echo"<p>Запрос на выборку данных из базы данных не прошел.</p>";
exit(mysql_error());
}
if (mysql_num_rows($sql_select) > 0)
{

$rating = $arr['rating'] + $score;
$q_vote = $arr['q_vote'] + 1;
$update = mysql_query("UPDATE `files` SET rating='$rating',q_vote='$q_vote' WHERE id='$id'",$db); */Вот здесь не обновляются в базе информация/*
if ($update)
{
echo "$rating $q_vote";
exit();
}
}
else
{
echo "<p>$rating Информация по запросу не может быть извлечена.</p>";
exit();
}
?>


Не могу понять почему в базе не меняется показатели rating и  q_vote, оценивание происходит, но результат не фиксируется и всё остаётся как и было. Правильность написание везде вродибы проверил везде указываю одинаково.

2

Re: Проблема с организацие рейтинга у себя на сайте

Все данные приходящие через POST следует выбирать из глобального массива.
if (isset($_POST['id'])) {$id = $_POST['id'];}

3

Re: Проблема с организацие рейтинга у себя на сайте

Hanut сказал:

Все данные приходящие через POST следует выбирать из глобального массива.
if (isset($_POST['id'])) {$id = $_POST['id'];}

не понял, у меня через POST передаётся только данные score из формы   -   if (isset($_POST['score'])) {$score = $_POST['score'];} (небольшая ошибка была с id в форме).   Все данные приходящие через POST следует выбирать из глобального массива. - вот эта фраза мне не понятна.

4

Re: Проблема с организацие рейтинга у себя на сайте

Может кто знает ссылочку, где описывается организация рейтинга на сайте

5

Re: Проблема с организацие рейтинга у себя на сайте

Daelli
Посмотрите откуда приходит переменная $id, по которой и осуществляется обновление данных в БД. Если эта переменная приходит не через POST, то как?

При передаче данных через POST, они помещаются в глобальный массив $_POST. То есть: <input type="radio" name="score" value="2"> при отсылке формы окажется - $_POST['score'] = 2.

http://www.php.net/manual/en/reserved.v … s.post.php

6

Re: Проблема с организацие рейтинга у себя на сайте

спасибо