-1

我在 Html 中有这样的表单:

<!--HTML Form input-->
		<div class = "login-block">
			<form id="form1" style="display: block" method="POST" action="Insert.php">
			
				<!--Input link api-->
				<b>Link: </b><input type="text" id="link" name="apilink"><br>
				<br>
				
				<!--Chart Type-->
				<b>Chart Type:</b>
				<label class="custom-select">
					<select id="chartType" name="chartType">
						<option value="">Select</option>
						<option value="pie">Pie Chart</option>
						<option value="column">Column Chart</option>
						<option value="bar">Bar Chart</option>
					</select>
				</label>
				<br><br>
				
				<!--Button create chart-->
				<div class ="wrapper">
					<button type="button" name="create" onClick="drawChart();">Create</button>
					<br><br>
				</div>
				
			</form>
		</div>

我创建了一个 php 文件以将表单中的用户类型插入 MySQL 数据库,这是我的 Insert.php:

<!--Insert Form Data to MySQL-->
<?php 
    $con = mysql_connect("localhost","root","123456");
    if (!$con)
    {
        die('Could not connect: ' . mysqli_error());
    }

    mysql_select_db("activiti_report");

    if(isset($_POST['create'])) {
        $sql = "INSERT INTO chartinfo (link, typeChart) VALUES ('$apilink', '$chartType')";

        $result = mysql_query($sql);
    }

?>

但是当我运行我的页面时,在输入一些文本并选择下拉列表后,我按下创建按钮并没有任何反应。

更新:

我的表结构

4

2 回答 2

1

您对 SQL 注入持开放态度。我建议您使用准备好的语句。

<?php
if(isset($_POST['create'])){
    $chartType = $_POST['chartType'];
    $apilink = $_POST['apilink'];
    $conn = new mysqli("localhost", "root", "123456", "activiti_report");
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    $stmt = $conn->prepare("INSERT INTO chartinfo (link, typeChart) VALUES (?,?)");
    $stmt->bind_param("ss", $apilink, $chartType);
    $stmt->execute();
    $stmt->close();
    $conn->close();
}else{
    echo "Form not sended";
}
于 2019-01-28T10:23:22.280 回答
0

看起来您首先没有从表单中获取数据。

要获取实际数据,您需要从这样的帖子中获取它们。

$apilink = $_POST["apilink"];
于 2019-01-28T10:27:14.090 回答