validatie formulier vraag

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Developer / Middleware / veel verantwoordelijkheid

Functieomschrijving Heb jij ervaring met het ontwikkelen van Middleware? Ben je daarbij ook ervaren met het schrijven van code in de integratielaag en wil je van A tot Z meedenken met het proces binnen een bekende organisatie? Neem dan contact met mij op! Het projectmatig ontwikkelen van middleware, dit zal zo'n 70% van je tijd in beslag nemen; Het onderhouden en beheren van de ontwikkelde middleware, dit zal zo'n 30% van je tijd in beslag nemen; Meedenken over verbeteringen voor de integratielaag; Samenwerken met de overige IT teams om de omgeving zo optimaal mogelijk te laten werken; Het opzetten en

Bekijk vacature »

Senior iOS Developer vacature

Je bent innovatief. Je bent creatief. Jij gaat voor een topbaan. Mobile apps ontwerpen, uitwerken en realiseren, dat is jouw passie! Met grote toewijding richt jij je dan ook op een app waarmee consumenten met een gezichtsscan betalen. Of je stort je je op een app die de temperatuur in huis op afstand kan regelen. Het spreekt voor zich dat jouw apps top of the bill zijn als het gaat om gebruiksvriendelijkheid en veiligheid. Ze hebben impact. Je voelt je als een vis in het water in een iOS-omgeving maar, veelzijdig als je bent, kun je ook met andere platforms

Bekijk vacature »

Senior Java Developer vacature

Jij volgt ontwikkelingen op de voet. Sterker nog: jij bent er onderdeel van. Jij loopt voorop. Jij denkt met klanten mee en helpt hen innoveren. Zo kun jij een bijdrage leveren aan de Rabobank-app, de beveiliging van treinen voor Pro-rail verbeteren of de website van ING een boost geven. Vergaderen? Liever gewoon zorgen dat het werkt! Hoe omschrijft men een Sogetist? Gedreven, resultaatgericht en niet snel tevreden. Wat niet wil zeggen dat je nooit met hem of haar kunt lachen. Integendeel. Plezier hoort wat ons betreft net zo goed bij werken. Maar we gaan op de eerste plaats voor de

Bekijk vacature »

Data Analyst / SAS Developer / Marketing Automatio

Functieomschrijving Wil jij werken of het snijvlak van IT, data en marketing? Begrijp jij hoe waardevol data is voor bedrijven en wil jij jezelf verder ontwikkelen in een uitdagende en dynamische omgeving bij één van de grootste financiële dienstverleners van Nederland? Solliciteer dan nu! De focus ligt op het analyseren en verbeteren/automatiseren van de technische kant van Data Marketing. Je werkzaamheden zullen concreet bestaan uit het volgende: Programmeren van extra opties in SAS CI Studio zodat marketingcampagnes verder geautomatiseerd kunnen worden; Nieuwe functionaliteiten toevoegen aan SAS CI Studio; Programmeren van automatiseringstools waarmee de juiste campagnes richting de juiste zakelijke klanten

Bekijk vacature »

Skilled ICT Servicedesk Medewerker - Cloud Windows

Introductie Vind jij net als wij dat je op een Servicedesk genoeg incidenten zelf op moet kunnen lossen en hou je wel van een beetje verantwoordelijkheid? Denk je daarbij verder dan je neus lang is en zie jij waar verbeterpunten zitten? Als jij de persoon bent die naast het doen van je werk, graag meedenkt in het belang van de organisatie? Dan zoeken wij jou! Organisatie Xiphos is een innovatieve, door kwaliteit gedreven, IT-dienstverlener met een breed pakket van diensten. Xiphos verzorgt invulling van tijdelijke expertise, diensten en adviezen binnen de IT-Infrastructuur. Onze missie is de IT-afdeling van onze klanten

Bekijk vacature »

Senior iOS Developer vacature

Je bent innovatief. Je bent creatief. Jij gaat voor een topbaan. Mobile apps ontwerpen, uitwerken en realiseren, dat is jouw passie! Met grote toewijding richt jij je dan ook op een app waarmee consumenten met een gezichtsscan betalen. Of je stort je je op een app die de temperatuur in huis op afstand kan regelen. Het spreekt voor zich dat jouw apps top of the bill zijn als het gaat om gebruiksvriendelijkheid en veiligheid. Ze hebben impact. Je voelt je als een vis in het water in een iOS-omgeving maar, veelzijdig als je bent, kun je ook met andere platforms

Bekijk vacature »

Lead Developer

