2017-01-10 16 views
0

Я делаю онлайн-систему голосования. У этой системы есть предел для людей (население области), которые могут голосовать (пример-10) &, тогда их голоса добавляются в базу данных. Я хочу вставить значения из переключателей в базе данных. Я попробовал код. Но у него есть некоторая ошибка. Данные формы голосования не вставляются DB & Я не знаю, что это действительно подходящий код для моего дела. Пожалуйста, если у кого-то есть идея, сообщите мне. Спасибо вамКак вставить значение из радио кнопки в MySQL в PHP

<html> 
 
    <head> 
 

 
     <title>Election</title> 
 
     
 
\t <link rel="stylesheet" href="bootstrap-3.3.4-dist/css/bootstrap.min.css"> 
 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
     <link rel="stylesheet" href="css/presidential.css" type="text/css"> 
 
\t \t <link rel="stylesheet" href="css/login.css" type="text/css"> 
 
     <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> 
 
\t \t </head> 
 
    <body> 
 
     <div class="head"> 
 
    
 
     <div class="container-fluid"> 
 
\t \t <div class="navbar-header"> 
 
        <b> Online voting System </b> 
 
\t </div> 
 
\t  
 
<input type="submit" class="btn btn-primary nextBtn btn-lg pull-right" name="submit" value="Cast Your Vote" /> 
 
</div> 
 
</div> 
 
       
 
<div class="container"> 
 
<form name="vote" method="POST" action=""> 
 
<div class="one"> 
 
    <h2><b>Election</b></h2> 
 
    <br> 
 
\t 
 
    <div class="funkyradio"> 
 
     <div class="funkyradio-default"> 
 

 
      <input type="radio" name="radio" id="radio1" value="radio1" /> 
 
      <label for="radio1"><b>A Party</b> <div class="img"><img src="img\A.png" height="75.8em" width="50.3em" ></img> </div> </label> 
 
\t \t </div> 
 
     <div class="funkyradio-default"> 
 
      <input type="radio" name="radio" id="radio2" value="radio2" /> 
 
      <label for="radio2"><b>B Party</b><div class="img"><img src="img\B.jpg" height="75.8em" width="50.3em" ></img> </div></label> 
 
\t \t </div> 
 
     <div class="funkyradio-default"> 
 
      <input type="radio" name="radio" id="radio3" /> 
 
      <label for="radio3"><b>C Party</b><div class="img"><img src="img\C.jpg" height="75.8em" width="50.3em" ></img> </div></label> 
 
     </div> 
 
     <div class="funkyradio-default"> 
 
      <input type="radio" name="radio" id="radio4" /> 
 
      <label for="radio4"><b>D Party</b><div class="img"><img src="img\D.jpg" height="75.8em" width="50.3em" ></img> </div></label> 
 
     </div> 
 
     <div class="funkyradio-default"> 
 
      <input type="radio" name="radio" id="radio5" /> 
 
      <label for="radio5"><b>E Party</b><div class="img"><img src="img\E.jpg" height="75.8em" width="50.3em" ></img> </div></label> 
 
     </div> 
 
     <div class="funkyradio-default"> 
 
      <input type="radio" name="radio" id="radio6" /> 
 
      <label for="radio6"><b> F Party</b><div class="img"><img src="img\F.jpg" height="75.8em" width="50.3em" ></img> </div></label> 
 
     </div> 
 
    </div> 
 
</div> 
 
</form> 
 
</div> 
 
</body> 
 
</html> 
 

 
<?php 
 
require'database.php'; 
 
if (isset($_POST['submit'])) 
 
{$radio=$_POST['radio']; 
 
    if($radio!="") 
 
\t { 
 
\t $query=mysql_query("INSERT INTO `election`(`candidate_name`) VALUES ('$radio')"); 
 
\t  if ($query) 
 
\t \t { 
 
\t \t \t echo"Cast your vote successfully"; 
 
\t \t } 
 
\t \t else 
 
\t \t { 
 
\t \t \t echo"There is a Some Problem in database"; 
 
\t \t } 
 
\t } 
 
\t 
 
} 
 
?>

+0

показать код, а не код изображения. – Dave

+0

Не было бы проще, если бы вы просто скопировали * соответствующий код * здесь вместо изображения? ** если ** люди ответят на это (и я подозреваю, что они будут в текущем формате), им тоже придется писать весь код. Я не собираюсь этого делать. – Xorifelse

+0

Если вы можете показать схему кода + таблицы, которая была бы полезной –

ответ

0

Ваш запрос не будет работать, потому что вы называете переменную в строку. Сначала вы должны закрыть строку, затем вызвать свою переменную, а затем снова завершить запрос в строке.

Что-то вроде этого

VALUES ('" . $radio . "');" 

Одиночные кавычки для в запросе, затем закрыть запрос и поставить некоторые PHP код, а затем откройте строку снова с двойным quoutes. В этой строке вы завершите запрос.

Посмотрите на SQL-инъекцию, потому что вы уязвимы, если используете этот метод. Но это что-то для другого вопроса.

0

Вот небольшой пример:

<?php 

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    echo "<pre>"; 
    var_dump($_POST); 
    exit; 
} 
?> 

<form action="<?= $_SERVER['PHP_SELF']; ?>" method="POST"> 
    <input type="radio" name="radiobutton" value="boom" /> 
    <input type="radio" name="radiobutton" value="bam" /> 
    <input type="radio" name="radiobuttontoo" value="boom" /> 
    <button type="submit">Go</button> 
</form> 

В приведенном выше примере вы можете разместить две кнопки радио. radiobutton и radiobuttontoo. Для radiobutton зависит от того, какой из двух выбран. Будет отображено значение выбранного. Теперь, чтобы получить это в mysql, просто сделайте INSERT.

$stmt = "INSERT INTO table SET 
value='".$_POST['radiobutton']."' 
"; 

Нет ничего более.