Hieronder vindt u de gewijzigde code met voorbereide verklaring.
De eerste stap is om verbinding te maken met de database. Om dat te doen, moeten we de toegangsgegevens definiëren.
// Define Database Credentials
$servername = "localhost"; //Server Name
$username = "KyleHulse"; //Username to the DB
$password = "(my password)"; //Password to the DB
$dbname = "csdb1082"; //Name of the Database
// Create Database Connection
$conn = new mysqli($servername, $username, $password, $dbname);
Controleer nu de verbinding.
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
Hierna voer je je query uit. Houd er rekening mee dat, aangezien dit uw persoonlijke project is, ik SHA1
. gebruik als het hashen van uw wachtwoord. Voor een groter project raad ik aan om verder te onderzoeken hoe je je wachtwoord kunt beveiligen.
Om de query uit te voeren, moet u deze eerst voorbereiden. Zo doe je dat.
$stmt = $conn->prepare("INSERT INTO feedback (user, password, email) VALUES (?, ?, ?)");
Hierin sla je het statement op in $stmt
variabel. De zoekopdracht heeft INSERT INTO
gevolgd door de naam van de tafel. In jouw geval is dat feedback
.
Hierna vult u de velden van de tabel in die moeten worden opgeslagen tussen de eerste haakjes. In uw geval is dit (user, password, email)
gevolgd door VALUES
.
Hierna voegt u tijdelijke aanduidingen toe voor de werkelijke waarden met behulp van (?, ?, ?)
. Houd er rekening mee dat het totale aantal van ?
moet overeenkomen met het totale aantal velden in de vorige haak.
Nu moet je de variabelen binden aan deze ?
. Dit wordt gedaan door,
$stmt->bind_param("sss", $user, $password, $email);
Houd er rekening mee dat "sss"
zijn de formaten van doorgegeven waarden. Hieronder staan de formaten.
i - integer
d - double
s - string
b - BLOB
Je moet dus 3 waarden doorgeven, daarom heb je 3 s
, gevolgd door de variabelen waar u de waarden uit het HTML-formulier wilt opslaan door,
$user = $_POST["user"];
$password = sha1($_POST["password"]); //simplest way to use SHA1 hash.
$email = $_POST["email"];
Nu hoeft u alleen nog maar het voorbereide statement uit te voeren.
$stmt->execute();
Dat is het!
Hieronder staat de volledige code.
// Define Database Credentials
$servername = "localhost"; //Server Name
$username = "KyleHulse"; //Username to the DB
$password = "(my password)"; //Password to the DB
$dbname = "csdb1082"; //Name of the Database
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$stmt = $conn->prepare("INSERT INTO feedback (user, password, email) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $user, $password, $email);
$user = $_POST["user"];
$password = sha1($_POST["password"]); //simplest way to use SHA1 hash.
$email = $_POST["email"];
$stmt->execute();
Ik hoop dat dit helpt.