Discipline Information Technology Location Utrecht (NL) Hours a week 40 As our Lead Developer You will be working in a fast-paced, open source-based environment using agile methods. You are a key figure in creating enterprise applications. Our sales channels and offices locations are based in the Netherlands, Romania, US East and West Coast, China and Australia, this 24/7 operation requires rock-solid software. Your colleagues are located in Shanghai, Bucharest, Venlo and Utrecht. We are continuously looking for ways to improve our development methodologies and architecture and we welcome fresh ideas and techniques. This position is located in Utrecht. What you

Bekijk vacature »

C# .NET webdeveloper gezocht, inhouse, afwisselend

Heb je ervaring als .NET C# webdeveloper en je bent op zoek naar een nieuwe baan in Den Haag? Bij een kleinschalig bedrijf met een korte lijnen en een informele maar ambitieuze sfeer? Waar je met de laatste ontwikkelingen kan werken op zowel back- als frontend? Wellicht dat dit iets voor jou is! Voor een full service webbureau in Den Haag zijn we op zoek naar een ervaren .NET C# webdeveloper. Het bedrijf bestaat uit ongeveer 40 mensen met in totaal circa 10 software developers. Binnen deze organisatie zal je samen met je team meewerken aan het onderhoud en de

Bekijk vacature »

C++ Developer Financial & Trading Amsterdam

WE'RE CURRENTLY WORKING WITH A YOUNG FUND MANAGEMENT START-UP BASED IN AMSTERDAM WHO ARE LOOKING FOR AN EXPERT C++ DEVELOPER TO JOIN THEIR TEAM. You would be joining a team where high achievers and top dogs will thrive and managing a wide range of responsibilities while working directly with the company's traders. For this reason, it is essential that candidates have experience in a trading environment. IDEAL CANDIDATE C++ 11/14 development in a Linux environment Strong knowledge of STL, algorithms, and multithreading Experience in the financial sector, trading environments in particular Great interpersonal skills WHAT THEY OFFER Competitive salary Growth

Bekijk vacature »

.NET C# web developer gezocht, inhouse project dev

Ben je een ervaren .NET C# web developer en op zoek naar een leuke baan in het zuiden van Zuid-Holland? Een inhouse functie maar met de afwisseling van verschillende projecten en klanten? Projecten die uitdagend zijn door de complexiteit van de systemen? Lees dan verder! Voor een bedrijf in Goeree-Overflakkee zijn we momenteel op zoek naar een ervaren .NET C# web developer. Het bedrijf bestaat uit iets meer dan 20 werknemers en verschillende ervaren software developers. De software projecten zijn uiteenlopend, maar altijd maatwerk oplossingen en veelal complex en bedrijfskritisch van karakter. De bedrijven waarvoor je software ontwikkeld kunnen variëren

Bekijk vacature »

Applicatie ontwikkelaar / ERP

Functieomschrijving Heb jij ervaring met programmeren en verdiep jij je graag in nieuwe systemen? Geef jij de voorkeur aan een informele en open cultuur waar genoeg ruimte is voor eigen inbreng en ideeen? Dan is dit een vacature voor jou! Je richt je op het onderhouden van de bestaande systemen en het ontwikkelen van nieuwe functionaliteiten (AS400 / IBM / RPG); Je lost problemen op en ondersteunt gebruikers bij het gebruik van de diverse applicaties; Je bespreekt de wensen van de klant als het gaat om nieuwe koppelingen en maakt de vertaalslag naar de technische oplossing; Je schakelt met de

Bekijk vacature »

CMS Developer / Sitecore / C# / DevOps

Functieomschrijving Ben jij een Developer met kennis van C# / .NET en wil jij je graag specialiseren op het gebied van Sitecore? Doe jij dit het liefst binnen een gerenommeerde organisatie in de zorg? Dan is dit dé uitdaging voor jou! Binnen deze rol zal jij je als C# / .NET Developer (met de focus op Sitecore) gaan richten op het ontwikkelen van webapplicaties, platformen en portalen middels o.a. C#, Azure en Microservices die door duizenden mensen gebruikt worden? Reageer dan nu! Het ontwikkelen van webapplicaties, platformen en portalen middels o.a. C#, Sitecore, Azure en Microservices; Het leveren van jouw

Bekijk vacature »

PHP Developer

Back-end PHP Developer An IT-company, located in a monumental building in the city centre of Utrecht is looking for a Back-end PHP Developer. For this company you will be helping the IT-team in raising their game and improving the quality of the software. If you feel the drive to enhance the quality of the code and learn from senior developers within no-time, then this might just be the job that you're looking for! For this client you will be part of a innovative, passionate, ambitious and interdisciplinary development team that consists of 8 junior, medior and senior developers. Within this

Bekijk vacature »

PHP Developer

