<input required> werkt niet (helemaal goed>

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end developer

Functieomschrijving Voor een gewaardeerde werkgever in regio Tilburg zijn wij op zoek naar een gemotiveerde SQL Developer/ functioneel consultant. Jij wordt verantwoordelijk voor zowel het ontwerpen en implementeren van SQL-databases als voor het in kaart brengen van de bedrijfsprocessen van een organisatie en het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt als volgt uit te zien: Ontwerp en implementatie van SQL-databases: Je ontwerpt, ontwikkelt en implementeert SQL-databases om de data behoeften van de organisatie te ondersteunen; Analyse van bedrijfsprocessen: Je analyseert de bedrijfsprocessen van de organisatie om de behoeften van de klant te begrijpen en te vertalen naar

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET ontwikkelaar start jij in ons development team met twee andere .NET developers. Als team werken jullie in scrum en is er iedere ochtend om 11.00 een standup. Jij krijgt als junior .NET ontwikkelaar een inwerk traject dat echt specifiek wordt ingericht op basis van wat jij nodig hebt. Een van de grootste pluspunten bij ons is dat wij binnen ons bedrijf veel (technische) vrijheid geven en juist eigen initiatieven erg stimuleren. Jouw werkzaamheden gaan er bij ons als volgt uit zien: – Het ontwikkelen van nieuwe software samen met interne en eventueel externe ontwikkelaars; – Het

Bekijk vacature »

Junior/medior PHP developer Onderwijssector

Functie Momenteel zijn ze op zoek naar een developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP), Vue.js

Bekijk vacature »

Software Developer

Functie omschrijving Psst hé jij daar! Op zoek naar een nieuwe uitdaging als developer? Wacht niet langer en reageer direct. In deze functie ga je bij een familiebedrijf werken als developer. Je gaat maatwerk software ontwikkelen met de Microsoft stack. Je gebruikt technieken als C#, ASP.NET en MVC. Je werkt in een leuk team van andere developers. Je krijgt veel vrijheid in je werk en kan flexibel werken. Dagje thuiswerken? Geen probleem! Daarnaast is er veel ruimte om écht mee te denken met het bedrijf en met de klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Vanaf

Bekijk vacature »

Junior Software developer

Functie Als junior .NET ontwikkelaar start jij in een compact team met drie ervaren .NET ontwikkelaars. Wij werken op projectbasis en begeleiden zelf het hele traject van A tot Z. Wij bieden jou dan ook een brede functie aan met veel technische uitdaging! Ons traject ziet er als volgt uit: 1) Wij analyseren de behoefte van onze klant 2) Wij werken de behoefte uit en vertalen dit naar technische werkzaamheden en maken een uren/kosten schatting; 3) Wij gaan aan de slag met het ontwikkelen van het product met directe feedback van de klant, zodat datgene gerealiseerd wordt, wat gewenst is;

Bekijk vacature »

Java Ontwikkelaar

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Senior .NET Developer I goed salaris en deels thui

Bedrijfsomschrijving Mijn opdrachtgever is al ruim 20 jaar een gevestigde naam in de wereld van software ontwikkeling, met drie kantoren in de Randstad, waaronder Alphen aan den Rijn. Zij richten zich op het bouwen van IT-oplossingen die ervoor zorgen dat de productiviteit van klanten te allen tijden optimaal is. Hiervoor neemt jouw nieuwe werkgever het volledige ontwikkelproces tot haar rekening; van het eerste gesprek om de klantwensen in kaart te brengen, tot aan het uiteindelijke onderhoud van de opgeleverde oplossing. In totaal werken er inmiddels bijna 200 gemotiveerde IT-ers binnen deze organisatie. De gemiddelde leeftijd ligt rond de 35. Het

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Modern, innovatief en Informeel bedrijf waar veel mogelijk is Werken met diverse robot merken Meehelpen met inbedrijfstellingen bij de klant De organisatie Hier ga je aan de slag Dit groeiende bedrijf van totaaloplossingen in de automatisering van productieprocessen, is hoofdzakelijk actief in de Benelux. Vanuit het kantoor in regio Amersfoort worden veel oplossingen geboden in de vorm van robotica. Geen project is hetzelfde wat garant staat voor bijzonder veel afwisseling. De bedrijfsgrootte is ongeveer 80 man. Van gerobotiseerde machinebeladingen tot aan assemblage automatiseringen wordt vanuit krachtige engineering maatwerk equipment geleverd.

