Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Голосование

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Голосование на php
Макс
Отправлено: 03 Октября, 2011 - 18:06:17
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Хочу создать голосование, простенький опросник. Возникла проблемка с созданием бд. Выходит ошибка: Unknown database 'opr' .

Существуют 3 файла: главный part.php, sql.php - для подключения и создания бд, lib.php - в котором функции.

Вот sql.php, из-за которого вся проблема...
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (!'opr.sql'){
  3.         define("DB_HOST", "localhost");
  4.         define("DB_LOGIN", "");
  5.         define("DB_PASSWORD", "");
  6.         mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die(mysql_error());
  7.         $sql = 'CREATE DATABASE opr';
  8.         mysql_query($sql) or die(mysql_error());
  9.         mysql_select_db('opr') or die(mysql_error());
  10.         $sql = "
  11.         CREATE TABLE part (
  12.                 id int(11) NOT NULL auto_increment,
  13.                 ip varchar(50) NOT NULL default '',
  14.                 otv varchar(50) NOT NULL default '',
  15.                 PRIMARY KEY (id)
  16.         )";
  17.         mysql_query($sql) or die(mysql_error());
  18.         mysql_close();
  19.         print '<p>Структура базы данных успешно создана!</p>';
  20.         header('Location: part.php' );
  21.  
  22.                                         }
  23. else{
  24.         mysql_select_db('opr') or die(mysql_error());
  25.         }
  26. ?>

Не судите, пожалуйста, строго, я новичок, это моя первая программа на php

(Отредактировано автором: 03 Октября, 2011 - 18:06:57)

 
 Top
caballero
Отправлено: 03 Октября, 2011 - 18:14:46
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




а почему бы вам в первой программе не создать БД вручную phpmyadminom или еще чем

И как вы вообхе логинитесь с пустым паролем и логином.