Voor een bedrijf in Hengelo gericht op E-commerce wordt er gezocht naar een PHP Developer. Het bedrijf Opgericht rond het millennium en gevestigd in Hengelo wordt er bij dit bedrijf met ongeveer 40 mensen met veel passie en plezier gewerkt aan een cloud based webshop platform. Dit is dan ook het product dat wordt aangeboden en continu wordt door ontwikkeld zodat een webwinkel voor iedereen mogelijk wordt, zowel voor een start-up als de ervaren winkelier. Er worden meer dan 10.000 webshops gefaciliteerd en het bedrijf is marktleider in de e-commerce branche. Als PHP Developer maar je onderdeel van een IT

Bekijk vacature »

ABAP Developer

Functieomschrijving Heb jij de nodige ervaring met ABAP en ben jij toe aan een nieuwe uitdaging? Werk je graag in een internationaal bedrijf met een informele sfeer en flexibiliteit? Dan is deze vacature iets voor jou! Je richt je op SAP development werkzaamheden die voort komen uit optimalisatie-, migratie-, integratie- en innovatie trajecten; Je werkt met o.a. ABAP Eclipse, OOP, Webservices en HANA; Je hebt nauw contact met de functionele SAP specialisten om de wensen helder te krijgen waarna je dit vertaalt naar de technische oplossing; Je werkt in een Agile / Scrum werkomgeving; Je adviseert de organisatie op jouw

Bekijk vacature »
Robert Jansen

Robert Jansen

14/02/2017 15:20:48
Quote Anchor link
hallo,

Ik heb een formulier waar een php validatie opzit (dus als je nix invult dan krijg je in het rood te zien dat je de velden gebruikersnaam en wachtwoord in moet vullen).
Maar als je wel een gebruikersnaam en wachtwoord invult dan is het de bedoeling dat inloggen.php wordt uitgevoerd (het controleren van de gebruikersnaam en wachtwoord in de database).
En het laatste werkt niet.
Ik krijg dan de foutmelding:
Notice: Undefined index: gebruikersnaam in C:\xampp\htdocs\website\inloggen.php on line 8

Notice: Undefined index: wachtwoord in C:\xampp\htdocs\website\inloggen.php on line 9

in het formulier bij action staat nu:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>">

ik heb bij action inloggen.php gezet maar dan werkt de validatie niet als de velden leeg zijn.

mijn vraag is: Hoe moet ik inloggen.php uitvoeren als er in de velden gebruikersnaam en wachtwoord wel iets ingevuld is? en als de velden gebruikersnaam en wachtwoord leeg zijn dat dan de rode tekst komt dat de velden ingevoerd moeten worden als op de knop wordt geklikt.

alvast bedankt

index.php
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
<?php
$nameErr
= $wwErr = '';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$valid = true;

  if (empty($_POST["gebruikersnaam"])) {
    $nameErr = "Gebruikersnaam is verplicht";
    $valid = false;
  }

 
  if (empty($_POST["wachtwoord"])) {
    $wwErr = "Wachtwoord is verplicht";
    $valid = false;
  }

  
  if($valid){
 
  $username = mysqli_real_escape_string ($conn, $_POST ['gebruikersnaam']);
$password = mysqli_real_escape_string ($conn, $_POST ['wachtwoord']);
   header('Location: inloggen.php');
   exit();
  }
  
  }

?>

<!DOCTYPE HTML>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Beheer</title>
    <link href="style.css" type="text/css" rel="stylesheet">
    
</head>

<body>
<?php
//include 'includes/header.php';
?>

<header>
    <img src="images/logo_wit.png" width="200" alt="logo"/>
</header>
<div id="main_container">

<div id="inloggen">
<p><span class="error">* verplicht veld</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>">
    Gebruikersnaam: <input type="text" name="gebruikersnaam" /><span class="error">* <?php echo $nameErr;?></span><br /><br />
    
    Wachtwoord: <input type="password" name="wachtwoord" /><span class="error">* <?php echo $wwErr;?></span><br /><br />
    
    <input type="submit" name="submit" value="Inloggen" />
</form>

</div>
</div>
</body>
</html>


inloggen.php
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
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
 
include 'connect.php';
session_start();
 
$username = mysqli_real_escape_string ($conn, $_POST ['gebruikersnaam']);
$password = mysqli_real_escape_string ($conn, $_POST ['wachtwoord']);
 
$query = ("SELECT naam, wachtwoord FROM leden WHERE naam= ? AND wachtwoord= ? LIMIT 1 ");
$stmt = $conn->prepare($query);
$stmt->bind_param("ss", $username, $password );
$stmt->execute();
$stmt->bind_result($username, $password);
$stmt->store_result();
if($stmt->num_rows > 0) {
      
     while($stmt->fetch()) {
     $_SESSION ['gebruikersnaam'] = $username;
     header('Location: dashboard.php');

    }
            
}

 
else {
    echo "<h3>incorrect wachtwoord of gebruikersnaam, voer opnieuw in <a href='index.php'>Klik hier</a></h3>";
    die ();//als je niks intypt en je klikt toch op de knop login dan krijg je deze melding
     }
 