Bekijk vacature »

Java Developer

Dit ga je doen Het ontwikkelen van nieuwe software; Het ombouwen van de bestaande software; Zowel back- als front-end software ontwikkelen; Het testen; Het implementeren van de volledig geteste software; Het verzorgen van nazorg en het oplossen van bugs; Het opstellen en bijhouden van procesdocumentatie; Je draagt bij aan het agile/scrum processen van het team. Hier ga je werken Ongetwijfeld heb je een of meerdere producten van deze organisatie in huis. Het proces erachter, daar ben je ongetwijfeld minder bekend mee. Deze opdracht geeft je de kans meer over dit proces te weten te komen en een mooie bijdrage te

Bekijk vacature »

.NET developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Senior Javascript developer

Functie Het platform is gebouwd in een moderne JavaScript stack, die gebruikt maakt van:  React.js  Redux  TypeScript  Node.js  Google Cloud functions (node.js)  Semantic UI Alle code wordt getest en beoordeeld door collega developers. De continuous integration pipeline maakt het mogelijk om elke dag waarde te leveren aan hun klanten. Het ontwikkelproces is pragmatisch en gebaseerd op Scrum. Wat je zult doen: Ten eerste kun je nadrukkelijk jouw eigen stempel drukken op de technologie, het product en de cultuur van het bedrijf. Je bent bezig met het uitwerken van de architectuur van nieuwe functionaliteiten op

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in de regio van Bergen op Zoom ben je als PHP Developer niet alleen gefocust op het ontwikkelen van Software. Daarnaast ben je ook voortdurend bezig met het zoeken naar nieuwe mogelijkheden en innovaties die essentieel kunnen zijn voor de efficiëntie van software ontwikkeling. Je deelt veel kennis en informatie met het team en ontvangt deze dan ook graag terug. Techstack: PHP, Symfony & mySQL. Bedrijfsprofiel Deze uitdagende opdrachtgever is ruim 20 jaar actief in de regio Bergen op Zoom. Het vooruitstrevende team staat de hele dag voor je klaar om je te helpen en ondersteunen.

Bekijk vacature »

Senior pega developer

You work on software that makes colleagues and customers happy! Thanks to your IT skills, De Mandemakers Groep really makes a difference for its customers. Do coding, testing and deployments make your heart beat faster? Then apply today as Senior Pega Developer at De Mandemakers Groep! Wat ga je doen? The job title gives it away: You will be developing Pega software. This ranges from technical design, coding and testing to test automation, deployments and bug fixing. Your goal is to continuously improve our systems so that colleagues can work efficiently and customers receive optimal service. You don't have to

Bekijk vacature »

Integratie Developer / Architect

Dit ga je doen Als Integratie Developer / Architect binnen deze organisatie krijg je echt de kans om impact te maken. De organisatie is groeiende maar houdt een corporate cultuur buiten de deur. Heb je een goede business case: zorg voor goede argumentatie en ga ervoor! Geen stroperig beslissingsproces dat jouw ideeën in de weg staat! Enkele van jouw taken: Je ontwerpt en ontwikkelt nieuwe integraties met behulp van interne tools (Boomi) of externe partners; Je vertaalt functionele specificaties naar technische oplossingen; Je denkt mee over strategische ontwikkelingen op het gebied van applicatie integratie; Je voert regie op leveranciers en

Bekijk vacature »

Ervaren C#.NET developer

Functieomschrijving We zijn op zoek naar een ervaren C#.NET programmeur voor een moderne werkgever in de regio Prinsenbeek. Als programmeur zal je bezig zijn met het ontwikkelen van op maat gemaakte webapplicaties voor verschillende klanten, waarbij je ervoor zorgt dat complexe processen zo goed mogelijk worden ondersteund. Je takenpakket omvat onder andere: Werken met databases en dataopslagoplossingen, implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens, evenals het schrijven van technische documentatie en gebruikershandleidingen. Het ontwikkelen en onderhouden van C#.NET-applicaties. Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen. Het schrijven van hoogwaardige en herbruikbare codes.

