Registratie werkt niet.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ervaren Software Developer

Functie omschrijving Ben jij een ervaren Software Developer, en heb je ervaring met technieken zoals C#, MS Access & SQL? Vind jij het leuk om maatwerk software te ontwikkelen voor klanten in een specifieke branche? Dan is dit de baan voor jou! Als ontwikkelaar ben jij samen met een team van 12 collega’s verantwoordelijk voor het bouwen van nieuwe functionaliteiten en het uitbreiden van de core applicatie. Belangrijk is dat je ervaring hebt met C# en MS Access. Je bent flexibel en klantvriendelijk ingesteld, omdat het belangrijk is om de klanten zo goed mogelijk van dienst te kunnen zijn. Thuiswerken

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

PHP Developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

C# ontwikkelaar

Functie omschrijving Werk jij graag met C# en het .NET framework in een leuk familiebedrijf? Lees dan snel verder! Jouw takenpakket hierbij is: Je gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Je gaat werken in een Microsoft omgeving (ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Daarnaast optimaliseer je de bestaande software. Bedrijfsprofiel Deze organisatie is gevestigd in de omgeving van Best en is een echt familiebedrijf. Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met

Bekijk vacature »

.NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. 50% van jullie werkzaamheden is maatwerk en de overige 50% is

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een softwarebedrijf gespecialiseerd in het ontwikkelen van logistieke software in omgeving Tilburg zijn wij op zoek naar een ervaren SQL database developer. Je gaat werken aan uitdagende, complexe projecten. Iedere klant/project betekent maatwerk in de database. Jouw werkzaamheden zullen er als volgt uit zien: Je bent verantwoordelijk voor de gehele ontwikkelstraat. Van architectuur tot ontwikkeling Je gaat je bezig houden met het ontwerpen en ontwikkelen van MS SQL server databases. Je gebruikt hiervoor T-SQL als programmeer laag. Je begeleidt als lead developer de projecten bij klanten van A – Z. Je sluit aan bij meetings met klanten,

Bekijk vacature »

VB.NET developer

Functie Het development team waar jij in terecht komt bestaat uit twee ervaren software developers. De directeur/eigenaar is tevens één van deze developers. Jij werkt direct samen met jouw werkgever en kan dan ook veel kennis en ervaring bij dit bedrijf op doen. Als team zijn jullie verantwoordelijk voor de kantoorapplicatie die deze organisatie aanbied in een niche markt. Het team is op dit moment actief bezig met een migratie waarbij het eindstation eindigt in een C# .NET omgeving. Echter is een deel van de software al geschreven in C# .NET. Hierbij is gebruik gemaakt van C# .NET, CSS, HTML,

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back

Bekijk vacature »

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Fullstack developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

Lead Java Developer

Dit ga je doen Je taken bestaan onder andere uit: Het aansturen van een development team bestaande uit 8 collega's op technisch maar ook HR gebied; Het maken van strategische keuzes omtrent de (nieuw)bouw van deze applicatie; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java, Spring, Angular, REST); Reviewen van code en feedback geven op collega developers. Hier ga je werken Als Lead Software Developer ben je verantwoordelijk voor één van de vier Agile Java ontwikkelteams die bouwen aan technologie die duizenden instanties wereldwijd verbindt. Dit Agile team, data Jira en Confluence gebruikt en

Bekijk vacature »

Junior .NET Software Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Applicatiebeheerder/ Ontwikkelaar

Dit ga je doen - Verantwoordelijkheid dragen voor het complexe applicatielandschap; - Schakelen met eindgebruikers en leveranciers; - Verdeling in werkzaamheden tussen dagelijks beheer ontwikkelen; - Het analyseren van de behoeften van gebruikers en het vertalen hiervan naar functionele specificaties voor de applicaties; - Actief bijdragen aan het leveren van passende oplossingen voor het applicatielandschap. Hier ga je werken Deze organisatie, gevestigd in de regio van Amsterdam is een van de meest toonaangevende mediaorganisaties in Nederland. Door de organisatiecultuur krijg jij veel ruimte om initiatief te nemen en zelfstandig aan het werk te gaan. Samen met het IT team zorg

