Модераторы: Aliance, skyboy, MoLeX, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не знаю что делать, может кто-нибудь будет давать задания 
:(
    Опции темы
Genn1us
Дата 9.5.2008, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 4.5.2008

Репутация: нет
Всего: нет



Как правильно записать?
Код

$UPDATE = mysql_query ("UPDATE poll SET (a,b,c,d,f)");

PM MAIL   Вверх
Fortop
Дата 9.5.2008, 00:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: нет
Всего: 42



например вот так 
Код

$UPDATE = mysql_query ("UPDATE poll SET a='" . $result['a'] . "',b='" . $result['b'] . "',c='" . $result['c'] . "',d='" . $result['d'] . "',f='" . $result['f'] . "'");


И еще раз обращаю твое внимание  на переменную $var, значение которой ты проверяешь в switch()
Что она содержит? 
У тебя ведь значение голосования приходит в $_POST['rad'] smile


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Genn1us
Дата 9.5.2008, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 4.5.2008

Репутация: нет
Всего: нет



Сделал так:
Код

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<LINK href=http://localhost/poll/css/style.css type=text/css rel=StyleSheet>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<? 
include "config.php";
include "include/summa.php"; 
include "include/vop.php";
$db = mysql_connect ($host,$user,$pass);
      mysql_select_db ($db_name,$db);
$kodirovka = mysql_query('SET NAMES "cp1251"');
$SELECT = mysql_query("SELECT * FROM poll",$db);
$result = mysql_fetch_array($SELECT);
switch ($rad) {
    case 'a':
    $result['a']++;
    break;
    case 'b':
    $result['b']++;
    break;
    case 'c':
    $result['c']++;
    break;
    case 'd':
    $result['d']++;
    break;
    case 'f':
    $result['f']++;
    break;
    default:
    // echo "0";
    break;
}
$UPDATE = mysql_query ("UPDATE poll SET a='" . $result['a'] . "',b='" . $result['b'] . "',c='" . $result['c'] . "',d='" . $result['d'] . "',f='" . $result['f'] . "'");
$SQL = mysql_query($UPDATE);
?>
<FORM NAME="poll" action="index.php" CLASS="norm" METHOD="POST">
<table width="150" height="149" border="0" cellpadding="0" cellspacing="0" align="center" class="reg_exit">
  <tr>
    <td width="150" valign="top"><table width="149" height="145" border="0" cellpadding="0" cellspacing="0">
      <tr>
    <td width="15%" height="20" align="center" class="vop"><? echo "$vop";?></td>
 </tr>
     
      <tr>
  <td width="15%" class="txt_vop"><input name="rad" type="radio" id="a" value="a" />
  <? echo "$vop_a";?></td>
  </tr>
      <tr>
 <td width="15%"  class="txt_vop"><input type="radio" name="rad" id="b" value="b" /><? echo "$vop_b";?></td>
 </tr>
      <tr>
 <td width="15%"  class="txt_vop"><input type="radio" name="rad" id="c" value="c" /><? echo "$vop_c";?></td>
 </tr>
      <tr>
 <td width="15%"  class="txt_vop"><input type="radio" name="rad" id="d" value="d" /><? echo "$vop_d";?></td>
  </tr>
      <tr>
  <td width="15%" class="txt_vop"><input type="radio" name="rad" id="f" value="f" /><? echo "$vop_f";?></td>
  </tr>
      <tr>
  <td width="15%" align="center">
   <input type="submit" value="Проголосовать" class="botom">
    </td>
   </tr>
      <tr>
        <td class="result">&nbsp;Всего голосов: <strong><? echo "$summa";?></strong>          </td>
      </tr>
    </table></td>
  </tr>
</table>
</FORM>
</body>
</html>



Вроде бы как работает, НО на половину. Проблема такая добавляет иногда через раз, то есть я выбираю пункт (а) и нажимаю голосовать и получается так или не добавляется или добавляется, НО еще после нажатия на кнопку голосовать добавился или нет, нажимаешь повторно на кнопку голосовать, не выбирая не чего (все поля пустые), он добавляет +1 в предыдущему ответу. Какая еще ошибка в коде?

Это сообщение отредактировал(а) Genn1us - 9.5.2008, 09:51
PM MAIL   Вверх
Fortop
Дата 9.5.2008, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: нет
Всего: 42



Во-первых, не используй register_globals = on

Все переменные из формы извлекай вот таким образом (это всего лишь образец, для своего кода переделаешь)
Код

$var = $_POST['var']


Во-вторых, базовые вещи, что и как делать http://forum.vingrad.ru/articles/topic-158298.html

В-третьих, теперь тебе нужно заниматься отладкой.
А для этого, после каждой строки, где происходит присвоение переменной, сделай вывод этой переменной на на экран.

Код

echo "<pre>";
var_dump($var);
echo "</pre>";


Запусти свой код и посмотри, что оно тебе выведет. Тогда ты сможешь понять, какой участок кода и что у тебя делает не так.


Это сообщение отредактировал(а) Fortop - 9.5.2008, 18:52


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Genn1us
Дата 9.5.2008, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 4.5.2008

Репутация: нет
Всего: нет



Немножко не понял нужно вписать еще так?
Код

echo "<pre>"; 
$a = $_POST['a'];
echo "</pre>";

PM MAIL   Вверх
Fortop
Дата 9.5.2008, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: нет
Всего: 42



Genn1us
ты смешал в кучу две разных вещи.
Неужели я так плохо объясняю? :(

1. тебе нужно контролировать процесс получения данных из $_POST, $_GET массивов.
Для этого и служит конструкция вида
Код

$a = $_POST['a'];


2. Для того чтобы понять, что у тебя работает не так. Нужно на каждом изменении переменной видеть, что у тебя в нее попало
А для этого пригодится такое
Код

echo "<pre>";
var_dump($var);
echo "</pre>";



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Genn1us
Дата 9.5.2008, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 4.5.2008

Репутация: нет
Всего: нет



Так скрипт как бы работает вроде бы.

Объясни еще кое-что, почему он так не добавляет когда + 1, а когда ++ то все ок? просто если там нужно будет + 2, то с плюсиками тут не как)

Fortop, спасибо за помощь!


PM MAIL   Вверх
Fortop
Дата 9.5.2008, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: нет
Всего: 42



Genn1us
можешь использовать 

Код

$result['d'] = $result['d'] + 115;


Все отлично работает. Ранее, если ты обратишь внимание, ты добавлял не в те переменные. Вот и все


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Избранное | Следующая тема »


 




[ Время генерации скрипта: 0.1635 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.