Fout: unexpected T_ELSE

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

SQL Database Ontwikkelaar

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je houdt je bezig met het ontwerp en de ontwikkeling van MS SQL server databases, dit doe je met T-SQL als programmeer laag. De begeleiding van projecten van A tot Z, je zult aansluiten bij meetings met

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 »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het development team. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met

Bekijk vacature »

Medior Front end developer React

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor op de

Bekijk vacature »

Medior/senior Front-end developer (Vue.js)

Functie Als Front-end developer ben je uiteindelijk overkoepelend aan de slag voor de 3 ontwikkelteams die ieder aan een specifiek product werken. In samenwerking met de UX-designer en de huidige Front-end developer zorg je voor gebruiksvriendelijke software. Lijkt het jou interessant om complexe problemen op te lossen en feautures naar een hoger niveau te tillen? En vind je het niet erg om oudere delen van de applicaties te refactoren i.c.m. het toevoegen van nieuwe functionaliteiten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en zelfredzaamheid)

Bekijk vacature »

.NET developer

Functie Jouw team van vier collega .NET developers is verantwoordelijk voor het bouwen van de ETL processen van jouw nieuwe werkgever. Op dit moment wordt de front-end gedaan door een extern team van professionals. Echter wilt jouw nieuwe werkgever graag intern deze kennis uitbreiden en heeft dan ook de ambitie om dit voor het eind van het jaar intern te gaan aanpakken. Dit betekend dat jij als .NET ontwikkelaar de ideale kans krijgt om jezelf samen met jouw collega’s te ontwikkelen als full stack developer. Als .NET ontwikkelaar werk jij bij deze gave werkgever met C# .NET, SQL, JavaScript, REST

Bekijk vacature »

OutSystems Developer

Dit ga je doen Het van scratch af aan ontwikkelen van applicaties met OutSystems; Het aanhaken bij diverse projecten binnen de organisatie; Schakelen met de business; Meedenken over de mogelijkheden van het platform binnen de organisatie. Hier ga je werken Deze organisatie is een toonaangevende speler in de vastgoedbranche en telt momenteel ruim 500 medewerkers. Met meer dan 150 applicaties staat er een complex applicatielandschap, bestaande uit standaard- en maatwerkapplicaties. De maatwerkapplicaties worden ontwikkeld door een inhouse development team. Het doel voor de komende periode is het verder vernieuwen en optimaliseren van het huidige applicatielandschap. Zo staat de organisatie aan

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je werkt mee aan de migratie naar .NET 6; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Zij zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »

Traineeship Fullstack developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

Bekijk vacature »

Front-end Developer

Dit ga je doen Doorontwikkelen van software; Ontwikkelen en testen van nieuwe functionaliteiten; Implementaties van nieuwe functionaliteiten en updates; Verzorgen van technische migraties naar nieuwe frameworks; Verwerken van incidenten. Hier ga je werken Onze klant, gevestigd in de regio Amsterdam, draagt bij aan het verbeteren van de veiligheid en efficiëntie van de Nederlandse infrastructuur door het ontwikkelen van afgemeten software oplossingen. Zo passen zij location intelligence toe om onderhoud en reparaties efficiënt te laten verlopen. Verder zorgen deze systemen dat incidenten zo snel mogelijk worden opgelost. Als Front-end Developer ben jij samen met je team betrokken met het (door)ontwikkelen van

Bekijk vacature »

.NET developer

Functie As a .NET developer you start in a driven and diverse development team. Your team consists of 16 IT professionals, including 7 software engineers. Because your new employer is internationally active, there are also international IT professionals working in the IT department. As a result, the official language is English. As a team you are responsible for a new Cloud Native product. This product runs entirely in Azure with a Progress Database and various Azure Functions. In addition, this product has a JS front-end, a REST API system and a layer in C # .NET. The idea is therefore

Bekijk vacature »

Java (Java EE) Developer