Bekijk vacature »

Technical Asset Specialist Substations

TenneT is growing fast to realize its strategic ambitions. We play a leading role in driving the energy transition. We are looking for a passionate Technical Asset Specialist for substations (onshore and offshore) at our location in Arnhem who will contribute to this and that might be you? Your contribution to TenneT We are searching for a motivated and engaged colleague as a technical asset specialist (onshore and offshore) for instrument transformers and surge arresters, with preferably a strong background in the area of insulation coordination. As a specialist for insulation coordination you are responsible for overarching topics regarding insultation

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET developer begint jouw dag na een bak koffie met een stand up. De vorderingen worden tijdens de stand up besproken en de doelen worden opgesteld waar jullie als team in de volgende sprint naartoe gaan werken. Onze backend is geschreven in .NET Core en onze Front-end in Angular. Bij ons ga jij dan ook Fullstack aan de slag. Jij wordt hier opgeleid om zelfstandig te kunnen programmeren en applicaties te kunnen implementeren. Er wordt op projectbasis gewerkt, dit bied leuke uitdagingen omdat elke klant een andere visie heeft over de applicatie die wij maken. Je gaat

Bekijk vacature »
Tim Klein

Tim Klein

29/12/2013 11:54:14
Quote Anchor link
Beste,
Mijn registratiepagina werkt niet.
Wanneer ik een account aanmaak, komt er "done" te staan, maar komt er niets in database.

Mijn register.php ziet er zo uit:
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
<?php
// maak style aan
include 'include/bgup.php';
?>

<html>
<u>Because of building of the site, All the data can be removed</u>
<table>
<form method="post" name="update" action="update.php" />
<TR><TD>Username:</TD><TD> <input type=text name=username></TD></TR>
<tr><td>Password:</TD><TD> <input type=password name=password></TD></TR><p>
<TR><TD>email:</TD><TD> <input type=text name=email></TD></TR>
<TR><TD><input type="checkbox" name="checkbox" value="Yes" />&nbsp;&nbsp;Yes, I agree with the <a href="toc.html">Terms Of Conditions</a></TD</TR>
<TR><TD></TD><TD><input type=submit name=submit value=submit></TD></TR></TABLE>
</form></html>
<?php
include 'include/bgdown.php';
?>


De update.php ziet er als volgt uit:
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
<?php
error_reporting(-1);
//Bovenkant layout ;)
include 'include/bgup.php';
// Maak mysql connectie aan

mysql_connect("**hostknip**", "**userknip**", "**passwordknip**") or die(mysql_error());
mysql_select_db("**dbknip**")or die("Connection Failed"); echo "<br />";
// SQL Query
$query = "SELECT email FROM leden WHERE email = '" . mysql_real_escape_string($_POST['email']) . "'";
$get = mysql_query($query);
$aantal = mysql_num_rows($get);
if($aantal !== 0) die ('Email does already excist <a href="register.php">Back</a>!');
$username=mysql_real_escape_string($_POST['username']);
$pass=mysql_real_escape_string($_POST['password']);
if (isset($_POST['checkbox'])) {
$query = "INSERT INTO leden (`username`, `password`, `email`, `level`) VALUES  ('".mysql_real_escape_string($_POST['username'])."',".mysql_real_escape_string(md5($_POST['password']))."', '".mysql_real_escape_string($_POST['email'])."','1')" or die (mysql_error());
if(mysql_query($query));
echo 'Done';
}

else {
echo 'You have to accept the terms of condition.';
}

//Onderkant layout ;)
include 'include/bgdown.php';
?>


