Fout: unexpected T_ELSE

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Backend Developer Integraties API HBO REST

Samengevat: Deze werkgever is een IT-consultancy. Wil jij werken als Backend Developer Integraties? Heb jij kennis van gangbare berichtformaten? Vaste baan: Backend Developer Integraties API HBO €3.100 - €4.400 Zij bieden innovatieve oplossingen die bedrijven efficiënter en wendbaarder maken, waardoor onze klanten zich net zo snel kunnen ontwikkelen als de business van hen vraagt. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke nieuwe trend. Onze systemen zijn groot en ingewikkeld. Hou jij van diepgang

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een leuke opdrachtgever in de omgeving van Hilversum! Voor een leuk bedrijf in de omgeving van Hilversum zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. Ben jij iemand die graag aan verschillende projecten werkt en het ook leuk vindt om bij klanten op bezoek te gaan? Dan ben jij de perfecte kandidaat! Deze functie is erg divers, je moet dus goed kunnen schakelen. Je komt te werken in een klein team van developers. Binnen het bedrijf hangt er een gemoedelijke informele

Bekijk vacature »

Anaplan Developer

Dit ga je doen What are you going to do: Picking up Stories: Design planning had, how are we going to build it in Anaplan; Talking to the end user to build a forecasting model; Having contact with the data team about which data is needed; Being able to convert an Excel sheet into a 3, 4 or 5 dimensional modeling environment; Giving knowledge sessions about Anaplan; Solving incidents; Making instructional videos on how teams should read forecasts; Writing blogs about forecasting. Hier ga je werken We are looking for an Anaplan Builder to deliver end-to-end solutions within a big

Bekijk vacature »

Senior .NET Ontwikkelaar

In het kort Als Senior .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag met complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek (denk aan ECT) en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar ontbreekt er aan passie en motivatie niks. Jij bent communicatief sterk en pakt iedere uitdaging dan ook met beide handen aan. Op projectbasis ga jij met je team of met enkele andere ontwikkelaars intern aan de slag bij diverse partners. Op basis van het project ga jij aan de slag en zijn de werkzaamheden en technieken erg divers. Jouw werkgever stelt jouw ontwikkeling hierin voorop, zo krijg je een vast vertrouwenspersoon die één keer in de maand op locatie van jouw project zal kijken hoe het gaat en of er eventuele aandachtspunten zijn. Daarnaast krijg

Bekijk vacature »

.NET Developer

Dit ga je doen Programmeren in .NET, Javascript & C# en ontwikkelen in Web Services, Windows Services en MS SQL Server; Zelfstandig verbanden maken Analyseren, testen, bugs fixen, reviewen en rapporteren; Juiste prioriteiten stellen en verantwoordelijkheid nemen; Op architectuur niveau meedenken; Af en toe klanten bezoeken. Hier ga je werken Voor onze relatie zijn wij opzoek naar een .NET ontwikkelaar met minimaal 3 jaar werkervaring. Je komt te werken in een groeiend bedrijf met betrokken collega's die zorgen voor een familiaire sfeer op de werkvloer. Als .NET ontwikkelaar word jij vanaf de eerste werkdag betrokken bij het gehele ontwikkelproces. De

Bekijk vacature »

Senior front end developer Digital Agency Amsterda

Functie Wij werken in multidisciplinaire teams aan verschillende projecten, echter blijf je niet gebonden aan 1 team. Dit houdt in dat wij verschillende specialisten in dienst hebben en deze door middel van een roulatiesysteem in multidisciplinaire teams laten werken. Het team bestaat vaak uit Frontend developer(s), Backend Developer(s), Designer(s), Tester(s) en Mobile Developer(s). Deze teams worden afgewisseld waardoor jij de mogelijkheid krijgt om met iedereen een keer samen te werken. Als Frontend Developer ben jij ónze Specialist op dit gebied. Jij werkt mee aan verschillende projecten voor verschillende klanten. Denk bijvoorbeeld aan klanten, zoals’; BAM, IDFA en Ultimaker. Hierbij zorg

Bekijk vacature »

.NET Developer Azure

