<?php

session_start();
?>
`
<html>
<head>
<link rel="stylesheet" type ="text/css" href="style4.css">
<link rel="icon" href="../../../../favicon.ico" type="image/x-icon" >
<title>Registratie Gebruiker</title>
</head>

<body>

    <div>
        <form action=registration.php method="POST">
            <div class = "loginbox">
                <img src="avatar.png" class="avatar">
                <h1>Registratie</h1>
                <p>Vul het formulier in</p>
                <div>
                    <label for = "voornaam"><b>Voornaam</b></label>
                    <input type="text" name ="voornaam" required>
                </div>

                <div>
                <label for = "achternaam"><b>Achternaam</b></label>
                <input type="text" name ="achternaam" required>
                </div>

                <div>
                <label for = "email"><b>Email-adres</b></label>
                <input type type="email" name ="email" required>
                <div>
                
                <div>
                <label for = "telefoonnummer"><b>Telefoonnummer</b></label>
                <input type="text" name ="telefoonnummer" required>
                </div>

                <div>
                <label for = "adres"><b>Adres</b></label>
                <input type="text" name ="adres" required>
                </div>

                <div>
                <label for = "postcode"><b>Postcode</b></label>
                <input type="text" name ="postcode" required>
                </div>


                <div>
                <label for = "woonplaats"><b>Woonplaats</b></label>
                <input type="text" name ="woonplaats" required>
                </div>

                <div>
                <label for = "username"><b>Gebruikersnaam</b></label>
                <input type="text" name ="username" required>
                </div>

                <div>
                <label for = "password"><b>Wachtwoord</b></label>
                <input type="password" name ="password" required>
                </div>

                <div>
                <label for = "password2"><b>Wachtwoord 2</b></label>
                <input type="password" name ="password2" required>
                </div>

                <div class="form-group">
                <label for="geslacht">Geslacht</label>
                <div>
                  <label for="man" class="radio-inline"
                    ><input
                      type="radio"
                      name="geslacht"
                      value="m"
                      id="man"
                    />Man</label
                  >
                  <label for="vrouw" class="radio-inline"
                    ><input
                      type="radio"
                      name="geslacht"
                      value="f"
                      id="vrouw"
                    />Vrouw</label
                  >
                  <label for="anders" class="radio-inline"
                    ><input
                      type="radio"
                      name="geslacht"
                      value="o"
                      id="anders"
                    />Anders</label
                  >
                </div>

                <input type="submit" name="submit" value = "Registreren">

                <button><a href = "login2.php">Al een account?</a><br>        </button>

</body>
</head>
</html>
`
<?php

$host = "localhost";
$user = "root";
$password ="usbw";
$db = "login";

$data = mysqli_connect($host, $user, $password, $db);

if(!isset($_POST['submit']))
{
    if
        (
            !empty($_POST['voornaam']) && !empty($_POST['achternaam']) && !empty($_POST['email']) && !empty($_POST['telefoonnummer']) && !empty($_POST['adres']) && !empty($_POST['postcode']) && !empty($_POST['wooplaats']) && !empty($_POST['username']) && !empty($_POST['password1']) && !empty($_POST['password2']) && !empty($_POST['geslacht'])
        )
    {
        $voornaam = $_POST ['voornaam'];
        $achternaam = $_POST ['achternaam'];
        $email = $_POST ['email'];
        $telefoonnummer = $_POST ['telefoonnummer'];
        $adres = $_POST ['adres'];
        $postcode = $_POST ['postcode'];
        $woonplaats = $_POST ['woonplaats'];
        $username = $_POST ['username'];
        $password1 = $_POST ['password1'];
        $password2 = $_POST ['password2'];
        $geslacht = $_POST ['geslacht'];

        $query = "INSERT INTO user (voornaam, achternaam, email, postcode, woonplaats, username, password1, password2, geslacht) values('$voornaam', '$achternaam', '$email', '$telefoonnummer', '$adres', '$postcode', '$woonplaats', '$username', '$password1', '$password2', '$geslacht')";

        $run = mysqli_query ($data, $query) or die(mysqli_error());
        
            if($run)
            {
                echo "Form submitted succesfully";
            }
            else
            {
                echo "Form no submitted";
            }
    }
    else
    {
    echo "all fields required";
    }

}
?>


