Hallo iedereen!
Ik schrijf dit bericht naar aanleiding van mijn eindwerk. Ik moet namelijk een website programmeren met een webshop, en daarbij heb ik een registratieformulier.
Dit doe ik met behulp van de usbwebserver (phpmyadmin, php en html). Nadat ik alles geprogrammeerd had en uitgetest had viel mij iets op. De connectie met mijn database is geslaagd, maar de waarden worden niet in de database opgeslagen (er komt een nieuwe id in, maar de overige vakjes blijven leeg).
Ook in de url komen de gegevens tevoorschijn terwijl ik gebruik maak van een "post" dit zou dus niet mogen.
Kunnen jullie mij eventueel helpen? Ik heb nog maar 3 weken tijd voor alles inorde te brengen en ben letterlijk mijn hoofd al 5 dagen aan het breken op de eventuele fout.
Dit is mijn code:
!DOCTYPE html>
<html>
<style>
.error {color: #FF0000;}
</style>
<body>
<?php
session_start();
$db = mysqli_connect("localhost", "root", "EXPNcK2FKC68yBYN", "authenticatie");
$gebruikersnaam = $email = $paswoord = $paswoord2 = "";
$gebruikersnaamErr = $emailErr = $paswoordErr = $paswoord2Err = "";
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if (empty($_POST["gebruikersnaam"]))
{
$gebruikersnaamErr = "Gebruikersnaam is nodig";
}
else
{
$gebruikersnaam = test_input($_POST["gebruikersnaam"]);
if (!preg_match("/^[a-zA-Z ]*$/",$gebruikersnaam))
{
$gebruikersnaamErr = "Er zijn enkel letters en spaties toegelaten";
}
}
if (empty($_POST["email"]))
{
$emailErr = "Email is verplicht";
}
else
{
$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
{
$emailErr = "Uw email is ongeldig";
}
}
if (empty($_POST["paswoord"]))
{
$paswoordErr = "Paswoord is verplicht";
}
else
{
$paswoord = test_input($_POST["paswoord"]);
if (!preg_match("/^[0-9-a-zA-Z ]*$/",$paswoord))
{
$paswoordErr = "Er zijn enkel letters en cijfers toegelaten";
}
}
if (empty($_POST["paswoord2"]))
{
$paswoord2Err = "Paswoord is verplicht";
}
else
{
$paswoord2 = test_input($_POST["paswoord2"]);
if (!preg_match("/^[0-9-a-zA-Z ]*$/",$paswoord2))
{
$paswoord2Err = "Er zijn enkel letters en cijfers toegelaten";
}
}
if ($paswoord != $paswoord2)
{
echo "De twee paswoorden zijn niet gelijk";
}
else
{
$paswoord = md5($paswoord); //hash paswoord
}
}
function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
$sql = "INSERT INTO users(gebruikersnaam, email, paswoord) VALUES ('$gebruikersnaam', '$email', '$paswoord')";
if (mysqli_query($db, $sql))
{
echo "U bent succesvol geregistreerd";
}
else
{
echo "Error: " . $sql . "<br>" . mysqli_error($connect);
}
Alvast bedankt!
Groetjes Sarah
2.205 views