?>
 
PHP hulp

PHP hulp

11/12/2019 17:07:42
 
Frank Nietbelangrijk

Frank Nietbelangrijk

14/02/2017 15:51:53
Quote Anchor link
- Zet alles in één bestand. Dat is het meest logische. Je kunt wel bestanden includen waarin functies of classes staan. Immers wil je dat een gebruiker op dezelfde pagina blijft TOTDAT alles goed ingevuld is en daarna stuur je hem gewoon door.
- Begin in dat bestand met de PHP. Dit is je applicatie waarin je alles gaat regelen behalve DE OUTPUT. (zie ook mijn reactie in dit draadje). Begin daarna met de output.

- Controleer of je formulier verstuurd is met deze regel
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
?>
Gewijzigd op 14/02/2017 15:55:43 door Frank Nietbelangrijk
 
Danny von Gaal

Danny von Gaal

15/02/2017 21:44:35
Quote Anchor link
Haal sowieso htmlspecialchars weg in het action veld en verander het gewoon naar:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

* htmlspecialchars veranderd bijvoorbeeld & in &amp. Daar heb je niks aan als je een formulier verstuurd.

Daarnaast doe je form afhandeling in één bestand. Of op de pagina zelf dmv
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
?>

of stuur de pagina naar inloggen.php met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form method="post" action="inloggen.php">


Ik stel voor om het tweede te doen want bij het eerste loop je tegen het probleem dat als iemand de pagina ververst met F5 het formulier opnieuw gepost wordt.

Op inloggen.php loop je daarna alles door en check je of alle velden ingevuld zijn en of alle waardes aan bepaalde voorwaarden voordoen. Als de ingevulde waardes ergens niet voldoen aan wat je wilt dan kan je een error opslaan in een $_SESSIE['error'] en dan dmv header("Location: index.php"); en een exit(); erachter de gebruiker terug sturen naar het formulier.

Onder het formulier kan je dan de error opvangen bijvoorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if(isset($_SESSION['error'])) {
echo $_SESSION['error'];
}

?>
Gewijzigd op 16/02/2017 10:01:04 door Danny von Gaal
 
Ben van Velzen

Ben van Velzen

15/02/2017 23:00:03
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$username
= mysqli_real_escape_string ($conn, $_POST ['gebruikersnaam']);
$password = mysqli_real_escape_string ($conn, $_POST ['wachtwoord']);
 
$query = ("SELECT naam, wachtwoord FROM leden WHERE naam= ? AND wachtwoord= ? LIMIT 1 ");
$stmt = $conn->prepare($query);
$stmt->bind_param("ss", $username, $password );
$stmt->execute();
$stmt->bind_result($username, $password);
$stmt->store_result();
?>


Beetje vreemd dat je dubbel gaat escapen. Gebruik prepared statements óf escape, nooit beide. Liefst prepared statements natuurlijk.
 
Verwijderd 31683

Verwijderd 31683

16/02/2017 10:41:59
Quote Anchor link
Danny von Gaal op 15/02/2017 21:44:35:
Haal sowieso htmlspecialchars weg in het action veld en verander het gewoon naar:
...
* htmlspecialchars veranderd bijvoorbeeld & in &amp. Daar heb je niks aan als je een formulier verstuurd.

Desalniettemin is het verstandig om alle output te escapen, zo ook form actions. Al bevat PHP_SELF geen querystring-variabelen.

Ben van Velzen op 15/02/2017 23:00:03:
Beetje vreemd dat je dubbel gaat escapen. Gebruik prepared statements óf escape, nooit beide. Liefst prepared statements natuurlijk.

Maar prepared statements in MySQLi is nogal meh.
prepare, bind_param, bind_result, store_result... Aint nobody got time fo dat :).
Als je dan toch prepared statements wilt gebruiken is PDO misschien een beter alternatief.

@topicstarter: scheid of alles in aparte bestanden, of deel het op een andere manier op in verschillende acties (tonen van formulier, verwerken van formulier etc.). De aanpak die @Frank aangeeft kan de oplossing zijn... totdat je met meer dan twee acties te maken krijgt. Dan wordt het al snel een brei met één (of zelfs meerdere) gigantisch(e) if-elseif-elseif-else statement(s).
Gewijzigd op 16/02/2017 10:43:04 door Verwijderd 31683
 



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.