Ik kom er zelf niet uit.
Voor de genen die het willen weten: Een print-screen van de database op http://www.teacherdutch.webatu.com/phphulp.png

Alvast bedankt.
Tim

- Aar -:
De titel van het topic is aangepast en de spelfout is eruit.
Gewijzigd op 30/12/2013 10:28:29 door - Ariën -
 
PHP hulp

PHP hulp

13/05/2024 22:13:06
 
- Ariën  -
Beheerder

- Ariën -

29/12/2013 12:01:29
Quote Anchor link
Zet aub je script tussen [code]-tags voor een beter overzicht in het forum.
 
Tim Klein

Tim Klein

29/12/2013 12:03:11
Quote Anchor link
Gedaan.
 
- SanThe -

- SanThe -

29/12/2013 12:03:31
Quote Anchor link
Bouw nette foutafhandeling in voor de query's.
Or die() is niet netjes en bij jou staat het ook nog op de verkeerde plaats.

Je query is namelijk mislukt en jij ziet geen error.

Toevoeging op 29/12/2013 12:07:09:

Slordigheid is de grootste progammeerfout.
Registartie werkt niet.
 
- Ariën  -
Beheerder

- Ariën -

29/12/2013 12:07:44
Quote Anchor link
Er hoort sowieso op lijn 18 geen puntkomms maar een accolade.
 
Mausie Wausie

Mausie Wausie

29/12/2013 22:38:54
Quote Anchor link
Ik zou het zo doen:

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
<?php
error_reporting(-1);
//Bovenkant layout ;)
include 'include/bgup.php';
// Maak mysql connectie aan
mysql_connect("**hostknip**", "**userknip**", "**passwordknip**") or die(mysql_error());
mysql_select_db("**dbknip**")or die(mysql_error());

