syntax error, unexpected '$_GET' (T_VARIABLE)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Ontwikkelaar Machinebouw

Wil jij een grote impact leveren in de efficiency van complexe machines? Lees dan snel deze vacature van software ontwikkelaar. Onze opdrachtgever levert systemen en lijnen aan de professionele vleesverwerkende industrie voor het op diervriendelijke wijze ontvangen van dieren en het efficiënt verwerken, transporteren, versnijden en inpakken van vlees-en bijproducten. Dierenwelzijn is bij hen één van de belangrijkste aspecten. Daarom dagen zij zich continu uit om voor de klanten de beste oplossing op dit gebied te bedenken, ontwerpen en bouwen. Met trots kunnen ze zeggen dat ze hierin een vooruitstrevende positie in de markt innemen. Dit doen ze erg goed

Bekijk vacature »

Medior/senior Front-end developer

Functie In deze functie houd jij je bezig met het ontwerpen, ontwikkelen en testen van software voor onze webapplicatie op Microsoft Azure. De applicatie biedt live rapportage van mobiele apparatuur op niveau. Denk daarbij aan bijvoorbeeld databoxen op voertuigen waarbij gedetailleerde informatie live wordt verwerkt (gladheidbestrijding), maar ook aan een smartphone van de gemeente (veelsoortige GPS-inspecties). Het ontwikkelteam werkt volgens Scrum en bestaat momenteel uit 3 back-end developers, 2 front-enders, 2 testers, en een functioneel ontwerper. Ze zijn op zoek naar iemand met ruime ervaring die echt kan sparren met de andere (senior) front-end developer. Hiernaast bouwen ze meer en

Bekijk vacature »

Front-end developer bij goed gevestigd bedrijf in

Bedrijfsomschrijving Voor deze goedgevestigde corporate organisatie ben ik op zoek naar een frontend developer. Het bedrijf is actief in de financiële secor en staat bekend als een ondernemende, progressieve en prettige werkgever waar werknemers voornamelijk lang blijven werken. Dit komt vooral door de vele interne doorgroei mogelijkheden; voor zowel persoonlijke ontwikkeling als mogelijkheden om door te groeien intern. Ze hebben fantastische arbeidsvoorwaarden en investeren veel in het personeel. De meeste van jouw nieuwe collega's werken drie dagen op kantoor en twee dagen remote. Voor jou behoort dit uiteraard ook tot de mogelijkheden. Functieomschrijving Als frontend developer zal je bezig gaan

Bekijk vacature »

React developer / Inhouse cloudplatform

Functie De functie: Als front-end developer kom je te werken naast 2 andere front-end/React developers, waaronder één senior. Een hele mooie kans dus om in korte tijd veel nieuwe kennis en ervaring op te doen. Ze hebben momenteel veel werk hierin en daarom willen ze het team graag uitbreiden. Het is van belang dat je, zeker gezien het vele thuiswerken, in ieder geval al een aantal projecten hebt gedaan in React. Taken waar je aan kunt denken zijn het ontwikkelen van client-applicaties o.b.v. HTML5, React en andere open standaarden. Ook ben je nauw betrokken bij het implementeren van designs o.b.v.

Bekijk vacature »

Traineeship ICT

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 »

Junior/medior PHP developer

Functie Momenteel zijn ze op zoek naar een PHP developer die in teamverband aan de slag gaat voor zowel het huidige platform, als hun nieuwe versie. Ze zijn namelijk al enige tijd druk bezig met de ontwikkeling van een (technisch) nieuw platform die het bestaande volledig zal vervangen. Ze maken gebruik van de nieuwste technologieën zoals Microservices, CI/CD pipelines en Symfony als PHP framework. In de front-end hebben ze gekozen voor o.a. React en TypeScript. Voor een nieuwe collega vinden ze het van belang dat je enthousiast bent om hiermee aan de slag te gaan, en natuurlijk is kennis en