Bekijk vacature »
George van Baasbank

George van Baasbank

08/08/2012 12:09:48
Quote Anchor link
Hallo allemaal,

Op mijn site http://www.vanbaasbank.nl zit ik met de volgende uitdaging:
Ik krijg <input required> niet goed werkend.
In Google Chrome werkt alles met onderstaande script goed maar in andere browsers werkt het required niet volledig en/of de melding vanuit de browser dat het veld een verplicht veld is, komt niet.
Wie heeft een suggestie?

De HTML5-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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
<?php

/**
 * @author         George van Baasbank
 * @package        vanbaasbank
 * @subpackage        reactie
 * @copyright        Ermelo Software
 * @since        16-7-2012
 * bestandsnaam        reactie.inc
 * beschrijving        Contactformulier
 * aangeroepen door    -
 * roept aan        -        
 * opmerking        Geoptimaliserd voor HTML5 en CSS3
 * taalmodule        -
 * functies             functiebieb
 * e-mail        [email protected]
 * project        Nieuwe website Van Baasbank
 *
 */

 

session_start();

error_reporting(0);

if(isset($_SERVER['REMOTE_ADDR'])) {
    $cIpadres = $_SERVER['REMOTE_ADDR'];
}
else {
    $cIpadres = "Onbekend";
}

 
if(isset($_SERVER['HTTP_USER_AGENT'])) {
    $cBrowser = $_SERVER['HTTP_USER_AGENT'];
}
else {
    $cBrowser = "Onbekend";
}


// Declaratie variabelen
$cPaginanaam = "reactie";
$nAantalFouten = 0;

// Laden functiebibliotheek
include "functies/functiebieb.inc";

// Geïndexeerde array met maanden
$aMaanden = array (
1 => 'januari',
     'februari',
     'maart',
     'april',
     'mei',
     'juni',
     'juli',
     'augustus',
     'september',
     'oktober',
     'november',
     'december'
);

if(isset($_POST['submit'])) {
    
    $cNaam          = $_POST['naam'];
    $cEmailbezoeker = $_POST['emailadres'];
    $cOnderwerp     = $_POST['onderwerp'];
    $cBericht       = $_POST['bericht'];
    
    $cNaam          = htmlentities(trim(strip_tags($cNaam)));
    $cEmailbezoeker = htmlentities(trim(strip_tags($cEmailbezoeker)));
    $cOnderwerp     = htmlentities(trim(strip_tags($cOnderwerp)));
    $cBericht       = htmlentities(trim(strip_tags($cBericht)));
    
    // Converteer emailadres naar ondercast
    $cEmailbezoeker = TekstinOndercast($cEmailbezoeker);
            
    if($cOnderwerp != "" AND $cBericht != "" AND $cEmailbezoeker != "" AND $cNaam != "" ) {  // Alle velden correct ingevuld
        
        // Constanten voor mysql_connect() insluiten:

        require_once('mysql_connect.inc.php');

        // Databaseverbinding openen:
        $verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die("Verbinding mislukt: " . mysql_error());

        // Database selecteren:
        mysql_select_db("xxxxxxxxxxxx") or die("Kon de database niet openen: " . mysql_error());
        
        // Query samenstellen
        $sql = "INSERT INTO aanvullingen (ipadres, email, naam, bericht, persoon, datum)";
        $sql .= "VALUES ('$cIpadres','$cEmailbezoeker','$cNaam','$cBericht','$cOnderwerp',NOW())";
        
        $cResultMail = mysql_query($sql);
        
        // Sluiten database
        mysql_close($verbinding);
        
        header("Location: bevestiging.php");
        exit();

    }
}


// Databases scannen voor opmaak pagina
include "opmaak.inc";
include "jarig.inc";

// Database sluiten
mysql_close($verbinding);

?>