In het kort Werken als Java developer betekent werken aan complexe IT projecten bij onder meer een internationaal containeroverslag bedrijf. Zo sturen we apparaten en eindgebruikers aan d.m.v. onze custom-made software oplossing, die dagelijkse vele duizenden containers verwerkt. Denk aan systemen die volautomatische kranen aansturen en op afstand bedienen, de volledige afhandeling van containernummerherkenning bij het laden en lossen van zeeschepen of het tonen van instructies aan de chauffeurs van ruim 300 straddle carriers. En dat allemaal redundant, robuust en in een dynamische 24/7 omgeving! Jij versterkt ons ontwikkelteam en gaat aan de slag met oa. Java i.c.m. Spring (Boot),

Bekijk vacature »

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

Delphi Programmeur

Functie omschrijving Onze opdrachtgever is gespecialiseerd in kantoor-bedrijfssoftware en zit gevestigd in omgeving Numansdorp. Als programmeur ben jij bij dit bedrijf met het volgende bezig; Je vertaalt technische en functionele ontwerpen naar kwalitatieve software. Je ontwikkelt, ontwerpt en test software. Je maakt daarbij veel gebruik met de volgende tools & technologieën: Delphi 10.3 (Rio), QuickReport 6. Je krijgt in deze rol veel vrijheid en verantwoordelijkheid. Je levert projecten van A - Z op, en werkt daarbij projectmatig en gestructureerd. Bedrijfsprofiel Dit bedrijf richt zich op maatwerk software oplossingen. Deze software oplossingen worden ingezet in de financiële branche. Het betreft een

Bekijk vacature »
 - Diov  -

- Diov -

09/04/2012 19:57:25
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
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
<?php
# We zetten dit volledig bovenaan

    # errors weergeven

    ini_set('display_errors',1); // 1 == aan , 0 == uit
    error_reporting(E_ALL | E_STRICT);

    # sql debug
    define('DEBUG_MODE',true);  // true == aan, false == uit

    # functie voor sql debug

    function showSQLError($sql,$error,$text='Error')
    {

        if (DEBUG_MODE)
        {

            return  '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
        }

        else
        {
            return $text;
        }
    }
  
$email = $_POST['email']; // Voor de functie
function checkemail($email)
{

    // Kijk of er een @ in zit, zo nee false
    if(!stristr($email, '@'))
    {

        return false;
    }

    $email_split = explode("@", $email);
    // Er mag slecht één @ inzitten dus het array moet 2 records tellen
    if(count($email_split) != 2)
    {

        return false;
    }

    $email_user = $email_split[0];
    $email_host = $email_split[1];
    // Kijk of er MX-servers zijn, zo nee false
    if(!getmxrr($email_host, $var))
    {

        return false;
    }

    // Kijk of het usergedeelte okee is, zo nee false
    if(!preg_match("/^[0-9a-z]([-_.~]?[0-9a-z])*$/i", $email_user))
    {

        return false;
    }

    return true;
}



