2
我非常新的Web开发,尤其是AJAX(jQuery的),我面临的一个问题AJAX的PHP脚本
我有3个PHP脚本
input.php:
<form id="input" action='data.php' method='post'>
<select name="id">
<?php
require_once('function.php');
$conn = connect();
$sql = "SELECT id,item FROM t1";
$results = mysqli_query($conn, $sql) or die($mysqli->error);
//echo "<form action='data.php' method='post'>";
while($row = $results->fetch_assoc()){
echo "<option value='" . $row['id'] . "'>" . $row['item'] . "</option>";
}
?>
<input type='Submit' value='Auswahl bestätigen'/>
</select>
data.php
<form action= 'change.php' method='post'>
<?php
$id = $_POST ["id"];
$id = $mysqli->real_escape_string($id);
require_once('function.php');
$conn = connect();
$sql = "SELECT * FROM t1 WHERE id='".$id."'";
//echo $sql;
$results = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($results);
echo "ID: <input type='number' name='id' value='" .$row['id']. "' readonly
size='5'><br><br>";
echo "Beschreibung: <input type='text' name='beschreibung'
value='".$row['description']."'><br><br>";
echo "Finder: <input type='text' name='finder' required
value='".$row['contact']."' /><br><br>";
echo "Datum: <input type='date' name='datum' required
value='".$row['date']."'> <br><br>";
echo "Ort: <input type='text' name='ort' required value='".$row['place']."'>
<br><br>";
echo "Abgeholt?: <input type='radio' name='abgeholt' value='1' />Ja";
echo "<input type='radio' name='abgeholt' value='0'
checked>Nein<br><br>";
echo "Abholdatum: <input type='date' name='abholdatum'
value='".$row['retrieve date']."'> <br><br>";
?>
<input type='Submit' value='Eintrag ändern!' /><br><br>
</form>
和change.php:
<?php
$id = $_POST ["id"];
$item = $_POST ["gegenstand"];
$description = $_POST ["beschreibung"];
$contact = $_POST ["finder"];
$date = $_POST ["datum"];
$place = $_POST ["ort"];
$retrieved = $_POST ["abgeholt"];
$retrieve_date = $_POST ["abholdatum"];
require_once('function.php');
$conn = connect();
$item = $conn->real_escape_string($item);
$description = $conn->real_escape_string($description);
$contact = $conn->real_escape_string($contact);
$date = $conn->real_escape_string($date);
$place = $conn->real_escape_string($place);
$retrieved = $conn->real_escape_string($retrieved);
$retrieve_date = $conn->real_escape_string($retrieve_date);
$sql ="UPDATE t1
SET description = '$description', contact = '$contact', date = '$date',
place = '$place', retrieved = '$retrieved' , retrieve_date =
'$retrieve_date'
WHERE id = '$id'";
//echo $sql;
if ($conn->query($sql) === TRUE) {
echo "New record created successfully" . "<br>" . "<br>";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
所以我的问题:
这些脚本的工作,我能够改变我的分贝(MariaDB的) 项,但我想让他们被加载通过AJAX来提高我的网站的感觉(没有人喜欢3个重定向改变的东西)
我与jQuery的$ .load功能,但没有喜悦试过
<script type="text/javascript">
$(document).ready(function(){
$('#f1').load('input.php');
});
});
</script>
所以我的问题是:
是否有可能加入这些脚本,以减少到最大。 1重定向,甚至更好地通过AJAX将它们集成到主html页面中?
PS:抱歉语法错误,英语不是我的母语
阿贾克斯不仅仅是加载页面。 你应该开发一个单独的页面,它可以在没有页面重新加载的情况下进行ajax调用,以便将数据发布到服务器。 您不需要每次从服务器通过ajax加载新页面。 –
您的混合操作mysqli和过程函数以及'$ _POST [“id”]'对SQL注入开放。 –
好吧,既然你是新手,那么暂时放一个Ajax,看一下http://bobby-tables.com,了解SQL注入以及如何防止它们。现在,你的代码根本不安全,而且你很容易被注入。您的数据库可能会在几秒钟内被黑客入侵,而不需要对系统有更深入的了解。 – Twinfriends