Problemen met het submiten van mijn eerste formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jelle Breusegem

Jelle Breusegem

26/09/2017 11:40:02
Quote Anchor link
Ik heb een pagina aangemaakt voor het creëren van een account. Maar als ik op de knop maak account druk krijg ik volgende foutmelding:

Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 10

Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 11

Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 12

Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 13

Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 14

Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 15

Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 16

Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 17

Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 18

Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 19

Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 22

Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 23

Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 24

Notice: Undefined variable: _post in C:\xampp\htdocs\HR\scripts\maak_account.php on line 25

Dit is mijn HTML code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<!DOCTYPE html>
<html>
    <head>
        <?php include 'inc/head.php';?>
        <link href="style/account.css" rel="stylesheet"/>
    </head>  

    <body id="body-achtergrond">
        <header class="container-fluid">
            <h1>KMO-ADM</h1>
        </header>

        <nav class="container-fluid">
            <?php include 'inc/navbar.php';?>
        </nav>
        
        <div class="container">
            <div class="row">  
                <form action="scripts/maak_account.php" method="post">
                    <div class="col-md-4 col-md-offset-1">
                        <h2 id="titel">Gegevens bedrijf</h2>
                        <fieldset>
                            <div class="form-group">
                                <label for="rechtsvorm">Rechtsvorm:</label>
                                <select class="form-control" placeholer="Rechtsvorm" name="rechtsvorm">
                                    <option>Eenmanszaak</option>
                                    <option>VOF</option>
                                    <option>BVBA</option>
                                    <option>NV</option>
                                </select>          
                            </div>
                            <div class="form-group">
                                <label for="naam">* Naam:</label>
                                <input class="form-control" placeholder="Naam" name="naam" type="text">
                            </div>
                            <div class="form-group">
                                <label for="straat">* Straat:</label>
                                <input class="form-control" placeholder="Straat" name="straat" type="text">
                            </div>
                            <div class="form-group">
                                <label for="huisnr">* Huis nummer:</label>
                                <input class="form-control" placeholder="Huis nummer" name="huisnr" type="text">
                            </div>
                            <div class="form-group">
                                <label for="busnr">Bus nummer:</label>
                                <input class="form-control" placeholder="Bus nummer" name="busnr" type="text">
                            </div>
                            <div class="form-group">
                                <label for="postcode">* Postcode:</label>
                                <input class="form-control" placeholder="Postcode" name="postcode" type="text">
                            </div>
                            <div class="form-group">
                                <label for="plaats">* Plaats:</label>
                                <input class="form-control" placeholder="Plaats" name="plaats" type="text">
                            </div>
                            <div class="form-group">
                                <label for="btwnr">* BTW nummer:</label>
                                <input class="form-control" placeholder="BTW nummer" name="btwnr" type="text">
                            </div>
                            <div class="form-group">
                                <label for="tel">Telefoon nummer:</label>
                                <input class="form-control" placeholder="Telefoon nummer" name="tel" type="text">
                            </div>
                            <div class="form-group">
                                <label for="email">* E-mail:</label>
                                <input class="form-control" placeholder="E-mail" name="email" type="text">
                            </div>
                        </fieldset>
                    </div>

                    <div class="col-md-4 col-md-offset-2">
                        <h2 id="titel">Gegevens gebruiker</h2>
                        <fieldset>
                                <div class="form-group">
                                    <label for="vnaam">* Voornaam:</label>
                                    <input class="form-control" placeholder="Voornaam" name="vnaam" type="text">
                                </div>                        
                                <div class="form-group">
                                    <label for="naam">* Achternaam:</label>
                                    <input class="form-control" placeholder="Achternaam" name="naam" type="text">
                                </div>
                                <div class="form-group">
                                    <label for="functie">Functie:</label>
                                    <input class="form-control" placeholder="Functie" name="functie" type="text">
                                </div>
                                <div class="form-group">
                                    <label for="email">* E-mail:</label>
                                    <input class="form-control" placeholder="E-mail" name="email" type="text">
                                </div>
                                <div class="form-group">
                                    <label for="wachtwoord">* Wachtwoord:</label>
                                    <input class="form-control" placeholder="Wachtwoord" name="wachtwoord" type="password">
                                </div>
                                <div class="form-group">
                                    <label for="wachtwoord">* Bevestig wachtwoord:</label>
                                    <input class="form-control" placeholder="Wachtwoord" name="wachtwoord" type="password">
                                </div>
                            </fieldset>
                        </div>
                    </div>

                    <div id="maak-account">
                        <input class="btn btn-success btn-lg" type="submit" value="Maak account">
                    </div>
                </form>  
            </div>
        </div>

        <footer class="container-fluid">
           <?php include 'inc/footer.php';?>
        </footer>
    
    </body>    