Dit ga je doen Het ontwerpen en bouwen van diverse applicaties (C#, ASP.NET, MVC); Het ontwikkelen van Webservices (WCF); Het meewerken aan de transitie naar Azure; Het samenwerken met collega's binnen een Scrumteam en meedenken over de User Stories; Het bouwen van unittesten; Meedenken over nieuwe tooling, ontwikkelingen en technologieën in de markt. Hier ga je werken Je komt te werken bij een organisatie die verantwoordelijk is voor de ontwikkeling van verschillende portalen. Deze portalen worden gebruikt door diverse partijen en jouw taak is om ervoor te zorgen dat deze optimaal functioneren. Je wordt onderdeel van een Scrumteam en werkt

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een erkende werkgever in de regio van Goes zijn wij op zoek naar een enthousiaste software programmeur met PHP/Symfony ervaring. Een gedreven persoon die het development team komt versterken met het aanpakken van complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel professionele als persoonlijke groei? Lees dan snel verder! Dit ga je doen: Beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Testen en door ontwikkelen van software; Ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Front-end developer Supply Chain Angular, ReactJS,

Functie Het development team bestaat momenteel uit 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creëren van de optimale toegankelijkheid en user experience. Om dit voor elkaar te krijgen zul je ontwerpen, programmeren, testen en implementeren. Het hele proces dus! Maar ook bijvoorbeeld meedenken over strategie en design. Hierin krijg je veel vrijheid om de functie naar eigen inzicht in te vullen en te pionieren. Alle data die wordt gebruikt is zichtbaar in een webapplicatie, geschreven in Angular en React. Momenteel zijn ze bezig om de dashboards anders vorm te geven en de

Bekijk vacature »

Back end Node.js developer

Functie Het ontwikkelteam bestaat momenteel uit 5 (back-end) Developers, 2 systeembeheerders, 1 DevOps engineer, 1 Tech Lead en 2 Scrum Masters. Samen wordt er doorontwikkeld aan twee SaaS-platformen die in een hoog tempo doorontwikkeld moeten worden. Omdat innovatie een belangrijk speerpunt binnen de organisatie is, wordt er ook continu naar snellere en slimmere oplossingen te bedenken en realiseren. Als Back-end Developer hou jij je dagelijks bezig met vraagstukken zoals: API-development, high volume datastromen, het ontwikkelen van Bots aan de hand van A.I. Daarnaast denk en werk jij mee aan de onlineapplicaties voor klanten. Er wordt zelfstandig en in teamverband gewerkt

Bekijk vacature »

Back-end developer

Dit ga je doen Development d.m.v. XQuery, JSON/XML en REST API's; Ontwikkelen aan een tof en complex zorgplatform; Koppelingen maken met de NoSQL database; Testen en documenteren van de ontwikkelde functionaliteiten; Samenwerking met andere front- en back-end ontwikkelaars. Hier ga je werken Voor een vooruitstrevende organisatie binnen de zorg in Den Haag zijn wij opzoek naar een Back-end Developer die ervaring heeft met o.a.XQuery en Vue.JS of daarin graag zou willen ontwikkelen. Je zal ontwikkelen aan een tof en complex zorgplatform en koppelingen maken met de NoSQL database. Ook het testen en documenteren van de ontwikkelde functionaliteiten behoort tot jouw

Bekijk vacature »

Senior Mobile Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Senior Mobile Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

C# .NET Developer IoT SQL Server

Samengevat: Wij ontwikkelen innovatieve oplossingen om apparaten en bezittingen op een eenvoudige en flexibele manier te beveiligen. Ben jij een C# .NET developer? Heb jij ervaring met C# en SQL server? Vaste baan: C# .NET Developer IoT HBO €3.200 - €4.500 Deze werkgever is gespecialiseerd in hoogwaardige GSM/GPRS alarm- en telemetrietechnologie. Met een eigen productlijn en klantspecifieke ontwikkelingen biedt deze werkgever oplossingen om op afstand te meten, melden, loggen en aansturen, ook op plaatsen zonder stroomvoorziening. Onze producten worden gekarakteriseerd door flexibiliteit in de configuratie, betrouwbaarheid en een extreem laag stroomverbruik. Zij werken voor MKB klanten. Deze werkgever heeft veel

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

15/06/2025 11:36:45
 
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.