Bekijk vacature »

Medior Java developer (backend)

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 »

Senior PHP developer (Symfony)

Functie Als PHP developer draag je bij aan het verbeteren van de applicaties. Samen met je team bedenk je nieuwe functionaliteiten, en ga je deze ook daadwerkelijk bouwen. Je team meestal uit een aantal developers, UX/UI designer, wiskundigen en consultants. Je prioriteert je werk met je team en de product owner. Er hierin is er (bijna) altijd ruimte voor goede ideeën, en budget. Ook voorzie je collega’s continu van feedback, net zoals zij dat voor jou doen! Eisen • Je hebt brede theoretische kennis van software development • Je bent bedreven in PHP, Symfony en SQL • Je bent niet

Bekijk vacature »

PHP developer gezocht - Applicaties met maatschapp

Functie Momenteel zijn ze op zoek naar een medior of senior PHP developer. Je komt terecht in het productteam dat werkt aan de hierboven omschreven applicatie. Je werkt aan zowel bestaande als nieuwe software en hierin hebben zij codestandaarden echt hoog in het vaandel staan. Als je iets doet, dat mag je het ook direct compleet refactoren naar de huidige maatstaven. Het IT-team is momenteel verdeeld over 3 teams, met zo’n 5 collega’s per team. Ook in dit productteam zul je nauw samenwerken met bijvoorbeeld hun UX-designer, back- en front-end development collega’s. Naast hands-on programmeren liggen er verschillende kansen om

Bekijk vacature »

Salesforce Developer

As a Salesforce developer at Coolblue you ensure that our CRM gets a little better every day. How do I become a Salesforce Developer at Coolblue? As a Senior Salesforce developer, your day is very varied. You work on a new API, a small change in the hierarchy and two workflow adjustments. You immediately notice that a small piece of custom code is needed for one of the changes. You are also working on the implementation of a new VOIP integration in Salesforce. Because you like to move fast, you think that by making small adjustments, the application can go

Bekijk vacature »

Medior Java developer (backend)

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 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 Java developer (backend)

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 »

Vendor Manager IT

Your contribution to TenneT In this role you are responsible for the utilization of the contracts with our strategic vendors and work towards a transparency and partnership. This will be a joined effort with the service managers and the leadership team of the unit Basic IT. Main activities are: End to end responsible for IT Services , both in the Netherlands and Germany, required to deliver IT Services in scope. You are able to develop/use an SLA and KPI structure that will allow you to optimally deliver these services. You are the first point of contact for the business owner

Bekijk vacature »

Medior/senior Front-end developer

Functie Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden gebouwd, of grote complexe wijzigingen worden doorgevoerd op bestaande omgevingen. Je kunt (afhankelijk van jouw wensen en doelen) dus afwisselend werken in beide teams. Hiernaast participeer je in het Chapter Front-end development waar gezamenlijk kennis en ervaring wordt gedeeld. Als Front-end developer is het jouw doel

Bekijk vacature »
Mohamed nvt

Mohamed nvt

17/08/2016 12:41:14
Quote Anchor link
Hallo allemaal,

Momenteel ben ik bezig met een master/detail page.
Uit de DB haal ik enkele info op zoals naam, productie en verloop datum op.
Van deze naam heb ik een link gemaakt. En wanneer ik klik op naam, wil ik meer gegevens uit DB halen die daarbij horen. Helaas ben ik hiermee 2 dagen mee bezig en het lukt me niet om het op te lossen. Ikzelf heb het idee dat het een syntax issue is, maar ik kom er niet uit.

Hopelijk kan iemand mij voorzien van een waardevolle feedback.

Tnx!