if(!mysql_connect){
    echo 'kan geen verbinding maken';
        exit;
}
elseif(!mysql_select_db){
    echo 'Kan niet bij de database';
        exit;
}
else{

function
StripDanger($value) {
    $magic_quotes_active = get_magic_quotes_gpc();
    $new_enough_php = function_exists('mysql_real_escape_string'); // i.e. PHP >= v4.3.0

    if ($new_enough_php) { // PHP v4.3.0 or higher
        // undo any magic quote effects so mysql_real_escape_string can do the work

        if($magic_quotes_active) {
            $value = stripslashes($value);
        }

        $value = mysql_real_escape_string($value);
    }

    else { // before PHP v4.3.0
        // if magic quotes aren't already on then add slashes manually

        if(!$magic_quotes_active) {
            $value = addslashes($value);
        }

        // if magic quotes are active, then the slashes already exist
    }
    return $value;
}



if($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['verzonden'] == 1 )  {
        
        $username = StripDanger($_POST['username']);
        $email = StripDanger($_POST['email']);
        $password = StripDanger($_POST['password']);
        $password1 = StripDanger($_POST['password1']);
        $checkbox = StripDanger($_POST['checkbox']);
        
        //alle fouten in een array zetten
        $aFout = array();
        
        if (empty($username)){ //kijken of gebruikersnaam leeg is
            $form = true;
            $aFout[] = 'U moet een gebruikersnaam opgeven';
            }

        //kijken of email al bestaat
        $resultaat_email = mysql_query("SELECT email FROM leden WHERE email='".$email."'");
        if($resultaat_email == false){
            echo mysql_error();
    
        }
else{
        
            if(mysql_num_rows($resultaat_email)>0){
                $form = true;
                $aFout[] = 'Email bestaat al';
            
            }
elseif(isset($email) && strlen($email)>5)    { //controleren of de ingevoerde e-mail adres valide is
                // andere variant test 01/03/2010

                if(!preg_match('#^[a-z0-9][a-z0-9_.\-]*@([a-z0-9]+\.)*[a-z0-9][a-z0-9\-]+\.([a-z]{2,6})$#i', $email)) {
                    $form = true;
                    $aFout[] = 'Dit is geen email adres';
                }
else{
                // alles in orde; geen foutsituatie
                }
            }

            else{
                $form = true;
                $aFout[] = 'Geen valide email adres';
            }
        }

        //kijken of wachtwoord 1 leeg is
        if (empty($password)){
            $form = true;
            $aFout[] = 'Wachtwoord invoeren';
        //kijken of de wachtwoorden gelijk zijn
        }elseif($password != $password1){
            $form = true;
            $aFout[] = 'Wachtwoord zijn niet gelijk';
        }
else{
            //versleutelen
            $passworddb = md5($password);
            }

        //kijken of checkbox leeg is
        if (empty($checkbox)){
            $form = true;
            $aFout[] = 'Je moet akkoord gaan met de algemenevoorwaarde';
            }

            
            //als er fouten zijn tijdens het verwerken van het formulier, dan stoppen we alles in een box
            if(!empty($aFout))
                {

                    $errors = '
                    <table><tr><td>
                    <ul>'
;
                    foreach($aFout as $sFout)
                        
                    {

                        $errors .= "    <li>".$sFout."</li>\n";
                    }

                    $errors .= "</ul>
                    </td></tr></table>"
;
                    
                    }
else{//hier gaan we de leden toevoegen
                $form = false;
        

            //geen fouten alles in de db toevogen
            $query = mysql_query("INSERT INTO leden (`username`, `password`, `email`, `level`) VALUES  ('$username','$passworddb', '$email', '1')") or die (mysql_error());
            if($query){
                $form = false;
                echo 'Registratie voltooid';
            }
else{
                $form = true;
                echo 'Er is iets fout gegaan';
                
            }
        }
    }


if($form){

if(isset($errors)){ echo $errors; } ?>



<u>Because of building of the site, All the data can be removed</u>
<table>
<form method="post" name="registratie" action="registratie.php" />
<TR><TD>Username:</TD><TD> <input type="text" name="username"></TD></TR>
<tr><td>Password:</TD><TD> <input type="password" name="password"></TD></TR><p>
<tr><td>Password repeat:</TD><TD> <input type="password" name="password1"></TD></TR><p>
<TR><TD>email:</TD><TD> <input type="text" name="email"></TD></TR>
<TR><TD><input type="checkbox" name="checkbox" value="Yes" />&nbsp;&nbsp;Yes, I agree with the <a href="toc.html">Terms Of Conditions</a></TD</TR>
<input type="hidden" name="verzonden" value="1">
<TR><TD></TD><TD><input type="submit" name="submit" value="verzenden"></TD></TR></TABLE>
</form>

<?php    
    }
}

//Onderkant layout ;)
include 'include/bgdown.php';

?>


Groet Mausie.
Gewijzigd op 30/12/2013 10:27:54 door - Ariën -
 
Tim Klein

Tim Klein

30/12/2013 00:14:08
Quote Anchor link
Krijg een foutmelding.

Waar zit de fout nu?


PHP Error Message

Notice: Use of undefined constant mysql_connect - assumed 'mysql_connect' in /home/a4138720/public_html/register2.php on line 9

Free Web Hosting

PHP Error Message

Notice: Use of undefined constant mysql_select_db - assumed 'mysql_select_db' in /home/a4138720/public_html/register2.php on line 12

Free Web Hosting

PHP Error Message

Notice: Undefined variable: form in /home/a4138720/public_html/register2.php on line 128

Free Web Hosting
 
- Ariën  -
Beheerder

- Ariën -

30/12/2013 00:40:06
Quote Anchor link
mysql_connect en mysql_select_db op lijn 9 en 12 zijn functies, maar blijkbaar mist er nog het één en ander:

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
<?php
error_reporting(-1);
//Bovenkant layout ;)
include 'include/bgup.php';
// Maak mysql connectie aan
if(!mysql_connect("**hostknip**", "**userknip**", "**passwordknip**")) {
    echo "Error: ".mysql_error();
    exit;
}

