如何在PHP中从MySQL中的单选按钮插入值

时间:2017-01-10 07:27:29

标签: php mysql html5

我正在制作在线投票系统。该系统对可投票的人(区域人口)有限制(例如10)&然后他们的投票添加到数据库。我想从数据库中的单选按钮插入值。我尝试了一些代码。但它有一些错误。投票表格数据不会插入DB&我不知道这是非常合适的代码。如果有人有想法,请告诉我。感谢您

<html>
    <head>

        <title>Election</title>
        
	<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">
		<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">
		</head>
    <body>
         <div class="head">
    
       <div class="container-fluid">
		<div class="navbar-header">
                   <b> Online voting System </b>
	</div>
	    
<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>
	 
    <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>
		</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>
		</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!="")
	 {
	 $query=mysql_query("INSERT INTO `election`(`candidate_name`) VALUES ('$radio')");
	    if ($query)
		{
			echo"Cast your vote successfully";
		}
		 else
		 {
			 echo"There is a Some Problem in database";
		 }
	 }
	 
}
?>

2 个答案:

答案 0 :(得分:0)

您的查询无法正常工作,因为您在字符串中调用变量。您应该首先关闭字符串,然后调用您的变量,然后再次以字符串结束查询。

像这样的东西

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

在查询中使用单引号,然后关闭查询并放入一些php代码,然后再次使用double quoutes打开字符串。在该字符串中,您完成查询。

查看sql注入,因为如果使用此方法,您将非常容易受到攻击。但这是另一个问题。

答案 1 :(得分: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>

在上面的示例中,您可以POST两个单选按钮。 radiobuttonradiobuttontoo。对于radiobutton,它取决于两者中的哪一个被选中。将提交所选项的值。现在,要将其转换为mysql,只需执行INSERT

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

真的没有什么了。