Index.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$query2
= "SELECT * FROM medicines";
$result2 = mysqli_query($connection,$query2);
?>

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
<?php
echo "<table width='70%' border='solid 1px'>";
echo "<tr><th>Name</th><th>Production_Date</th><th>Expire_Date</th><th>Edit</th><th>Delete</th></tr>";
while ($row2 = mysqli_fetch_assoc($result2)){
        $medicine_id = $row2['med_id'];
        $medicine_name = $row2['med_name'];
        $medicine_create_date = $row2['med_create_date'];
        $medicine_expire_date = $row2['med_expire_date'];
        echo "<tr>";
        echo "<td><a href='med_detail.php?id={$medicine_name}'>{$medicine_name}</a></td>" .
             "<td>{$medicine_create_date}</td>" .
             "<td>{$medicine_expire_date}</td>" .
             "<td><a href='edit.php?id={$medicine_id}'>Edit</a></td>" .
             "<td><a href='delete.php?id={$medicine_id}'>Delete</a></td>";
        echo "</tr>";
        }



echo "</table>";
?>


detail pagina
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 include "includes/db-config.php"; ?>
<?php
if(isset($_GET['$medicine_name'])){
    
    $_GET['$medicine_name'];
    
    
}


$query = "SELECT * from categories";
$result = mysqli_query($connection,$query);

$query3 = "SELECT * FROM medicines ";
$query3 .="WHERE ID="$_GET['$medicine_name']" ";
$result3 = mysqli_query($connection,$query3);
?>

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
<?php
echo "<table width='70%' border='solid 1px'>";
echo "<tr><th>Name</th><th>Production_Date</th><th>Expire_Date</th><th>Created by factory</th><th>Added to database</th><th>Edit</th><th>Delete</th></tr>";
while ($row2 = mysqli_fetch_assoc($result3)){
        $medicine_id = $row2['med_id'];
        $medicine_name = $row2['med_name'];
        $medicine_create_date = $row2['med_create_date'];
        $medicine_expire_date = $row2['med_expire_date'];
        $medicine_factory = $row2['med_factory_id'];
        $medicine_register_date = $row2['med_register_date'];
        
        echo "<tr>";
        echo "<td>{$medicine_name}</td>" .
             "<td>{$medicine_create_date}</td>" .
             "<td>{$medicine_expire_date}</td>" .
             "<td>{$medicine_factory}</td>" .
             "<td>{$medicine_register_date}</td>" .
             "<td><a href='edit.php?id={$medicine_id}'>Edit</a></td>" .
             "<td><a href='delete.php?id={$medicine_id}'>Delete</a></td>";
        echo "</tr>";
        }

echo "</table>";
?>
 
PHP hulp

PHP hulp

01/10/2022 13:18:28
 
- SanThe -

- SanThe -