elseif(!mysql_select_db("**dbknip**")) {
    echo "Error: ".mysql_error();
    exit;
}
else {
    //etc
}
?>
Gewijzigd op 30/12/2013 12:34:57 door - Ariën -
 
Mausie Wausie

Mausie Wausie

30/12/2013 08:24:49
Quote Anchor link
Oeps mijn fout, iets te snel gekopieerd en geplakt.

of zoals Aar het aangeeft, alleen moet er volgens mij voor de functie een uitroepteken (!) staan, omdat hij de error pas moet weergeven als de if statment false is.

Als de verbinding nu true is, zal hij de error weergeven.

Correct me if I'm wrong!

Dit moet het zijn:

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
<?php
error_reporting(-1);
//Bovenkant layout ;)
include 'include/bgup.php';
// Maak mysql connectie aan
$link = mysql_connect("**hostknip**", "**userknip**", "**passwordknip**");
$db   = mysql_select_db("**dbknip**");

//als het false is fout afhandeling
if(!$link){
    echo "kan geen verbinding maken, ERROR: ".mysql_error();
        exit;
//als het false is fout afhandeling
}elseif(!$db){
    echo "Kan niet bij de database, ERROR: ".mysql_error();
        exit;
}
else{
 //vanaf hier geen fouten met de verbinding, de rest verwerken
 
}
?>


Groet Mausie.
Gewijzigd op 30/12/2013 10:26:41 door - Ariën -
 
Obelix Idefix

Obelix Idefix

30/12/2013 10:24:29
Quote Anchor link
Staan er echte gegevens m.b.t. de databaseverbinding in de bovenstaande codes?!
 
- Ariën  -
Beheerder

- Ariën -

30/12/2013 10:29:52
Quote Anchor link
Ik betwijfel het, maar als voordeel van de twijfel heb ik de database-gegevens maar even weggeknipt.
 
Mausie Wausie

Mausie Wausie

30/12/2013 11:11:38
Quote Anchor link
Obelix en Idefix op 30/12/2013 10:24:29:
Staan er echte gegevens m.b.t. de databaseverbinding in de bovenstaande codes?!


Hallo,

Ik heb de gegevens van jou overgenomen of ze kloppen is aan jou.

Ik zal zelf nooit mijn database gegevens op een forum zetten.
Lijkt me dat je die zelf invult.

Groet Mausie.
 
- Ariën  -
Beheerder

- Ariën -

30/12/2013 12:36:23
Quote Anchor link
Mausie Wausie op 30/12/2013 08:24:49:
of zoals Aar het aangeeft, alleen moet er volgens mij voor de functie een uitroepteken (!) staan, omdat hij de error pas moet weergeven als de if statment false is.

Klopt, ik heb het aangepast. Het glipte er even in het late uurtje er tussen door.
 
Tim Klein

Tim Klein

30/12/2013 15:32:00
Quote Anchor link
Ik heb nu dit:
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
<?php
error_reporting(-1);
//Bovenkant layout ;)
include 'include/bgup.php';
// Maak mysql connectie aan
$link = mysql_connect("**dbhost**", "**dbusername**", "**dbpassword**");
$db   = mysql_select_db("**dbname**");