Wat gaat hier mis?

Hij zet nog steeds niks in de database?

Groetjes
Ed
Op regel 108 staat een dingetje wat daar niet thuishoort.
Ja, maar dat is geen showstopper, denk ik.

Pas mysqli_error() eens aan naar mysqli_error($data).
Dan zal je wel een error zien.

En verder is je script zeer gevoelig voor SQL-injection!!!!

En ook ontgaat mij het nut waarom je twee keer een password (open en bloot!) wilt opslaan?
Persoonlijk ben ik niet van die isset's() voor alle velden.
Controleer gewoon of ze leeg zijn op deze manier:
<?php
if(trim($input)=="") {
echo "Invoer is leeg";
}
?>

En verzamel dit dan in een array, en doorloop alles wat een error toont, en als er errors zijn (count() ) dan laat je alle fouten zien, en anders is alles goed en kan je de rest afhandelen.


<?php

session_start();
?>
`
<html>
<head>
<link rel="stylesheet" type ="text/css" href="style4.css">
<link rel="icon" href="../../../../favicon.ico" type="image/x-icon" >
<title>Registratie Gebruiker</title>
</head>

<body>

    <div>
        <form action=registration.php method="POST">
            <div class = "loginbox">
                <img src="avatar.png" class="avatar">
                <h1>Registratie</h1>
                <p>Vul het formulier in</p>
                <div>
                    <label for = "voornaam"><b>Voornaam</b></label>
                    <input type="text" name ="voornaam" required>
                </div>

                <div>
                <label for = "achternaam"><b>Achternaam</b></label>
                <input type="text" name ="achternaam" required>
                </div>

                <div>
                <label for = "email"><b>Email-adres</b></label>
                <input type type="email" name ="email" required>
                <div>
                
                <div>
                <label for = "telefoonnummer"><b>Telefoonnummer</b></label>
                <input type="text" name ="telefoonnummer" required>
                </div>

                <div>
                <label for = "adres"><b>Adres</b></label>
                <input type="text" name ="adres" required>
                </div>

                <div>
                <label for = "postcode"><b>Postcode</b></label>
                <input type="text" name ="postcode" required>
                </div>


                <div>
                <label for = "woonplaats"><b>Woonplaats</b></label>
                <input type="text" name ="woonplaats" required>
                </div>

                <div>
                <label for = "username"><b>Gebruikersnaam</b></label>
                <input type="text" name ="username" required>
                </div>

                <div>
                <label for = "password"><b>Wachtwoord</b></label>
                <input type="password" name ="password" required>
                </div>

                <div>
                <label for = "password2"><b>Wachtwoord 2</b></label>
                <input type="password" name ="password2" required>
                </div>

                <div class="form-group">
                <label for="geslacht">Geslacht</label>
                <div>
                  <label for="man" class="radio-inline"
                    ><input
                      type="radio"
                      name="geslacht"
                      value="m"
                      id="man"
                    />Man</label
                  >
                  <label for="vrouw" class="radio-inline"
                    ><input
                      type="radio"
                      name="geslacht"
                      value="f"
                      id="vrouw"
                    />Vrouw</label
                  >
                  <label for="anders" class="radio-inline"
                    ><input
                      type="radio"
                      name="geslacht"
                      value="o"
                      id="anders"
                    />Anders</label
                  >
                </div>

                <input type="submit" name="submit" value = "Registreren">

                <button><a href = "login2.php">Al een account?</a><br>		</button>

</body>
</head>
</html>
`
<?php

$host = "localhost";
$user = "root";
$password ="usbw";
$db = "login";

$data = mysqli_connect($host, $user, $password, $db);