</html>


Dit is mijn php code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
// Variabele gegevens bedrijf
$rechtsvorm = $naam = $straat = $huisnr = $busnr = $postcode = $plaats = $btwnr = $telnr = $email = "";

// Variabele gegevens gebruiker
$voornaam = $achternaam = $functie = $wachtwoord = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Gegevens bedrijf
    $rechtsvorm = test_input($_post["rechtsvorm"]);
    $naam = test_input($_post["naam"]);
    $straat = test_input($_post["straat"]);
    $huisnr = test_input($_post["huisnr"]);
    $busnr = test_input($_post["busnr"]);
    $postcode = test_input($_post["postcode"]);
    $plaats = test_input($_post["plaats"]);
    $btwnr = test_input($_post["btwnr"]);
    $telnr = test_input($_post["telnr"]);
    $email = test_input($_post["email"]);

    // Gegevens gebruiker
    $voornaam = test_input($_post["vnaam"]);
    $achternaam = test_input($_post["naam"]);
    $functie = test_input($_post["functie"]);
    $wachtwoord = test_input($_post["wachtwoord"]);
}

function
test_input($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}

?>

Ik heb al van alles geprobeerd maar krijg het niet aan de praat. $_POST blijft leeg en dus worden de variabele niet herkent. Maar de vraag is waarom? Ik zie de fout niet direct. Het zou fijn zijn als iemand mij even op weg kan helpen. Alvast bedankt!
- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 26/09/2017 17:21:45 door - Ariën -
 
PHP hulp

PHP hulp

30/11/2024 00:45:52
 
Ward van der Put
Moderator

Ward van der Put

26/09/2017 11:41:08
Quote Anchor link
Let op het hoofdlettergebruik: het is niet $_post maar $_POST.
 
Jelle Breusegem

Jelle Breusegem

26/09/2017 11:46:50
Quote Anchor link
Dat was idd het probleem. Ben nog maar net enkele weken bezig in PHP.
Dikke merci!
 
Thomas van den Heuvel

Thomas van den Heuvel

26/09/2017 17:05:15
Quote Anchor link
Ik weet niet waar je dit vandaan hebt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
function test_input($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}

?>

Maar deze manier van "validatie" is verre van wenselijk. De voornaamste fout die je hier begaat is dat je je input inhoudelijk aanpast.

De naam van de functie ("test_input") is tevens misleidend. Het controleert niet enkel maar verandert ook.

stripslashes() is (allang) geen oplossing (meer) voor SQL-injectie en het was om te beginnen al geen oplossing voor dit probleem.

htmlspecialchars() pas je meestal toe net voordat je data weergeeft in een HTML-document. Maar niet voordat het de database in gaat.

Tevens is het waarschijnlijk je doel om de data die je controleert voor meerdere contexten (HTML, SQL) tegelijkertijd onschadelijk te maken. Het staat meestal niet op voorhand vast binnen welke context de data gebruikt gaat worden (door jou of anderen), maar alles op voorhand escapen is niet de juiste strategie. In het algemeen is escape-on-input (wat je in feite doet) zelden tot nooit een goed idee tenzij je hier een (gedocumenteerde) motivatie voor hebt.
Gewijzigd op 26/09/2017 17:09:58 door Thomas van den Heuvel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.