//als het false is fout afhandeling
if(!$link){
    echo "kan geen verbinding maken, ERROR: ".mysql_error();
        exit;
//als het false is fout afhandeling
}elseif(!$db){
    echo "Kan niet bij de database, ERROR: ".mysql_error();
        exit;
}
else{

function
StripDanger($value) {
    $magic_quotes_active = get_magic_quotes_gpc();
    $new_enough_php = function_exists('mysql_real_escape_string'); // i.e. PHP >= v4.3.0

    if ($new_enough_php) { // PHP v4.3.0 or higher
        // undo any magic quote effects so mysql_real_escape_string can do the work

        if($magic_quotes_active) {
            $value = stripslashes($value);
        }

        $value = mysql_real_escape_string($value);
    }

    else { // before PHP v4.3.0
        // if magic quotes aren't already on then add slashes manually

        if(!$magic_quotes_active) {
            $value = addslashes($value);
        }

        // if magic quotes are active, then the slashes already exist
    }
    return $value;
}



if($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['verzonden'] == 1 )  {
        
        $username = StripDanger($_POST['username']);
        $email = StripDanger($_POST['email']);
        $password = StripDanger($_POST['password']);
        $password1 = StripDanger($_POST['password1']);
        $checkbox = StripDanger($_POST['checkbox']);
        
        //alle fouten in een array zetten
        $aFout = array();
        
        if (empty($username)){ //kijken of gebruikersnaam leeg is
            $form = true;
            $aFout[] = 'U moet een gebruikersnaam opgeven';
            }

        //kijken of email al bestaat
        $resultaat_email = mysql_query("SELECT email FROM leden WHERE email='".$email."'");
        if($resultaat_email == false){
            echo mysql_error();
    
        }
else{
        
            if(mysql_num_rows($resultaat_email)>0){
                $form = true;
                $aFout[] = 'Email bestaat al';
            
            }
elseif(isset($email) && strlen($email)>5)    { //controleren of de ingevoerde e-mail adres valide is
                // andere variant test 01/03/2010

                if(!preg_match('#^[a-z0-9][a-z0-9_.\-]*@([a-z0-9]+\.)*[a-z0-9][a-z0-9\-]+\.([a-z]{2,6})$#i', $email)) {
                    $form = true;
                    $aFout[] = 'Dit is geen email adres';
                }
else{
                // alles in orde; geen foutsituatie
                }
            }

            else{
                $form = true;
                $aFout[] = 'Geen valide email adres';
            }
        }

        //kijken of wachtwoord 1 leeg is
        if (empty($password)){
            $form = true;
            $aFout[] = 'Wachtwoord invoeren';
        //kijken of de wachtwoorden gelijk zijn
        }elseif($password != $password1){
            $form = true;
            $aFout[] = 'Wachtwoord zijn niet gelijk';
        }
else{
            //versleutelen
            $passworddb = md5($password);
            }

        //kijken of checkbox leeg is
        if (empty($checkbox)){
            $form = true;
            $aFout[] = 'Je moet akkoord gaan met de algemenevoorwaarde';
            }

            
            //als er fouten zijn tijdens het verwerken van het formulier, dan stoppen we alles in een box
            if(!empty($aFout))
                {

                    $errors = '
                    <table><tr><td>
                    <ul>'
;
                    foreach($aFout as $sFout)
                        
                    {

                        $errors .= "    <li>".$sFout."</li>\n";
                    }

                    $errors .= "</ul>
                    </td></tr></table>"
;
                    
                    }
else{//hier gaan we de leden toevoegen
                $form = false;
        

            //geen fouten alles in de db toevogen
            $query = mysql_query("INSERT INTO leden (`username`, `password`, `email`, `level`) VALUES  ('$username','$passworddb', '$email', '1')") or die (mysql_error());
            if($query){
                $form = false;
                echo 'Registratie voltooid';
            }
else{
                $form = true;
                echo 'Er is iets fout gegaan';
                
            }
        }
    }


if($form){

if(isset($errors)){ echo $errors; } ?>



<u>Because of building of the site, All the data can be removed</u>
<table>
<form method="post" name="registratie" action="registratie.php" />
<TR><TD>Username:</TD><TD> <input type="text" name="username"></TD></TR>
<tr><td>Password:</TD><TD> <input type="password" name="password"></TD></TR><p>
<tr><td>Password repeat:</TD><TD> <input type="password" name="password1"></TD></TR><p>
<TR><TD>email:</TD><TD> <input type="text" name="email"></TD></TR>
<TR><TD><input type="checkbox" name="checkbox" value="Yes" />&nbsp;&nbsp;Yes, I agree with the <a href="toc.html">Terms Of Conditions</a></TD</TR>
<input type="hidden" name="verzonden" value="1">
<TR><TD></TD><TD><input type="submit" name="submit" value="verzenden"></TD></TR></TABLE>
</form>

<?php    
    }
}

