goede middag, ik blijf een foutmelding: "Parse error: syntax error, unexpected '$search' (T_VARIABLE) in /storage/h2/162/591162/public_html/search.php on line 3" krijgen
het gaat om de volgende code, maar ik kan geen fouten bespeuren. iemand een idee wat het kan zijn?
(iedere tip/terugkoppeling is welkom, ik ben een beginner en wil heel graag leren!!)
Goede morgen Arien, ik heb het via een YouTube filmpje, ik wil proberen of ik een zoekmachine kan bouwen.
Via Google kwam ik op een filmpje. Als je een betere bron weet hoor ik het heel graag.
En uiteraard zou ik graag vernemen wat er verder fout is en waarom het fout is.
1) Allereerst gebruik je variabelen waarvan je niet zeker weet of ze bestaan. Om te beginnen met de $_GET variabelen. Als deze niet bestaan, en dus niet in de URL opgeroepen worden) zal dit een Notice-melding met 'Undefined index' teruggeven. Controleer daarom met [php]isset[/php] of de variabelen bestaan. Je kan ook meerdere variabelen in insset gebruiken:
<?php
if(isset($_GET['Zoeken'],$_GET['search'])}
// de variabelen bestaan!
} else {
// de variabelen bestaan niet, schotel de gebruiker een foutmelding voor!
}
?>
2) Variabelen overschrijven heeft weinig nut, en maak je applicatie onoverzichtelijker.
Waarom zou je $_GET['search'] in $search willen plaatsen? Is het makkelijker te typen? Nee, een goede editor heeft wel 'auto-complete' die de juiste variabelen wel aanvult.
3) Gebruik geen mysql_.....() functies meer. In PHP 7 zijn ze geschrapt en in PHP 5.5 worden ze al bestempeld als 'afgekeurd'. De nieuwe manier om acties op je MySQL/Maria-database uit te voeren is door MySQLi-functies te gebruiken, of PDO.
4) Inspringen van je code. Zoals je in mijn voorbeeld code kan zien is de code netjes ingesprongen, door middel van tabs. Zorg dat je met de TAB-knop elke if/for/while/function/class netjes inspringt, zodat je in een oogopslag kan zien welke statement bij welke accolade hoort.
Als ik 4 accolades zie die lijnrecht onder elkaar staan, dan ben ik benieuwd of je direct ziet bij welke statement of functie de derde accolade hoort.
Een goede editor springt bovendien al helemaal automatisch in.
4) Foutafhandeling op je queries. Ook queries kunnen fouten maken, of het nou een foute querie van jouw is, of een probleem in je database die mogelijk corrupt kan zijn. Zorg ervoor dat je fouten aangeeft. Bij voorkeur log je de fouten in een speciaal bestand, en vertel je de gebruiker dat er een technische storing in je site is.
Handig leesvoer: https://www.phphulp.nl/php/tutorial/data-verwerking/foutafhandeling-query-sql/735/
Let er wel op dat deze tutorial zich richt op de functies van MySQL i.p.v. MySQLi, dus je zult eerder even wat moeten inlezen op MySQLi.
Met andere woorden: Er is nog een hoop werk aan de winkel. Ikzelf raad CodeAcademy aan om PHP te leren, en niet zomaar een willekeurig YouTube-filmpje. Die code kan je niet makkelijk foutloos overnemen.