Fout: unexpected T_ELSE

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mendix Developer

For our client in Amsterdam, we are looking for a Senior Mendix Developer. Company description Our client is an IT Consultancy company who’s been active for 10 years now. With their ambitious team, they are working with different clients in order to help them with analyzing their data and giving advice to them, regarding how they can use their data in the smartest ways, or to make sure that their mobile or web applications are working efficiently. As you get a glimpse of various industries, it is guaranteed that no day will be the same. Job description As a Mendix

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 »

Oracle Apex developer

Bedrijfsomschrijving My client is a technology company based in Den Bosch, the Netherlands. They specialize in providing innovative software solutions to clients, and they are currently looking for an experienced Oracle Apex developer to join the IT team. Functieomschrijving As an Oracle Apex developer, you will be responsible for designing, developing, and maintaining web-based applications using Oracle Apex. You will work closely with project managers, business analysts, and other developers to ensure that clients' needs are met and that the software solutions are of the highest quality. Responsibilities: Design, develop, and maintain Oracle Apex applications. Work with project managers and

Bekijk vacature »

C# ontwikkelaar

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

Bekijk vacature »

Traineeship Java Developer

Functie Wat ga je doen als Java Developer? Jij start via ons bij deze opdrachtgever als Trainee Java ontwikkelaar, tijdens het traineeship ga je in 1 jaar van de basis naar professioneel Java ontwikkelaar. Je start samen met een groep trainees, volgt de aangeboden cursussen en gaat aan de slag bij één van onze opdrachtgevers. Na een aantal maanden volgt de volgende opdracht. Door de groei in jouw rol kom je op steeds complexere opdrachten terecht. Veel afwisseling dus. Collega’s met ervaring helpen je bij deze groei en samen met jouw coach ga je een persoonlijke leerplan opzetten om jou

Bekijk vacature »

Senior Front end developer Automotive Angular

Functie Als Senior Front end developer kom je te werken in een team van 11 developers. 9 van de 11 focussen zich op back end, welke is geschreven in Java, en 2 op de front end waarbij er gebruik wordt gemaakt van Typescript en Angular. De focus in deze rol ligt op 2 aspecten; doorontwikkeling van de eigen tooling en gebruik van de tooling t.b.v. klantprojecten. Momenteel zijn ze in de afrondende fase van een project waarbij ze het gehele verkoopproces van nieuwe auto’s anders ingeregeld hebben voor een grote dealer in Nederland. Waarbij Auto’s normaliter pas verkocht werden in

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

Scrum Master

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Scrum master op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je begeleidt twee teams binnen de afdeling Platform Services (PLS). Je helpt mee de devops manier van werken van de teams verder door te ontwikkelen. Je helpt de PO bij het managen van de product backlog; het voorbereiden van

Bekijk vacature »

NodeJS developer

Functie Als Fullstack developer kom je te werken in het ontwikkelteam. Je bent samen met je collega’s continu bezig om de software uit te breiden, maar hiernaast doe je onderzoek naar de inzet van nieuwe technieken, tools of bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Qua technische kennis zoeken ze iemand die goed op de hoogte is van de nieuwste ontwikkelingen, daar zij nu ontwikkelen op NodeJs back-end,

Bekijk vacature »

Lead Fullstack developer

Functie omschrijving Ben jij een leergierige en ambitieuze junior developer met technische skills? Ben jij op zoek naar een werkgever die jouw de volledige vrijheid geeft om jezelf tot een volwaardige senior te ontwikkelen? Wij zijn op zoek naar een full stack developer die zich bezig wil bezig houden met het uitbreiden en verbeteren van de online webshop. Een onderdeel van jouw werkzaamheden is naast het beheren van de webshop ook om de processen en structuren te stroomlijnen. Werkzaamheden Onderhouden van de webshop (denk aan het bijhouden van de voorraad); Nieuwe functies toevoegen aan de product configurator door middel van

Bekijk vacature »

Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: 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 Software Developer je verantwoordelijk voor: - Je werkt voortdurend aan oplossingen voor het op afstand bewaken en besturen van oogstmachines; - Het visualiseren van gegevens in rapporten, apps of andere formaten; - Voorspellend machineonderhoud; - Taakplanning; - Je schrijft aangepaste plug-ins om gegevens te importeren of exporteren

Bekijk vacature »

Traineeship ICT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

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 »

Back-end Developer

Functie omschrijving Als Back-end Developer heb je de eer om als eerste interne developer bij deze organisatie te beginnen. Op dit moment zijn er externe developers, maar daar wil de organisatie verandering in brengen. Op termijn moet de gehele afdeling uit intern personeel bestaan. Je kan je voorstellen dat de eerste interne developer ook de nodige kennis mee moet brengen. Dat klopt. Je gaat je namelijk aan het begin bekommeren over de externe developers en uiteindelijk over je interne collega's. Verder ga je het volgende doen: Het bedenken, beheren en onderhouden van webportalen, API-koppelingen en applicaties; Je bedenkt en werkt

Bekijk vacature »

Low-code developer

Functie omschrijving Heb jij altijd al een training willen volgen in het buitenland? Voor een leuke opdrachtgever in omgeving Alphen ad Rijn zijn wij op zoek naar kandidaten die aan de slag willen als Low Code Developer! Beschik jij over HBO/WO nivo, bij voorkeur Informatica, maar een ander technische opleiding zoals bijv. wiskunde, natuurkunde is ook goed. Heb jij aantoonbare affiniteit met IT en ben jij gedreven, enthousiast, communicatief vaardig en klantgericht? Lees dan snel verder! Je wordt getraind tot een volwaardig Low Code Developer, het traject ziet er als volgt uit: Start 1e week januari, opleiding van 3 weken

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

29/04/2024 12:07:53
 
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.