<!doctype html>
<html lang = "nl">
<head>
    <!-- Begin metatags en titel -->
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <meta name="robots" content="index, follow" />
    <meta name="revisit-after" content="3 days" />
    <meta name="keywords" content="<?php echo $cMetaKeywords ; ?>" />
    <meta name="author" content="<?php echo $cMetaAuteur ; ?>" />
    <meta name="web_author" content="<?php echo $cMetaWebAuteur ; ?>" />
    <meta name="description" content="<?php echo $cMetaDescription ; ?>" />
    <meta name="copyright" content="Ermelo Software 2012" />
    <title><?php echo $cMetaTitel ; ?></title>
    <!-- Einde metatags en titel -->
    <!-- Begin stylesheets en scripts -->
    <!--[if lt IE 9]><script src="scripts/html5shiv.js"></script><![endif]-->
    <meta charset="utf-8" />
    <title>VanBaasbank.nl | Contactformulier</title>
    <link rel="stylesheet" href="css/styles.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="css/formulier.css" type="text/css" media="screen" />
    <link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
    <script type="text/javascript"
        src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js">
    </script>
    <script type="text/javascript" src="js/simpletabs.js"></script>
    <link rel="stylesheet" type="text/css" href="css/lightbox.css" media="screen" />
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/jquery.lightbox-0.5.js"></script>
    <!--[if IE]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
    <script type="text/javascript">
        $(function() {
        $('a[@rel*=lightbox]').lightBox(); // Select all links that contains lightbox in the attribute rel
        });
    </script>
    <!-- Einde stylesheets en scripts -->
</head>

<body>
    <div id="wrapper"><!-- #wrapper -->
        <header><!-- header -->
            <h1><a href="#"><?php echo $cWebsitenaam ; ?></a></h1>
            <h2><?php echo $cHeader1 ; ?>'</h2>
            <img src="<?php echo $cHeaderafbeelding ; ?>" width="940" height="200" alt="" /><!-- header image -->
        </header><!-- end of header -->
        
        <!-- Invoegen hoofdmenu -->
        <?php include "menu.inc" ; ?>
        <!-- Einde invoegen hoofdmenu -->
    
    <section id="main"><!-- #main content and sidebar area -->
        <section id="content"><!-- #content -->
            
                <!-- Contactformulier -->
                <article class="featured">
                    <div class="autokader">
                        <h3>Contactformulier</h3>
                        <form action="reactie.php" method="POST">
                            <label for="naam">Uw naam <sup>*</sup></label>
                            <input name="naam" placeholder="Uw volledige naam" required />
                                                        
                            <label for="email">Uw e-mailadres <sup>*</sup></label>
                            <input type="email" name="emailadres" placeholder="[email protected]" required />
                            
                            <label for="onderwerp">Onderwerp <sup>*</sup></label>
                            <input type="text" name="onderwerp" placeholder="Het onderwerp van uw reactie" required />
                            
                            <label for="bericht">Uw bericht <sup>*</sup></label>
                            <textarea rows="6" id="bericht" name="bericht" placeholder="Uw bericht" required="required" ></textarea>  
                            
                            <div class="regelhoogte50"></div>
                            
                            <label for="submit" class="centerit" title="KLik hier om uw bericht te verzenden">
                            <input type="submit" name="submit" value="Verzenden bericht" /></label>
                            
                        </form>
                    </div>
                </article>
                <!-- Einde contactformulier -->
                
            </section><!-- end of #content -->
            <aside id="sidebar"><!-- sidebar -->
                <div class="tabwidget">
                    <ul class="tabs">
                        <li><a href="#tab1">Nieuws</a></li>
                        <li><a href="#tab2">Genealogie</a></li>
                        <li><a href="#tab3">Over mij</a></li>
                    </ul>
                    <div class="tab_container">
                        <div id="tab1" class="tab_content">
                            <h3>Recente Artikelen</h3>
                            <ul>
                                <?php
                                    while($row = mysql_fetch_array($cResultTicker)) {
                                ?>

                                <li><a href="artikel.php?id=<?php echo $row['id'] ; ?>">*&nbsp;<?php echo $row['kop'] ; ?><br /></a></li>
                                <?php } ?>
                            </ul>
                        </div>
                        
                        <!-- Invoegen hyperlinken Genealogie -->
                        <?php include "genealogielinken.inc"; ?>
                        <!-- Einde invoegen genealogielinken -->
                          
                        <div id="tab3" class="tab_content">
                            <h3>Wie ben ik</h3>
                            <img src="<?php echo $cMijnFoto ; ?>" alt="" /><p><?php echo $cMijnInfo ; ?></p>
                        </div>
                    </div>
                </div>
          
            <div class="standard">
            <!-- De jarige van de dag -->
            <?php
            $cDag