//Onderkant layout ;)
include 'include/bgdown.php';

?>


Nu krijg ik alleen de volgende fout:
Notice: Undefined variable: form in /home/a4138720/public_html/register3.php on line 130
De $ bestaat toch?
Ik krijg alleen de CSS te zien, met de foutmelding erin. Krijg geen form te zien.

Grotjes,
Tim.
 
Wouter Van Marrum

Wouter Van Marrum

30/12/2013 15:51:53
Quote Anchor link
probeer op lijn 130:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if(isset($form)) {
?>
 
Kenneth Rozendaal

Kenneth Rozendaal

30/12/2013 15:54:47
Quote Anchor link
Als ik even snel naar je code kijk, lijkt het erop dat je scope niet klopt, je hebt alleen binnen if en else statements je $form gedeclareert.
Ik denk dat je probleem is opgelost als je onder:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$checkbox = StripDanger($_POST['checkbox']);

neerzet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$form = true;


Het kan ook dat er iets anders moet staan dan true, maar ik heb de code niet echt goed bekeken...

Succes ermee in ieder geval!

Kenneth
Gewijzigd op 30/12/2013 15:58:21 door Kenneth Rozendaal
 
Mausie Wausie

Mausie Wausie

31/12/2013 07:48:50
Quote Anchor link
Hallo Tim,

Je moet na de eerste else statment na de controle van de database connectie even je $form op true zetten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$form = true;


Ben ik vergeten mee te kopiëren, dan is $form gezet.

Groet Mausie.
 
Ivo P

Ivo P

31/12/2013 12:31:12
Quote Anchor link
stripDanger():

waarom zou je nog rekening houden met de vraag of iemand PHP < 4.3 heeft.
Dan heb je het over december 2002: meer dan 11 jaar geleden!
http://www.php.net/ChangeLog-4.php#4.3.0

Daarnaast vind het onverstandig om centraal de acties zoals $username = StripDanger($_POST['username']); uit te voeren.
Ja: je hebt ze dan "allemaal" beveiligd.
maar ook: als je er maar 1 vergeet, dan merk je dat nergens meer op.

Daarnaast is het ook verleidelijk om verderop in je script $username te gebruiken. Die bestaat immers.
Maar dan krijg je zo'n leuk effect dat "foto's" ineens op het scherm staat als "foto\'s"
en dan zie je naar verloop van tijd teksen verschijnen met "foto\\\\\\\\\\\\'s" en kun je precies natellen hoevaak de tekst bewerkt is.

Ik ben er voorstander van om alleen op die plekken waar je het nodig hebt te beveiligen.
In dit geval dus elke query, en ook elke variabele. (met mysql_real_escape_string of de mysqli variant daarvan).

En op de plek waar je de username op het scherm wilt hebben gebruik je htmlspecialchars($_POST['username']) of htmlspecialchars($anderevar);

Je ziet dan aan je query direct dat je inderdaad al je variabelen beveiligt en hoeft niet later bij je opdrachtgever te melden dat je in eerste instantie die 3 variabelen prima beveiligde met stripDanger() maar dat je bij het aanpassen helaas vergeten was om die andere 2 daar ook toe te voegen en dat de database nu helaas kapot of gehackt is.

Toevoeging op 31/12/2013 12:33:28:

aanvullend: dus beveiliging toepassen op de manier zoals die daar nodig is: escapen voor je database, "escapen" met htmlspecialchars voor je scherm.
 



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.