【问题标题】:How to Post some datas into mySQL server如何将一些数据发布到 mySQL 服务器
【发布时间】:2018-10-02 20:28:42
【问题描述】:

我正在尝试从用户那里获取一些信息,例如命名期中最终成绩并将它们发布到我使用 MySQL 服务器的数据库中。 问题是当我按下 Add to DD 按钮时,没有任何变化,数据也没有进入我的数据库表中。

这是我的主要代码:

<html>
<body>

	<table border ="1">
		<tr>
		<td>Name</td>
		<td><input id="name"> </input></td>
		</tr>
		<tr>
		<td>Midterm</td>
		<td> <input id="midterm"> </input></td>
		</tr>
		<tr>
		<td>Final</td>
		<td> <input id="final"> </input></td>
		</tr>
		<tr>
		<td>Grade</td>
		<td> <input id="grade"> </input></td>
		</tr>
		<td><input type="button" onclick="calculate()" value="Calculate"></td>
		<td>  <input type="submit"  value="Add to DB"> </td>
		</tr>
	</table>
</body>

<script type="text/javascript">
	function calculate(){
		var mid=document.getElementById('midterm').value;
		var fin=document.getElementById('final').value;
		var grade=mid*(0.3)+fin*(0.7);
		document.getElementById('grade').value=grade;
	}
	

</script>


</html>

这也是插入数据的代码:

<html>
<body>
	<form method="get" action="grade.php">
		<input type="text" value="Welcome to Student Grades Calculator">
		<br>
		<input type="submit" value="GO">
	</form>
	</body>
	</html>
<?php

	$name=$_POST['name'];
	$midterm=$_POST['midterm'];
	$final=$_POST['final'];
	$grade=$_POST['grade'];
	echo 'Hey';
	
	$connect= mysql_connect('localhost','root','','test');
	
	if(mysqli_connect_errno())
	{
			echo "Failed to connect to MySQL:".mysql_connect_errno();;
	}
	
	$s = "INSERT INTO(name,midterm,final,grade) VALUES('rr','33','33','33')";
	$sql = "INSERT INTO(name,midterm,final,grade) VALUES ('$name','$midterm','$final','$grade')";
	mysqli_query($connect , $sql);
	
	mysqli_close($connect);
	
	?>
	

【问题讨论】:

  • 您的代码容易受到SQL injection 攻击。您应该使用mysqliPDO 带有绑定参数的预准备语句,如this post 中所述。
  • 你为什么要把mysqlmysqli混在一起?
  • 虽然我同意@Dominik(看看htmlentities),但将表单方法更改为post而不是get
  • 首先你应该给每个字段输入名称,然后你可以从表单中获取数据

标签: php jquery html mysql post


【解决方案1】:

您需要将变量设置为 $_GETnot $_POST

$name=$_GET['name'];
$midterm=$_GET['midterm'];
$final=$_GET['final'];
$grade=$_GET['grade'];

出于安全考虑,我还建议使用 post 而不是 get

【讨论】:

    猜你喜欢
    • 2019-03-31
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多