if(isset($_POST['submit']))
{
    if 
        (
            !empty($_POST['voornaam']) && !empty($_POST['achternaam']) && !empty($_POST['email']) && !empty($_POST['telefoonnummer']) && !empty($_POST['adres']) && !empty($_POST['postcode']) && !empty($_POST['wooplaats']) && !empty($_POST['username']) && !empty($_POST['password1']) && !empty($_POST['password2']) && !empty($_POST['geslacht'])
        )
    {
        $voornaam = $_POST ['voornaam'];
        $achternaam = $_POST ['achternaam'];
        $email = $_POST ['email'];
        $telefoonnummer = $_POST ['telefoonnummer'];
        $adres = $_POST ['adres'];
        $postcode = $_POST ['postcode'];
        $woonplaats = $_POST ['woonplaats'];
        $username = $_POST ['username'];
        $password1 = $_POST ['password1'];
        $password2 = $_POST ['password2'];
        $geslacht = $_POST ['geslacht'];

        $query = "INSERT INTO user (voornaam, achternaam, email, postcode, woonplaats, username, password1, password2, geslacht) values('$voornaam', '$achternaam', '$email', '$telefoonnummer', '$adres', '$postcode', '$woonplaats', '$username', '$password1', '$password2', '$geslacht')";

        $run = mysqli_query ($data, $query) or mysqli_error($data);
        
            if($run)
            {
                echo "Form submitted succesfully";
            }
            else
            {
                echo "Form no submitted";
            }
    }
    else
    {
    echo "all fields required";
    }

}
?>


Aangepast maar nog steeds geen toevogingen. Hoe kan dit toch??
Or wat?

or die() zal je bedoelen.
Al zou ik de fout eerder op regel 147 toevoegen, en geen kerkhoftechniek met 'or die(mysqli_error($data))' gebruiken.
Ik heb de boel wat opgekalefaterd en versimpeld en losgelaten op een adhoc db.
(Zelf even de velden aanvullen)
Het werkt.
 <?php
if(isset($_POST['submit']))
{
	if ( !empty( $_POST['voornaam'] ) && !empty( $_POST['achternaam'] ) )
	{
		$host = "localhost";
		$user = "root";
		$password ="usbw";
		$db = "login";
		$data = mysqli_connect( $host, $user, $password, $db );

		$voornaam = $_POST ['voornaam'];
		$achternaam = $_POST ['achternaam'];

		$query = "INSERT INTO user (voornaam, achternaam) VALUES('" . $voornaam . "', '". $achternaam . "' );";
		echo '<p>' . $query . '</p>';
		$run = mysqli_query ($data, $query); // or mysqli_error($data);

		if( $run )
		{
			echo "Form submitted succesfully";
		} else {
			echo "Form no submitted";
		}
	} else {
		echo "all fields required";
	}
}
?>
<html>
<head>
<link rel="stylesheet" type ="text/css" href="style4.css">
<link rel="icon" href="../../../../favicon.ico" type="image/x-icon" >
<title>Registratie Gebruiker</title>
</head>

<body>
	<div>
		<form action=registration.php method="POST">
			<div class = "loginbox">
				<img src="avatar.png" class="avatar">
				<h1>Registratie</h1>
				<p>Vul het formulier in</p>

				<div>
				<label for = "voornaam"><b>Voornaam</b></label>
				<input type="text" name ="voornaam" required>
				</div>

				<div>
				<label for = "achternaam"><b>Achternaam</b></label>
				<input type="text" name ="achternaam" required>
				</div>

				<input type="submit" name="submit" value = "Registreren">
			</div>
		</form>
		<button><a href = "login2.php">Al een account?</a></button>
	</div>
</body>

</html>
Ik raad wel aan om:

- Goede foutafhandeling in te bouwen.
- SQL-injection beveiliging in te bouwen
- Formulier validatie.
hallo,

WE zijn er bijna, maar nog niet helemaal.

