X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Не могу разобрать в чём ошибка
Tgl2203
Tgl2203
Topic Starter сообщение 10.6.2009, 14:30; Ответить: Tgl2203
Сообщение #1


Попытался своими руками сотворить скрипт голосования. Обрабатывает его та же страница, на которой он был показан. Но тут PHP вообще перестал понимать что такое $_GET!

Форма такая(ну, конечно, она тоже генерируется, но я тут для наглядности вывел просо html):
<form action="index.php" method="GET" name="id_opros">
Чтобы спасти мир надо...
<label><input type='radio' name='id_opros' value='1'/>Меньше мусорить</label>
<label><input type='radio' name='id_opros' value='2'/>Стать добрее</label>
<label><input type='radio' name='id_opros' value='3'/>Перестать убивать редких животных</label>
<input type="submit" value="voting" />
</form>


Код обработчика такой:

<?php
if(isset($_GET['id_opros'])) {
$id_opros = $_GET['id_opros'];
if ($id_opros == "") {
unset($id_opros);
}
}

if (isset($id_opros)) {
$result = mysql_query("SELECT golosov FROM golosovanie WHERE  id='$id_opros'", $db);
$myrow = mysql_fetch_array($result);
$plus = $myrow['golosov'];
$plus = $plus++;
if ($golos = mysql_query("UPDATE golosovanie SET golosov='$plus' WHERE  id='$id_opros'", $db)) {
echo "Спасибо за ваш голос!";
}
else {
echo "Произошла ошибка";
}
}


?>


Проверил всё, но не работает... Что делать?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
v1ex
v1ex
сообщение 10.6.2009, 14:33; Ответить: v1ex
Сообщение #2


О_О
$id_opros; = $_GET['id_opros']


А что конкретно не работает?

Гы, нашел:
$plus = $plus++;

исправьте на
$plus++;

или на
$plus = ++$plus;
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
НЕПЛОХОЙ
НЕПЛОХОЙ
сообщение 10.6.2009, 14:40; Ответить: НЕПЛОХОЙ
Сообщение #3


$result = mysql_query("SELECT golosov FROM golosovanie WHERE id='$id_opros'", $db) or die(mysql_error());

посмотри может выскочит что

if ($golos = mysql_query

это вообще по моему не правильно... во первыйх mysql_query вносить под if и если сравниват то знак ==, а не =
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
v1ex
v1ex
сообщение 10.6.2009, 14:47; Ответить: v1ex
Сообщение #4


это вообще по моему не правильно... во первыйх mysql_query вносить под if и если сравниват то знак ==, а не =

Все тут правильно. Тут запрос возвращает результат в переменную $golos, а потом проверяется не пустая ли переменная $golos. Ведь PHP это не строготипизированный язык ;)
Ведь ты наверняка вот так делаешь, а это одно и тоже:
while ($row = mysql_fetch_array($res))
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 11.6.2009, 1:20; Ответить: ZiTosS
Сообщение #5


Tgl2203, пишем так:
index.php
<?php

if(isset($_GET['voting']))
{
    $opros = intval($_GET['id_opros']);
    $sql = "UPDATE golosovanie SET golosov=golosov+1 WHERE id={$opros}";
    if(mysql_query($sql,$db)) echo "Спасибо за ваш голос!";
        echo "Произошла ошибка";
}
?>

<form action="" method="GET">
Чтобы спасти мир надо...
<label><input type='radio' name='id_opros' value='1'/>Меньше мусорить</label>
<label><input type='radio' name='id_opros' value='2'/>Стать добрее</label>
<label><input type='radio' name='id_opros' value='3'/>Перестать убивать редких животных</label>
<input type="submit" name="voting" value="voting" />
</form>


P.s. но учтите что поля golosov и id_opros должны быть int

Вообще я бы вам советовал пересмотреть представление опросов. В вашем случае, чтобы провести новый опрос, вам придётся очистить таблицы.
Сделайте проще. Есть таблица голосований(id, вопрос), таблица вариантов и количества ответов(id_вопроса, ответ, количество проголосовавших)

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыAdobe muse: Не могу разместить нужный мне код сразу после Body
0 Evg82 3833 20.6.2020, 10:24
автор: Evg82
Открытая тема (нет новых ответов) Могу сделать регистрации в букмекерских конторах
4 extremalspeed 2637 22.1.2019, 23:08
автор: hiberok
Открытая тема (нет новых ответов) Каталог открывается как ошибка 404 в hostcms
0 cheshire 3274 2.7.2018, 11:09
автор: cheshire
Открытая тема (нет новых ответов) Не могу выровнять блоки по правую сторону
1 Dark_Delphin 5912 18.11.2016, 0:14
автор: -Петр Чирнов-
Открытая тема (нет новых ответов) Поиск работы. Знаю HTML, CSS, могу писать тексты на русском
0 Coube 1119 9.5.2014, 3:38
автор: Coube


 



RSS Текстовая версия Сейчас: 26.4.2024, 8:07
Дизайн