= date('d');
            $cMaand = date('n');
            ?>

            <h3>Geboren <?php echo $cDag . " ". $aMaanden[$cMaand] ; ?></h3>
            <?php
                $cTest
= "";
                while($row = mysql_fetch_array($cResultJarige)) {
                    $cX = "(". substr($row['g_sortdatum'],2,4) . ") " . $row['eerste'] ." " . $row['tussenvoeg'] . " " . $row['achternaam'];
                    $cIdnummer = $row['id'];
                    $cHyperlink = "kleinekaart.php?id=".$cIdnummer;
                    if($cIdnummer != $cTest){
                        $cTest  = $cIdnummer;
            ?>

                <p class="kleineletter"><a href="<?php echo $cHyperlink ; ?>"><?php echo $cX ; ?></p></a>
            <?php
            } }
            ?>

            <!-- Einde jarige van de dag -->
            
            <!-- Advertentie met hyperlink -->
            <h3></h3>
            <a href="<?php echo $cAdvHyperlink ; ?>" target="_blank"><img src="<?php echo $cSponsor ; ?>" alt="Sponsor" /></a><br /><br />
            <!-- Einde advertentie -->
            
            <!-- Sociale media -->
            <h3>Connect With Us</h3>
            <ul>
                <li><a href="http://www.twitter.com/opzondag" target="_blank"><img src="images/twitter-banner.jpg" alt="twitter" /></a></li>
                <li><a href="#">Facebook</a></li>
            </ul>
            <!-- Einde sociale media -->
        </div>
    </aside><!-- end of sidebar -->
    
    </section><!-- end of #main content and sidebar-->
    
    <!-- Invoegen kruimelpad footer -->
    <?php include "footer.inc" ; ?>
    <!-- Einde invoegen kruimelpad -->
</div><!-- #wrapper -->
<!-- Free template created by http://freehtml5templates.com -->
</body>
</html>


