Fout: unexpected T_ELSE

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Infrastructure Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12945 Introductie Our client is one of the most innovative companies within the Netherlands. Currently we are looking for an Infrastructure Platform Engineer. Within this role you will be developing the infrastructure. Functieomschrijving Within this role you are responsible in the development of our distributed data and compute platform infrastructure. You will design, develop and implement new features and fixes. Next to this you will integrate and configurate other packages that supports the development of tuning applications within the organisation. You will support customer sites remotely. Design and implement the

Bekijk vacature »

Front end developer binnen het onderwijs

Functie Het doel van dit team is om te zorgen dat de studenten altijd op de hoogte zijn van relevante informatie en de mogelijkheid hebben om online vragen te stellen. Hiervoor hebben ze een portal ontwikkeld. De app is echt een greenfield project met een eigen inrichting middels cloud. De ontwikkeling wordt gedaan door gebruik te maken van oa. Javascript, React, CSS, Next.js, GraphQL in een Azure Cloud omgeving. Daarnaast gebruiken ze tooling als Figma, storybook, Jest en Github. De complexiteit in deze rol zit hem in het feit dat data uit verschillende bronsystemen komt waarbij er zowel gekoppeld wordt

Bekijk vacature »

Full Stack Java ontwikkelaar

Functieomschrijving Voor de politie zijn wij op zoek naar een Full stack Java ontwikkelaar. Als ervaren full stack Java ontwikkelaar binnen de gewenste deadlines meewerken aan de totstandkoming van de gewenste werkzaamheden. Taken Upgraden van GeoServer, SOLR, Oracle Spatial database, Tomcat Migreren Oracle Spatial naar PostgreSQL/PostGIS Migreren SOLR naar ElasticSearch Geografische gegevens op het interne netwerk beschikbaar maken Doorontwikkelen en actualiseren van de geografische services Het up to date brengen van de CI/CD pipeline, samen met medewerkers die verantwoordelijk zijn voor de CI/CD tooling Aanspreekbaar op de solution architectuur en stemt die met collega's in het cluster Geo De opdracht

Bekijk vacature »

Functioneel Applicatiebeheerder

Wij van CNB zijn op zoek naar een leergierige Functioneel Applicatiebeheerder CNB is de grootste dienstverlener in de markt van bloembollen en vaste planten. In deze markt verricht CNB de volgende diensten: bemiddeling, veilen en het koelen en prepareren van bloembollen. Vanuit ons hoofdkantoor in Lisse werken bijna 100 collega’s dag in dag uit aan de bemiddeling van bloembollen. In Bovenkarspel vindt het koelen en prepareren van de bloembollen plaats. Wij zijn op zoek naar een enthousiaste Functioneel Applicatiebeheerder die naast een applicatie, ook sfeer kan bouwen! Jij: Vindt het leuk om binnen een klein IT-team aan de slag te

Bekijk vacature »

Web Application Developer

Dit ga je doen Samen met het team werk je aan de visualisatie functionaliteiten en hoe dit gebruikt kan worden in een operationele setting; Het ontwerpen, ontwikkelen, onderhouden en leveren van support betreft het Warehouse Management Systeem en de bijbehorende web visualisaties; Je gebruikt hierbijde tools WebGL en ASP.net; Het meewerken in implementatieprojecten; Het leveren van Go-Live Support; Sparren met jouw Amerikaanse collega's. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Web Application Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »

.NET Developer C# VB

Samengevat: Deze werkgever is actief in software voor het matchen van vraag en aanbod van gebruikte auto-onderdelen. Ben jij een .NET Developer? Heb je ervaring met het ontwikkelen (REST) en integreren van webservices? Vaste baan: C# .NET Developer C# VB HBO €2.600 - €6.200 Wij ontwikkelen software om vraag en aanbod van onderdelen van personenauto's bij elkaar te brengen. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. De branche van dit bedrijf is Automotive. Functie: Voor de vacature als .NET Developer Dordrecht HBO ga je

Bekijk vacature »

Medior/senior front end developer React Sportsoftw

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 onze stack; 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

Bekijk vacature »

Machine Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Machine Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Machine Software Developer ben je verantwoordelijk voor: - Je ontwerpt, ontwikkelt en debugt software voor machinebesturingssystemen en complexe landbouwmachines; - Je stelt gebruikersinterfaces op (cabinedisplays); - Op termijn ga je softwareprojecten leiden voor specifieke machines; - Inclusief planning, documentatie en validatie; - Om specificaties te verifiëren

Bekijk vacature »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

Ontwikkelaar Centrale Monitoring

Ontwikkelaar centrale Monitoring Functieomschrijving Wil jij een bijdrage leveren aan het onderhoud, opzetten en ontwikkelingen van technologieën van SSC-ICT, een van de grootste ICT-dienstverleners van en voor de Rijksoverheid? Je komt als monitorspecialist te werken bij team Operations Management Services. Dit team werkt aan het stabiliseren en waarborgen van een betrouwbare monitoromgeving voor 7 ministeries. Jij begeleidt het implementatieproces van de te monitoren technologieën, onder andere via management packs, connectoren en API's. Je hebt hiervoor veel contact met interne en externe klanten, die hun wensen op het gebied van monitoring aan jou doorgeven. Je beoordeelt deze wensen en komt met

Bekijk vacature »

Full stack developer Python, React

Functie Jij als full stack developer komt binnen onze Technology afdeling te werken. Deze bestaat momenteel uit 15 man. De stack waarmee wij werken is voornamelijk Python, Javascript, React en GraphQL. Binnen deze afdeling wordt er met multidisciplinaire teams gewerkt aan verschillende projecten. Projecten duren vaak langer dan 3 maanden en je bent van begin tot eind vaak betrokken. Naast dat je als full stack ontwikkelaar aan de slag gaat ben je ook Consultant. Dit betekent dat je ook klantcontact hebt in je rol en werkshops geeft. De verhouding tussen deze werkzaamheden zijn ongeveer 70% development en 30% consultancy. Een

Bekijk vacature »

Database ontwikkelaar

Functieomschrijving Wil jij aan gave logistieke softwareprojecten werken en bij een uniek softwarebedrijf in de regio van Tilburg? Wacht niet langer en reageer snel op deze vacature. Als Database ontwikkelaar ga je aan de slag het schrijven van stored procedures en verder uitbouwen van de SQL database. Je werkt in een database team, met allemaal mensen die energie krijgen van software en techniek. Verder krijg je als taak: Optimaliseren en uitbouwen van de MS SQL databases die gebruikt worden; Optimaliseren van query's, waardoor er efficiënter gewerkt kan worden; Je werkt met de technieken T-SQL of PL/SQL; Bij interesse kan je

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 »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

OutSystems developer

Dit ga je doen Klanten adviseren over de mogelijkheden van OutSystems; OutSystems oplossingen ontwikkelen en implementeren; Stakeholdermanagement; Kennis en expertise up to date houden en delen met het team. Hier ga je werken Onze opdrachtgever, gevestigd in regio Amsterdam, is een innovatieve dienstverlener die zich richt op grote corporates in verschillende sectoren. Doordat je bij veel verschillende klanten aan de slag zal gaan is geen enkel project hetzelfde. De organisatie kenmerkt zich door hoge mate van professionaliteit en innovatieve oplossingen. In de rol van OutSystems developer zal jij verschillende grote klanten helpen om efficiënte OutSystems oplossingen te ontwikkelen en implementeren.

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

27/05/2026 09:44:20
 
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.