<?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
Aangepast maar doet het nog niet!
Wat doet die niet? En wat gebeurt er wel?
De voornaam en de achternaam worden wel in de database gezet maar de rest niet
En wat zegt de echo op lijn 46?
Ik betwijfel of voor- en achternaam in de database komen omdat deze vergelijking niet lukt daar de velden niet voorkomen.

!empty( $_POST['telefoon'] ) &&
!empty( $_POST['geboortedatum'] ) &&
!empty( $_POST['usertype'] )


Deze komt wel voor.
<input type="text" name ="telefoonnummer" required>


Ik zou ook één van de radio inputs checked meegeven. Dan komt er minimaal iets in de database voor het geval er niets wordt gekozen.
Dit komt er te voor schijn:

INSERT INTO user (voornaam, achternaam) VALUES('Ed', 'Jeurissen' );

Form submitted succesfully

@Adoptivee !empty telefoon begint bij regel 5 en daar wordt wel degelijk voornaam en achtrernaam meegenomen (en overige items)

Dus wat gaat er fout?
Dan gebruik je de code die ik eerder heb gepost en niet je eigen code van 15:33.
Vermoedelijk zijn de velden in de database DEFAULT NULL zodat niet ingevulde velden de waarden NULL krijgen en niet worden geweigerd.

 DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `voornaam` varchar(50) NOT NULL,
  `achternaam` varchar(50) NOT NULL,
  `email` varchar(50) DEFAULT NULL,
  `telefoon` varchar(50) DEFAULT NULL,
  `adres` varchar(50) DEFAULT NULL,
  `postcode` varchar(50) DEFAULT NULL,
  `woonplaats` varchar(50) DEFAULT NULL,
  `username` varchar(50) DEFAULT NULL,
  `password1` varchar(100) DEFAULT NULL,
  `password2` varchar(100) DEFAULT NULL,
  `geslacht` varchar(50) DEFAULT NULL,
  `geboortedatum` varchar(50) DEFAULT NULL,
  `usertype` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Ik heb in het HTML stuk registeren.php vervangen door registreren2.php


Ik krijg dan dit:

all fields required

(registreren was toen nog met 2 waardes, dat werkte wel)


[size=xsmall]Toevoeging op 28/11/2021 18:47:44:[/size]

En waar moet ik de drop table zetten?
Uitvoeren in je SQL-tool zoals phpMyAdmin.
Bestaande tabel wordt verwijderd!!!!!!!

Zelf raad ik af om een hele sloot aan empty's te gebruiken. Zo weet je nooit welk formulierveld fout valideert.

Controleer dit per stuk in een if.
de tabel is verwijdert en een nieuwe is aangemaakt.
Als ik mijn script weer gebruik dan krijg ik weer een foutmelding:

all fields required

Code tot nog toe:

<?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['geslacht'] ) &&
         !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=registreren2.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>


Wat moet ik aanpassen??


Reageren