судя по всему
if (!'opr.sql'){
вас оправляет вниз когда базы еще нет


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
LIME
Отправлено: 03 Октября, 2011 - 18:20:03
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




caballero пишет:
вас оправляет вниз когда базы еще нет
вернее там нет соединения
mysql_connect у вас только при условии
 
 Top
Макс
Отправлено: 04 Октября, 2011 - 09:45:06
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




LIME пишет:
вернее там нет соединения
mysql_connect у вас только при условии

То есть смысл такой: если базы данных нет, то мы её создаём и соединяемся с ней для работы. Если она есть, то мы только соединяемся.

Можно конечно phpMyAdminom, но просто хочется понять процесс изнутри...
(Добавление)
Исправил следующим образом:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.         define("DB_HOST", "localhost");
  4.         define("DB_LOGIN", "root");
  5.         define("DB_PASSWORD", "");
  6.         mysql_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die(mysql_error());
  7. $file='opr.sql';
  8. if (file_exists($file))
  9. {
  10.         mysql_select_db('opr') or die(mysql_error());
  11.               header('Location: part.php' );
  12. }
  13. else{
  14.        
  15.         $sql = 'CREATE DATABASE opr';
  16.         mysql_query($sql) or die(mysql_error());
  17.         mysql_select_db('opr') or die(mysql_error());
  18.         $sql = "
  19.         CREATE TABLE part (
  20.                 id int(11) NOT NULL auto_increment,
  21.                 ip varchar(50) NOT NULL default '',
  22.                 otv varchar(50) NOT NULL default '',
  23.                 PRIMARY KEY (id)
  24.         )";
  25.         mysql_query($sql) or die(mysql_error());
  26.         mysql_close();
  27.         print '<p>Структура базы данных успешно создана!</p>';
  28.         }
  29. ?>
  30.  

Спасибо, что натолкнули на мысль! Теперь буду другие ошибки исправлять!
(Добавление)
Не пойму отчего он мне всё время пишет: Can't create database 'opr'. Database exists
Зачем он else выполняет, если удовлетворяет условию if и есть переадресация на другую страницу?

(Отредактировано автором: 04 Октября, 2011 - 11:29:25)

 
 Top
Мелкий Супермодератор
Отправлено: 04 Октября, 2011 - 11:48:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Макс пишет:
если удовлетворяет условию if

А с чего вы взяли, что удовлетворяет? Не вижу никакой связи между файлов opr.sql в этой директории и существованием базы в базе данных.


-----
PostgreSQL DBA
 
 Top
Макс
Отправлено: 14 Октября, 2011 - 20:00:14
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Мелкий пишет:
А с чего вы взяли, что удовлетворяет? Не вижу никакой связи между файлов opr.sql в этой директории и существованием базы в базе данных.

Вы абсолютно правы. Спасибо.

Создал бд. Столбцы: id, ldpr, kprf, er, sr, ip. В столбцах ldpr, kprf, er, sr - в случае соответствующего выбора значение обновляется в сторону увеличения на 1. id - счетчик, ip - должен выявлять голосовал ли уже человек. Если голосовал программа прекращается. Если нет, то форма появляется и предлагается проголосовать. Но почему-то ничего не происходит...

PHP:
скопировать код в буфер обмена
  1.  
  2. $ip=$_SERVER["REMOTE_ADDR"];
  3. $sql = "
  4.         SELECT ip FROM test
  5.         ";
  6. $res=mysql_query($sql);
  7.  
  8.         while ($row = mysql_fetch_array($res)) {
  9.     echo $row['ip'].'<br>';
  10.         if ($row['ip']==$ip)
  11.                                 {
  12.                  echo "Вы уже голосовали!";
  13.                 exit;
  14.                                 }      
  15.         else
  16.                                 {                                                  
  17.                                         if ($_POST['part']=='ЛДПР')
  18.                                         {
  19.                                                 echo "Спасибо, Ваш голос учтён! Вы проголосовали за ЛДПР.";
  20.                                                
  21.                                                 $sql=
  22.                                         "
  23.                                             INSERT INTO
  24.                                                 test (ip)
  25.                                                 VALUES
  26.                                                          ('$ip')
  27.                                         ";
  28.                                                 mysql_query($sql);
  29.                                                
  30.                                                 $sql = "
  31.                                                 SELECT ldpr FROM test
  32.                                                 ";
  33.                                                 $res=mysql_query($sql);
  34.                                        
  35.                                                
  36.                                                 while ($row = mysql_fetch_array($res)) {
  37.                                             echo $row['ldpr'].'<br>';
  38.                                         }
  39.                                                
  40.                                        
  41.                                                 $sql = "
  42.                                                 UPDATE test
  43.                                                 SET ldpr=ldpr+1
  44.                                                                 ";  
  45.                                                
  46.                                                 mysql_query($sql);
  47.                                                
  48.                                         }
  49.                                         elseif ($_POST['part']=='КПРФ')
  50.                                         {
  51.                                                 echo "Спасибо, Ваш голос учтён! Вы проголосовали за КПРФ.";
  52.                                         }
  53.                                         elseif ($_POST['part']=='Единая Россия')
  54.                                         {
  55.                                                 echo "Спасибо, Ваш голос учтён! Вы проголосовали за Единую Россию.";
  56.                                         }
  57.                                         elseif ($_POST['part']=='Справедливая Россия')
  58.                                         {
  59.                                                 echo "Спасибо, Ваш голос учтён! Вы проголосовали за Справедливую Россию.";
  60.                                         }
  61.                                         elseif ($_POST['part']=='Правое дело')
  62.                                         {
  63.                                                 echo "Спасибо, Ваш голос учтён! Вы проголосовали за Правое дело.";
  64.                                         }
  65.                                         elseif ($_POST['part']=='У меня иные предпочтения')
  66.                                         {
  67.                                                 echo "Спасибо, Ваш голос учтён! Теперь нам известно, что у Вас иные предпочтения.";
  68.                                         }
  69.                                         else
  70.                                         {
  71.                                                 echo "Пожалуйста, выберите вариант ответа!";
  72.                                         }
  73.  
  74.                                                                                         } // конец else
  75.                                                                                                         } // конец while
  76.  


Пока что пробую на примере ЛДПР. Остальные потом сделаю по подобию. От начала до конца всё делаю сам, поэтому сразу прошу извинить за глупые ошибки.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB