Registratie werkt niet.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

Front end developer binnen de consultancy

Functie Je komt in een team met ambitieuze developers die de passie voor Front-End met jou delen. Samen ga je aan de slag met leuke en leerzame opdrachten. Het team heeft een eigen budget en financiën en zij bepalen zelf hoe dat besteed en investeert wordt. Je gebruikt tools als JavaScript, Node.js, React, Angular, Typescript en Vue.js wanneer je werkt aan de opdrachten. Daarnaast zul je veel leren van je collega’s en gezamenlijk een leuke tijd doorbrengen tijdens activiteiten zoals wintersport, hackatons en conferentiebezoeken. Je krijgt niet alleen de mogelijkheid Front-End te ontwikkelen, maar ook vooral jezelf. Dit kan behaald

Bekijk vacature »

Junior Outsystems developer

Functie Als junior Outsystems developer wordt jij onderdeel van een multidisciplinair team van 23 software engineers. Ons team werkt agile en termen als Continuous Integration en Continuous Delivery zijn bij ons dagelijkse koek. Wij werken aan uitdagende en afwisselende projecten met als doel onze klanten een totaal oplossing aan te bieden. Als junior Outsystems developer krijg jij bij ons de kans om jezelf te ontwikkelen naar een volwaardige ervaren en gecertificeerde Outsystems developer. Jij een team met ervaren mensen (10+ ervaring) om je heen. Zo heb jij niet het gevoel dat jij meteen in het diepe wordt gegooid en uiteraard

Bekijk vacature »

Fullstack Developer TOTO

Do you want to work with the latest technologies on the development of new systems and applications? Get moving and strengthen Nederlandse Loterij as a Fullstack Developer TOTO. Thanks to your efforts, complex business critical applications are always running smoothly. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Fullstack Developer you score by: Taking ownership of the development cycle of an application in a large scale, high availability, geo redundant landscape Coaching your peer developers and safeguarding code quality Integrating the application with other components of the system using the available API’s Managing

Bekijk vacature »

Medior/senior Back-end developer wanted!

Functie Because of the growth within the company, we are looking for reinforcement in the devlopmenttean. As a back-end developer you build the company software that helps us with the primary processes. A fun (internal) project in which you continuously develop the software! You will work in a small team, we have daily stand-ups and a scrum session every fortnight, led by our Scrum Master. During these sessions, you get the opportunity to present your ideas and discuss them with your fellow developers and the Product Owner. Within the development teams, we use Trello, Gitlab, Jiira, Confluence and Boockstack. They

Bekijk vacature »

Backend Developer PHP Laravel SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Backend Guild. Hier ga je werken Voor een snel groeiend bedrijf, in de regio Nieuw Vennep, zijn wij opzoek naar een ervaren Backend Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een

Bekijk vacature »

.NET developer

Functie Als junior .NET ontwikkelaar ga jij aan de slag in één van de 5 IT teams van dit bedrijf. Jullie werken op basis van interne klantprojecten aan voornamelijk webapplicaties. Dit betekent dat jij continu uitgedaagd wordt en veelal met verschillende soorten projecten bezig bent. Het gave is dan ook dat jullie als team samen bekijken welke technieken het beste passen bij het project waar jullie verantwoordelijk voor zijn. Zo kan het zijn dat jij als .NET developer gaat werken aan een project, maar dat jullie als team liever gebruik maken van Haskell of F# om de klus te klaren.

Bekijk vacature »

SQL database ontwikkelaar

Functie omschrijving Ben jij niet bang voor complexe algoritmes? Schikt het schrijven van procedures in T-SQL jouw niet af en heb jij al de nodige informatie in SQL, dan is functie precies wat voor jou! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat werken aan de complexere projecten waar jij van A tot Z bij betrokken bent. Je gaat zorg dragen voor het ontwerp, de ontwikkeling en het updaten van SQL databases. Dit doe je op basis van T-SQL. Jij bent van start tot finish betrokken bij de projecten die jij leidt. Je houdt contact met klanten en

Bekijk vacature »

Front-end Developer

Dit ga je doen Je komt in een DevOps-cultuur te werken waarbij je met je team werkt aan de front-end van diverse brand websites; Het ontwerpen van functionele en grafische ontwerpen die worden geïmplementeerd; Draagt zorg voor het maken van analyses; Je werkt nauw met je collega’s samen en geeft elkaar feedback en suggesties waar nodig; Het uitwerken van vraagstukken die afkomstig zijn van verschillende klanten; Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Wij zijn voor een leuke opdrachtgever in omgeving Naaldwijk op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Wij zoeken iemand die breed inzetbaar is en die aan veel verschillende applicaties wilt werken. Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind

Bekijk vacature »

Robot Programmeur

Een verantwoordelijke baan met leuke uitdagingen. Heb jij ervaring met het programmeren van robots? Kan jij goed samenwerken met collega's die verschillende specialisaties hebben? Ben je oplossingsgericht, analytisch en flexibel? Ga dan aan de slag als Robot Programmeur bij Gibas in Nijkerk! Als Robot Programmeur kom je te werken bij Gibas. Dat betekent dat je gegarandeerd meewerkt aan unieke oplossingen in productieprocessen. Bij elk project moet er opnieuw geëngineerd en geprogrammeerd worden. Dat maakt jouw werk uitdagend! Voordat je robots gaat programmeren komt er het volgende bij kijken: De opdracht gaat van de afdeling Sales naar de afdeling Operations door

Bekijk vacature »

PHP Software Developer

Functie omschrijving Op zoek naar een nieuwe uitdaging binnen PHP? Lees dan snel verder! Wij zoeken een ervaren PHP developer die binnen een organisatie gaat functioneren als verlengstuk van de klant. Wij zoeken voor deze iemand die technisch complexe zaken met enthousiasme en plezier aanvliegt. Verder moet je instaat zijn om je tijd goed te managen omdat je aan meerdere projecten tegelijkertijd werkt. Je werkt met de nieuwste technieken en tijdens deze uitdaging werk je veel samen met de front-end developers van deze organisatie. Wij zoeken iemand die zichzelf graag uitdaagt en altijd de beste wilt zijn. Bedrijfsprofiel Waar ga

Bekijk vacature »

3D BIM Add-on Developer

Als 3D BIM add- on ontwikkelaar bij KUBUS ontwikkel je add-ons (BCF Managers genaamd) voor de toonaangevende building information modeling (BIM) programma's Revit, Navisworks, Archicad, AutoCAD en Tekla Structures. BCF Managers maken gegevensoverdracht mogelijk tussen BIM-software en BIMcollab. Je werkt zowel aan de front- als aan de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en

Bekijk vacature »

.NET Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een .NET Developer! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans en kijk snel of jouw vaardigheden aansluiten bij onderstaand profiel! Je kunt een uitdagende rol gaan vervullen als .NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving Bergen. Dit bedrijf is zeer vooruitstrevend en verricht betekenisvol werk. Binnen dit bedrijf wordt gewerkt aan de productie en ontwikkeling van medische middelen. Als .NET Developer ga jij je bezig houden met het volgende: Je wordt betrokken bij alle fasen van software

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

27/04/2024 03:04:20
 
- 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.