17/08/2016 13:20:21
Quote Anchor link
Waarom al die extra variabelen aanmaken?
HTML gebruikt dubbele quotes (").
Hou vars buiten de php-quotes.
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
<?php
echo '<table width="70%" border="solid 1px">';
echo '<tr><th>Name</th><th>Production_Date</th><th>Expire_Date</th><th>Edit</th><th>Delete</th></tr>';
while ($row2 = mysqli_fetch_assoc($result2))
{

    echo '<tr>';
        echo'<td><a href="med_detail.php?id='.$row2['med_id'].'">'.$row2['med_name'].'</a></td>' .
            '<td>'.$row2['med_create_date'].'</td>' .
            '<td>'.$row2['med_expire_date'].'</td>' .
            '<td><a href="edit.php?id='.$row2['med_id'].'">Edit</a></td>' .
            '<td><a href="delete.php?id='.$row2['med_id'].'">Delete</a></td>';
    echo '</tr>';
}

echo '</table>';
?>

Ik heb bij de eerste <a> ook het id gebruikt, waar jij de name gebruikte.
Gewijzigd op 17/08/2016 13:22:16 door - SanThe -
 
Dennis WhoCares

Dennis WhoCares

17/08/2016 13:23:48
Quote Anchor link
SanThe, het grootste probleem is dat Mohamed de GET waarde gebruikt met de naam, medicine_name, maar heeft toegewezen aan, id.
Daarbij probeert hij deze aan te roepen, zonder er iets mee te doen. (toewijzen, echo,of wat dan ook)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
if(isset($_GET['$medicine_name'])){
    $_GET['$medicine_name'];
}

Dit hierboven doet niks, en zorgt voor de foutmelding.

Verbetering hieronder.

detail pagina:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php include "includes/db-config.php";

if(isset($_GET['id'])){
   $query = "SELECT * from categories";
   $result = mysqli_query($connection,$query);

   $query3 = "SELECT * FROM medicines ";
   $query3 .="WHERE ID="$_GET['id']" ";
   $result3 = mysqli_query($connection,$query3);
}
else {
    echo 'Geen medicijn gekozen.';
}

?>


In het overzicht tabel noem je:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<td><a href='med_detail.php?id={$medicine_name}'>{$medicine_name}</a>

Dus je gaat naar med_detail.php?id=medicijn_naam
De _GET is dan ['id']
Gewijzigd op 17/08/2016 13:30:48 door Dennis WhoCares
 
Thomas van den Heuvel

Thomas van den Heuvel

17/08/2016 14:23:23
Quote Anchor link
Waarom uberhaupt statische HTML echo'en? Dit voegt niets toe en vertroebelt enkel de leesbaarheid.

Je kunt PHP blokken openen en sluiten waar je wilt.

Vergelijk:
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
<?php
echo "<table width='70%' border='solid 1px'>";
echo "<tr><th>Name</th><th>Production_Date</th><th>Expire_Date</th><th>Created by factory</th><th>Added to database</th><th>Edit</th><th>Delete</th></tr>";
while ($row2 = mysqli_fetch_assoc($result3)){
        $medicine_id = $row2['med_id'];
        $medicine_name = $row2['med_name'];
        $medicine_create_date = $row2['med_create_date'];
        $medicine_expire_date = $row2['med_expire_date'];
        $medicine_factory = $row2['med_factory_id'];
        $medicine_register_date = $row2['med_register_date'];
        
        echo "<tr>";
        echo "<td>{$medicine_name}</td>" .
             "<td>{$medicine_create_date}</td>" .
             "<td>{$medicine_expire_date}</td>" .
             "<td>{$medicine_factory}</td>" .
             "<td>{$medicine_register_date}</td>" .
             "<td><a href='edit.php?id={$medicine_id}'>Edit</a></td>" .
             "<td><a href='delete.php?id={$medicine_id}'>Delete</a></td>";
        echo "</tr>";
        }

echo "</table>";
?>


Met:
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
<table style="width: 70%; border: 1px solid;">
    <tr>
        <th>Name</th>
        <th>Production Date</th>
        <th>Expire Date</th>
        <th>Created by Factory</th>
        <th>Added to Database</th>
        <th>Edit</th>
        <th>Delete</th>
    </tr><?php
    while ($row = mysqli_fetch_assoc($result)) {
        ?>
<tr>
            <td><?php echo $row['med_name'] ?></td>
            <td><?php echo $row['med_create_date'] ?></td>
            <td><?php echo $row['med_expire_date'] ?></td>
            <td><?php echo $row['med_factory_id'] ?></td>
            <td><?php echo $row['med_register_date'] ?></td>
            <td><a href="edit.php?id=<?php echo $row['med_id'] ?>">Edit</a></td>
            <td><a href="delete.php?id=<?php echo $row['med_id'] ?>">Delete</a></td>
        </tr><?php
    }
?>
</table>

Daarnaast doe je er misschien verstandig aan om je output te escapen, zowel in queries (middels een real_escape() functie) alsook in je HTML (via htmlspecialchars()).

En wat @Dennis zegt: je hebt weinig aan een doorgegeven medicijnnaam als je verder alles op grond van id doet.
 
Mohamed nvt

Mohamed nvt

17/08/2016 14:46:22
Quote Anchor link
Hallo allemaal,

Bedankt voor jullie snelle reacties.
Ik heb deels jullie verbeteringen aangebracht, helaas krijg ik nog steeds dezelfde foutmelding, nl:
Parse error: syntax error, unexpected '$_GET' (T_VARIABLE) in D:\xampp\htdocs\inventory_test\med_detail.php on line 5


index.php: gewijzigde code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo "<td><a href='med_detail.php?id={$medicine_id}'>{$medicine_name}</a></td>"
?>


Tussen haakjes gebruik ik juist variabelen, omdat ik het makkelijker vindt met alle die syntaxis.

med_detail.php: Code wat bij lijn 5 hoort is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if(isset($_GET['id'])){
    $query3 = "SELECT * FROM medicines ";
    $query3 .="WHERE ID="$_GET['id']" ";
    $result3 = mysqli_query($connection,$query3);    
}
else {
    echo "No medicine has been chosen";
}

?>


@Dennis, je hebt gelijk wat het betreft security in de code.
Wanneer de kern van de code werkt, dan ga ik security als stap 2 aanpakken

Toevoeging op 17/08/2016 15:09:41:

Update;
Mijn probleem heb ik opgelost door de output van $_GET['id']; later toe te kennen aan een variabele.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if(isset($_GET['id'])){
    
    $id = $_GET['id'];
    $query3 = "SELECT * FROM medicines ";
    $query3 .="WHERE ID=$id";
    //$query3 .="WHERE ID=" $_GET['id']" ";
    $result3 = mysqli_query($connection,$query3);    
?>


Helaas heb ik nu een andere foutmelding en dat is:

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in D:\xampp\htdocs\inventory_test\med_detail.php on line 21

Ik ga nog even verder zoeken.
Wanneer ik een update heb, zal ik het hier plaatsen.
tnx!


Toevoeging op 17/08/2016 15:26:36:

Update:

Het tweede probleem heb ik nu ook opgelost:
Door de query te controleren of het gelukt is of niet :-)

vernieuwde code:
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
<?php
if(isset($_GET['id'])){
    
    $id = $_GET['id'];
    $query3 = "SELECT * FROM medicines ";
    $query3 .="WHERE med_id=$id";
    $result3 = mysqli_query($connection,$query3);    
}
else {
    echo "No medicine has been chosen";
}

if($result3 === false){
    die (mysqli_error($connection));    
}

?>

Bedankt allemaal voor het meedenken!
 
Dennis WhoCares

Dennis WhoCares

17/08/2016 15:46:32
Quote Anchor link
Hi Mohammed,

goed dat het opgelost is :)

Kijk eens goed naar deze 2 regels:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$query3 .="WHERE ID="$_GET['id']" ";
---
$query3 .="WHERE med_id=$id";

Zoek de verschillen, en je zult zien waarom de 2e regel wel werkt ;-)
Tip, let op je quotes
 
- Ariën  -
Beheerder

- Ariën -

17/08/2016 15:47:41
Quote Anchor link
Variabelen overschrijven is nergens voor nodig, en het zorgt zelfs voor verwarring.
Tevens kloppen je quotes niet, en mist er goede beveiliging m.b.v. escaping in je query. ZOnder dit ben je heel vatbaar voor SQL-injection wat veel gebruikt wordt bij hacking.

Ik heb de code even verbeterd.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if(isset($_GET['id'])){
    $query3 = "SELECT * FROM medicines WHERE ID='".mysqli_real_escape_string($connection, $_GET['id'])."'";
    $result3 = mysqli_query($connection,$query3);    
?>


Een tipje: Vermijd nummers in je variabelen. Weet jij straks nog wat $query3 doet? Geen gewoon een duidelijke naam die aangeeft wat je ophaalt.
 



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.