if($_SERVER['REQUEST_METHOD']=="POST") {
      if(checkemail($email) == TRUE)
      {

          if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
          {

              if($_POST['pass1'] != "") {
          
                $sql_select_pass = "SELECT password
                                    FROM leden
                                    WHERE id = '"
.$_COOKIE['id']."'
                                   "
;

                #  Check of query is gelukt    
                if (($result_select_pass = mysql_query($sql_select_pass)) === false)
                {

                    # als de query fout is -> foutafhandeling
                    echo showSQLError($sql_select_pass,mysql_error(),'Fout met het ophalen van de gebruiker.');
                }

                elseif (mysql_num_rows($result_select_pass) == 0)
                {

                    # De query is gelukt en we hebben net gekeken met _num_rows of er een rij is:
    
                    # -> Als er geen rij is echoën we hier:                

                    echo 'Er is geen lid met dit id!';
                }

                else
                {
                    $row_select_pass = mysql_fetch_assoc($result_select_pass);
                    if($row_select_pass['password'] == md5($_POST['pasnow']))
                    {

                      if($_POST['pass1'] == $_POST['pass2'])
                      {


                        $newpass = md5($_POST['pass1']);
                        $sql_update_pass = "UPDATE gebruikers
                                            SET email='"
.$_POST['email']."', wachtwoord='".$newpass."'
                                            WHERE id = '"
.$_COOKIE['id']."'
                                           "
;

                        if(!$res_update_pass = mysql_query($sql_update_pass))
                        {

                            trigger_error(mysql_error().'<br />In query: '.$sql_update_pass);
                        }

                        elseif(mysql_affected_rows() == 0)
                        {

                            echo 'Geen records gewijzigd. <br />Query: '.$sql_update_pass;
                        }

                        else
                        {
                            echo "Je e-mailadres is succesvol gewijzigd naar '".$_POST['email']."', en je wachtwoord is gewijzigd.<br />\n<a href=\"useropties.php\">&laquo; Ga terug</a>";
                        }
                      }

                      else
                      {
                         echo "De twee nieuwe wachtwoorden zijn niet hetzelfde. Probeer het opnieuw.<br />\n<a href=\"javascript:history.back()\">&laquo; Ga terug</a>";
                      }
                    }

                    else
                    {
                       echo "Het door jou opgegeven huidige wachtwoord is incorrect.<br />\n<a href=\"javascript:history.back()\">&laquo; Ga terug</a>";
                    }
                }

                else
                {
                   $sql_only_email = "UPDATE leden
                                      SET email='"
.$_POST['email']."'
                                      WHERE id='"
.$_SESSION['user_id']."'
                                     "
;
  
                   if(!$res_only_email = mysql_query($sql_only_email))
                   {

                         echo "Er is een fout opgetreden tijdens het bijwerken van je e-mailadres. Probeer het later nog eens.<br />\n<a href=\"javascript:history.back()\">&laquo; Ga terug</a>";
                   }

                   else
                   {
                       echo "Je e-mailadres is succesvol gewijzigd naar '".$_POST['email']."'.<br />\n<a href=\"useropties.php\">&laquo; Ga terug</a>"
                   }
                
          }

          else
          {
             echo "Je hebt een niet geldig emailadres opgegeven (lijkt niet op [email protected]).<br />\n<a href=\"javascript:history.back()\">&laquo; Ga terug</a>";
          }
      }

      else
      {
         echo "Je hebt een niet geldig emailadres opgegeven (lijkt niet op [email protected]).<br />\n<a href=\"javascript:history.back()\">&laquo; Ga terug</a>";
      }
}

else
{
 $sql_get_user = "SELECT username, email
                  FROM leden
                  WHERE id='"
.$_SESSION['user_id']."'
                 "
;

 if (($result_get_user = mysql_query($sql_get_user)) === false)
 {

     echo showSQLError($sql_get_user,mysql_error(),'Fout met het ophalen van de gebruiker.');
 }

 elseif (mysql_num_rows($result_get_user) == 0)
 {

     echo 'Geen informatie opgehaald!';
 }

 else
 {
     $row_user = mysql_fetch_assoc($result_get_user);
  ?>

 <form method="post" action="">
  <table>
   <tr>
    <td>E-mailadres:</td><td><input type="text" name="email" value="<? echo $row_user['username']?>" /></td>
   </tr>
   <tr>
    <td>Huidige wachtwoord:</td><td><input type="password" name="pasnow" /> <small>(alleen bij nieuw wachtwoord)</small></td>
   </tr>
   <tr>
    <td>Nieuw wachtwoord:</td><td><input type="password" name="pass1" /> <small>(leeglaten voor huidige)</small></td>
   </tr>
   <tr>
    <td>Herhaal:</td><td><input type="password" name="pass2" /></td>
   </tr>
   <tr>
    <td></td><td><input type="submit" name="submit" value="Opslaan" /></td>
   </tr>
  </table>
 </form>
 <?
}
}


?>


Beste, hier wat uitleg:
Het script is om gebruikers, hun wachtwoord en emailadres aan te passen.
Let niet op de layout van de html, die wordt nog in een divje gestoken enzovoort.

Ik heb ook nog niet op de veiligheid gelet: momenteel geen mysql_real_escape_string()

Probleem:
Ik krijg een error:
Parse error: syntax error, unexpected T_ELSE in /****/********/public_html/change.php on line 115

Ik heb al een uur er zitten aan werken, enzovoort.
Hopelijk weten jullie waar exact de fout zit.

Dem
 
PHP hulp

PHP hulp

28/03/2024 18:28:23
 
PHP Scripter

PHP Scripter

09/04/2012 19:59:20
Quote Anchor link
Je logica met de 'else' klopt niet. Kijk eens naar regel 78 en 115.
 
Pieter Jansen

Pieter Jansen

09/04/2012 20:00:43
Quote Anchor link
Je else {} is mis, om else te kunnen gebruiken moet er wel een IF zijn die er naartoe kan leiden. Dat is nu niet het geval, je hebt 2x een else {} achter elkaar.
 
 - Diov  -

- Diov -

10/04/2012 12:41:42
Quote Anchor link
Ik ga het script verwijderen en opnieuw schrijven.
 
Roel -

Roel -

11/04/2012 15:30:11
Quote Anchor link
Lijkt me verstandig. Regel 62 is trouwens ook onveilig, cookies kun je namelijk manipuleren, dus ook jouw query.
 
 - Diov  -

- Diov -

11/04/2012 15:47:51
Quote Anchor link
Is dit veiliger?
WHERE username = '".$get_userdata['username']."'

Of nog eens met mysql_real_escape_string()?
Alvast bedankt!
 
Gerhard l

gerhard l

11/04/2012 15:53:10
Quote Anchor link
Alle variabelen die je naar de database stuurt, kan je het beste beveiligen met mysql_real_escape_string().
 
Roel -

Roel -

11/04/2012 15:55:09
Quote Anchor link
Niet alles, integers hoeven bijvoorbeeld niet.

Toevoeging op 11/04/2012 15:55:23:

Als je zeker weet dat het een integer is tenminste.
 
Erwin H

Erwin H

11/04/2012 16:05:50
Quote Anchor link
En met die laatste kom je eigenlijk op de echte hamvraag: goed controleren, of beveiligen.
Persoonlijk ga ik liever voor het eerste, met het tweede als backup. Geen SQL injection krijgen is natuurlijk bijzonder belangrijk, maar dat wil nog niet zeggen dat ik allerlei troep in mijn database wil hebben. Ik wil bijvoorbeeld ook later niet script tags in de text op mijn site zien staan. Als je alleen maar beveiligt met mysql_real_escape_string, dan zorg je ervoor dat SQL injection niet meer mogelijk is, maar die tags komen later alsnog gewoon tevoorschijn.

Mijn mantra is dus eerder gewoon alle input uitgebreid controleren, filteren, typecasten indien nodig en bij echte hack pogingen dit ook registreren.
Gewijzigd op 11/04/2012 16:06:23 door Erwin H
 
 - Diov  -

- Diov -

11/04/2012 16:36:31
Quote Anchor link
Wat is het antwoord nu.

Moet ik er nog mysql_real_escape_string() rond zetten? of niet?
 
Obelix Idefix

Obelix Idefix

11/04/2012 18:14:34
Quote Anchor link
Waarom zou je het niet hoeven te doen?

Je plaatst met enige regelmaat topics en je zult ongetwijfeld ook de nodige lezen (hoop ik). Daar staat in dat je altijd de variabelen in je query moet beveiligen als ze van een gebruiker afkomstig zijn.
 



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.