<?php
if(isset($_POST['submit']))
{
    if (
         !empty( $_POST['voornaam'] ) &&
         !empty( $_POST['achternaam'] ) &&
         !empty( $_POST['email'] ) &&
         !empty( $_POST['telefoon'] ) &&
         !empty( $_POST['adres'] ) &&
         !empty( $_POST['postcode'] ) &&
         !empty( $_POST['woonplaats'] ) &&
         !empty( $_POST['username'] ) &&
         !empty( $_POST['password1'] ) &&
         !empty( $_POST['password2'] ) &&
         !empty( $_POST['gesacht'] ) &&
         !empty( $_POST['geboortedatum'] ) &&
         !empty( $_POST['usertype'] )
         )

    {
        $host = "localhost";
        $user = "root";
        $password ="usbw";
        $db = "login";
        $data = mysqli_connect( $host, $user, $password, $db );

        $voornaam = $_POST ['voornaam'];
        $achternaam = $_POST ['achternaam'];
        $email = $_POST ['email'];
        $telefoon = $_POST ['telefoon'];
        $adres = $_POST ['adres'];
        $postcode = $_POST ['postcode'];
        $woonplaats = $_POST ['woonplaats'];
        $gebruikersnaam = $_POST ['username'];
        $password1 = $_POST ['password1'];
        $password2 = $_POST ['password2'];
        $geslacht = $_POST ['geslacht'];
        $geboortedatum = $_POST ['geboortedatum'];
        $usertype = $_POST ['usertype'];




        $query = "INSERT INTO user (voornaam, achternaam, email, telefoon, adres, postcode, woonplaats, username, password1, password2, geslacht, geboortedatum, usertype)  VALUES('" . $voornaam . "', '". $achternaam . "', '". $email . "', '". $telefoon . "', '". $adres . "', '". $postcode . "', '". $woonplaats . "', '". $username . "', '". $password1 . "', '". $password2 . "', '". $geslacht . "', '". $geboortedatum . "', '". $usertype . "' )";

        echo '<p>' . $query . '</p>';

        $run = mysqli_query ($data, $query); // or mysqli_error($data);

        if( $run )
        {
            echo "Form submitted succesfully";
        }
        else
        {
            echo "Form not submitted";
        }
        }
 else
       {
           echo "all fields required";
        }
}
?>

<html>
<head>
<link rel="stylesheet" type ="text/css" href="style4.css">
<link rel="icon" href="../../../../favicon.ico" type="image/x-icon" >
<title>Registratie Gebruiker</title>
</head>

<body>
    <div>
        <form action=registreren.php method="POST">
            <div class = "loginbox">
                <img src="avatar.png" class="avatar">
                <h1>Registratie</h1>
                <p>Vul het formulier in</p>

                <div>
                    <label for = "voornaam"><b>Voornaam</b></label>
                    <input type="text" name ="voornaam" required>
                </div>

                <div>
                    <label for = "achternaam"><b>Achternaam</b></label>
                    <input type="text" name ="achternaam" required>
                </div>

                <div>
                  <label for = "email"><b>Email-adres</b></label>
                  <input type type="email" name ="email" required>
                <div>

                <div>
                    <label for = "telefoonnummer"><b>Telefoonnummer</b></label>
                    <input type="text" name ="telefoonnummer" required>
                </div>

                <div>
                    <label for = "adres"><b>Adres</b></label>
                    <input type="text" name ="adres" required>
                </div>

                <div>
                    <label for = "postcode"><b>Postcode</b></label>
                    <input type="text" name ="postcode" required>
                </div>


                <div>
                    <label for = "woonplaats"><b>Woonplaats</b></label>
                    <input type="text" name ="woonplaats" required>
                </div>

                <div>
                    <label for = "username"><b>Gebruikersnaam</b></label>
                    <input type="text" name ="username" required>
                </div>

                <div>
                    <label for = "password"><b>Wachtwoord</b></label>
                    <input type="password" name ="password1" required>
                </div>

                <div>
                    <label for = "password2"><b>Wachtwoord 2</b></label>
                    <input type="password" name ="password2" required>
                </div>

                <div class="form-group">
                    <label for="geslacht">Geslacht</label>
                    <div>
                    <label for="man" class="radio-inline"
                        ><input
                        type="radio"
                        name="geslacht"
                        value="m"
                        id="man"
                        />Man</label
                    >
                    <label for="vrouw" class="radio-inline"
                        ><input
                        type="radio"
                        name="geslacht"
                        value="f"
                        id="vrouw"
                        />Vrouw</label
                    >
                    <label for="anders" class="radio-inline"
                        ><input
                        type="radio"
                        name="geslacht"
                        value="o"
                        id="anders"
                        />Anders</label
                    >
                </div>



                <input type="submit" name="submit" value = "Registreren">
            </div>
        </form>
        <button><a href = "login2.php">Al een account?</a></button>
    </div>
</body>

</html>


Hij slaat de eerste 2 wel op maar de rest niet! Wat doe ik toch fout?

Reageren