De bijbehorende CSS3-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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
    /*
    Deze css is bestemd voor het valideren van het invuldocument
    */
    
    .clear { clear: both; }

    form {
        width:         410px;  
        padding:     20px 30px;
        margin:     0 auto;
        color:         #fff;
        overflow:     hidden;
        -moz-border-radius:      20px;
        -webkit-border-radius:  20px;
        border-radius:             20px;  
        -moz-box-shadow:    0px 0px 10px #690011;
        -webkit-box-shadow:    0px 0px 10px #690011;
        -ms-box-shadow:    0px 0px 10px #690011;
        box-shadow:    0px 0px 10px #690011;
    }
    
    label {
        position:    relative;
        clear:      both;
        display:     block;
        text-shadow: 0px -1px 0px #000;
        text-shadow: 0 -1px rgba(0,0,0,0.5);  
        font-family: Arial,sans-serif;
    }
    
    sup { color: red; }
    
    input {
        font-size:            14px;
        margin-bottom:        25px;
        border:             2px solid #690011;
        padding:             8px;
        background:         #fff;
        color:                 #696969;
        width:                 385px;  
        -webkit-box-shadow: inset 0px 2px 2px rgba(0,0,0,0.2);
        -moz-box-shadow:     inset 0px 2px 2px rgba(0,0,0,0.2);
        -ms-box-shadow:     inset 0px 2px 2px rgba(0,0,0,0.2);
        box-shadow:         inset 0px 2px 2px rgba(0,0,0,0.2);
    }
    
    input:focus {
        border:             2px solid #33c400;
        -webkit-box-shadow:    none;
        -moz-box-shadow:     none;
        box-shadow:         none;
    }
    
    input[type=date],
    input[type=number],
    input[type=submit] {
        -moz-border-radius:  0px;
        -webkit-border-radius:  0px;
        border-radius:          0px;
        width:                 auto;
    }

    input[type=checkbox] {
        display:             inline;
        font-size:            14px;
        border:             none;
        width:                 auto;  
        padding:             10px;
        margin:             0px;
        margin-bottom:         -7px;
    }
    
    textarea {
        width:              400px;
        height:             150px;
        color:                 #696969;
        font-family:        Arial;
        font-size:          14px;
    }
    
    input:invalid { background: #efdee0 url(images/invalid.png) no-repeat center right; }
    input:valid { background: #f3f8ed url(images/valid.png) no-repeat center right; }
    
    textarea:invalid { background: #efdee0 url(images/invalid.png) no-repeat top right;}
    textarea:valid { background: #f3f8ed url(images/valid.png) no-repeat top right; }    
    
    
    input[type=submit] {
        background:         #F2D99C;
        display:             inline-block;
        padding:             5px 10px 6px;
        color:                 #690011;
        text-decoration:     none;
        font-weight:         bold;  
        border:             none;
        position:             relative;
        cursor:             pointer;
        font-size:             16px;
        margin-top:            30px;
        font-family:         Helvetica, Arial;
        -moz-border-radius: 5px;
        -webkit-border-radius: 5px;
        -ms-border-radius:     5px;
        border-radius:         5px;
        -moz-box-shadow:     0 1px 3px #999;
        -webkit-box-shadow: 0 1px 3px #999;
        -ms-box-shadow:     0 1px 3px #999;
        box-shadow:         0 1px 3px #999;
        text-shadow:         0 -1px 1px #fff;         
        -webkit-transition: all 0.2s linear
    }
    
    input[type=submit]:hover    {
        background-color:     #E5B96F;
        -webkit-transform:    scale(1.1);
        -moz-box-shadow:     0 1px 6px #000;
        -webkit-box-shadow: 0 1px 6px #000;
        box-shadow:         0 1px 6px #000;
    }
    
    
    .legal {
        clear:                both;
        font-size:            10px;
        margin:             15px 0;
        color:                 #fff;
        text-shadow:         0px -1px 0px #000;
        text-shadow:         0 -1px rgba(0,0,0,0.5);
    }
    
    .centerit {
        text-align:         center;
    }


Bezoek de site eens en probeer het contactformulier te verzenden zonder de velden in te vullen.

George van Baasbank
 
PHP hulp

PHP hulp

07/05/2024 16:31:50
 
Obelix Idefix

Obelix Idefix

08/08/2012 12:56:15
Quote Anchor link
George van Baasbank op 08/08/2012 12:09:48:
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
<?php

if(isset($_POST['submit'])) {
    
    $cNaam          = $_POST['naam'];
    $cEmailbezoeker = $_POST['emailadres'];
    $cOnderwerp     = $_POST['onderwerp'];
    $cBericht       = $_POST['bericht'];
    
    $cNaam          = htmlentities(trim(strip_tags($cNaam)));
    $cEmailbezoeker = htmlentities(trim(strip_tags($cEmailbezoeker)));
    $cOnderwerp     = htmlentities(trim(strip_tags($cOnderwerp)));
    $cBericht       = htmlentities(trim(strip_tags($cBericht)));
    
    // Converteer emailadres naar ondercast
    $cEmailbezoeker = TekstinOndercast($cEmailbezoeker);
            
    if($cOnderwerp != "" AND $cBericht != "" AND $cEmailbezoeker != "" AND $cNaam != "" ) {  // Alle velden correct ingevuld
        
        // Constanten voor mysql_connect() insluiten:

        require_once('mysql_connect.inc.php');

        // Databaseverbinding openen:
        $verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die("Verbinding mislukt: " . mysql_error());

        // Database selecteren:
        mysql_select_db("xxxxxxxxxxxx") or die("Kon de database niet openen: " . mysql_error());
        
        // Query samenstellen
        $sql = "INSERT INTO aanvullingen (ipadres, email, naam, bericht, persoon, datum)";
        $sql .= "VALUES ('$cIpadres','$cEmailbezoeker','$cNaam','$cBericht','$cOnderwerp',NOW())";
        
        $cResultMail = mysql_query($sql);
        
?>

Volgens mij is onderstaande al vaker tegen je gezegd, maar kennelijk is alleen belangrijk dat het (ogenschijnlijk) werkt :(
Controle of een formulier is verzonden niet met if(isset($_POST['submit']))
Waarom variabelen (onnodig) kopiëren. Tot 2x toe.
Geen 'or die' in een script, maar nette foutafhandeling (db-verbinding)
Variabelen buiten quotes in je query.
Mis volledige foutafhandeling bij je query.

Maar ach. Het werkt.....

Ten aanzien van je vraag:
Welke browser(versies) heb je het over? HTML5 schijnt nog niet door alle browsers te worden ondersteunt.
Gewijzigd op 08/08/2012 13:02:39 door Obelix Idefix
 
George van Baasbank

George van Baasbank

08/08/2012 13:12:03
Quote Anchor link
In Google Chrome en Chrome Canary werkt alles zoals bedoeld (met hint als veld niet is ingevuld) Safari 5.1 en IE9 reageren op dit moment helemaal niet en de mogelijke invoer wordt nu tegengegaan door regel 76 uit mijn HTML-code.

Leermoment: Iets eenmaal aangeleerd is moeilijk af te leren. Wat is de correcte vervanger voor if(isset($_POST['submit']))???

Wat is de nette foutafhandeling in de db-verbinding? (Vervanger voor "or die"???
 
Kris Peeters

Kris Peeters

08/08/2012 13:16:23
Quote Anchor link
if(isset($_POST['submit']))

Vervang je door

if($_SERVER['REQUEST_METHOD'] === 'POST')

In plaats van te vragen "Heeft iemand op de knop gedrukt", vraag je: "Gaat het hier om een POST, in plaats van een GET request"
Gewijzigd op 08/08/2012 13:19:32 door Kris Peeters
 
George van Baasbank

George van Baasbank

08/08/2012 13:32:58
Quote Anchor link
Kris, bedankt.

Ik heb e.e.a. aangepast
 
Reshad F

Reshad F

08/08/2012 13:50:05
Quote Anchor link
dat komt omdat required pas na IE10 volledig ondersteunt wordt en na safari 5.0... dus safari zou het wel moeten doen?? maar IE kan inderdaad kloppen..

zie ook

Required
 
Kris Peeters

Kris Peeters

08/08/2012 14:08:47
Quote Anchor link
Nu, de vraag is maar of je dit echt erg moet vinden.

HTML is een taal die geschreven is om om te kunnen gaan met evolutie.
Ofwel begrijpt de browser het, ofwel wordt het genegeerd.

Neem als voorbeeld de <input>. Een input heeft standaard type="text".
Als je dit zou schrijven:
<input type="komkommer"> , wordt dat type genegeerd en wordt het gewoon een type="text".
Dit maakt dat je die types naar harte lust kan uitbreiden.

Nieuwe browsers weten dat <input type="email"> een e-mail moet bevatten. Oudere browsers negeren dit en behandelen het als type="text"

SOWIESO moet je in php alles nog eens dubbel checken.
In php moet je controleren of de de required velden ingevuld zijn, of de e-mailadressen geldig zijn, of numerieke waarden echt numeriek zijn, ... en dit ongeacht of dit al eens gecontroleerd is op client side.

Schrijf dus je code alsof je die required niet ter beschikking hebt, maar dat het een gebruiksvriendelijk extra'tje is voor de mensen met moderne browser.
 
Marco PHPJunky

Marco PHPJunky

08/08/2012 15:11:57
Quote Anchor link
Klopt niet elke browser ondersteund nog/al de 'nieuwe' opties van html5

in jou geval word Required nu nog alleen ondersteund door: Firefox, Chrome en Opera.

En ja sommige mensen zeggen wel dat IE alles al heeft alleen onder een andere benaming
maar ik zie niet in hoe je iets onder een andere benaming kan zetten of hebben als het een vaste Attribuut is... dus ze lopen gewoon achter in deze :P

Maar zoals hierboven ook al gezegd is moet je nu nog (en eigenlijk altijd) alles dubbel (3 dubbel: php, javascript/jquery/mootools/enze, html5) opvangen en controleren in PHP want niet alles en iedereen ondersteund het nog. of hebben een instelling waardoor ze andere dingen niet ondersteunen of accepteren.
 



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.