echo probleempje

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Developer Betty Blocks Blauwe Haven Rotterd

Functieomschrijving Voor de Politie zijn wij opzoek naar een Senior Developer Betty Blocks Blauwe Haven Rotterdam. De politieorganisatie heeft jaarlijks te maken met een aanzienlijk aantal politiemedewerkers die vanwege mentale overbelasting niet of beperkt inzetbaar zijn. De Blauwe Haven Rotterdam ondersteunt deze politiemedewerkers in hun herstel en re-integratieproces. De huidige digitale systemen van de Politie bieden onvoldoende ondersteuning in het herstel- en re-integratieproces van politiemedewerkers. Zowel voor de politiemedewerkers als voor de organisatie. Politiemedewerkers worden buitengesloten, waardoor zij eigen regie verliezen. Begeleiders kunnen de voortgang van de medewerkers niet goed monitoren. Management beschikt niet over de mogelijkheid trends te signaleren

Bekijk vacature »

Front-end Developer

Functie omschrijving Gezocht front-end developer! Voor een toffe organisatie in de regio Rhenen zij wij op zoek naar een front-end developer die de eindverantwoordelijkheid op zich neemt van alles wat met design te maken heeft. In deze functie heb je een adviserende rol en beschik je over een grote dosis vakinhoudelijke kennis. Samen met collega’s en klanten overleg je om aangeleverde designs om te zetten naar unieke concepten. Zo draag jij je steentje bij aan de groeiambities van de klant. Voor klanten wordt jij het vaste aanspreekpunt als het gaat over planningen hierin houdt je alle betrokkenen goed op de

Bekijk vacature »

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Lead React Developer

Dit ga je doen Als Lead React Developer zul jij je voornamelijk gaan bezighouden met: Het werken aan tal van uiteenlopende projecten waar gloednieuwe (web)applicaties van scratch af aan ontwikkeld worden met o.a. React (Native) en Drupal; Het aansturen van een team bestaande uit 5-6 talentvolle en gedreven ontwikkelaars; Het adviseren en meedenken over nieuwe (technische) oplossingen en te gebruiken tools/frameworks; Het meedenken over de architectuur en de juiste implementatiebeslissingen maken; De doorontwikkeling van huidige applicaties. Hier ga je werken Als je inderdaad een ervaren Lead React Developer bent die zichzelf graag nog verder wil ontwikkelen dan is het goed

Bekijk vacature »

(Junior) PHP Ontwikkelaar bij een retail bedrijf i

Bedrijfsomschrijving Ben jij een ervaren PHP ontwikkelaar met een passie voor retail en ICT? Wil jij werken in een team dat zich bezighoudt met het ontwikkelen van uitdagende applicaties voor een groot retailbedrijf in Delft? Dan zijn zij op zoek naar jou! Functieomschrijving Als PHP Ontwikkelaar werk je in een team aan de ontwikkeling van applicaties die door de gehele organisatie worden gebruikt. Je bent verantwoordelijk voor het ontwikkelen, testen en implementeren van deze applicaties. Je werkt hierbij nauw samen met andere ontwikkelaars, projectmanagers en stakeholders binnen de organisatie. Je taken bestaan onder andere uit: Ontwikkelen van nieuwe functionaliteiten en

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 »

Dynamics Ontwikkelaar

Dit ga je doen Ontwikkelen van Dynamics 365 voor de interne uitrol; Samen met de consultants sparren met klanten over de wensen en eisen; Ontwikkelen van Dynamics 365 voor verschillende grote klanten; Technische analyse en testen; Meedenken over het gebruik en de richting van Dynamics binnen de organisatie. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Backend Developer PHP Laravel SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Backend Guild. Hier ga je werken Voor een snel groeiend bedrijf, in de regio Nieuw Vennep, zijn wij opzoek naar een ervaren Backend Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een

Bekijk vacature »

Frontend Developer

Functieomschrijving Voor de NIPV zijn wij opzoek naar een Frontend Developer. Als Frontend Developer ga jij aan de slag om dashboards te bouwen vanuit het datawarehouse. Dit stelt NIPV in staat om snel en eenvoudig bij correcte bedrijfsvoeringsinformatie te kunnen. Je ontwikkelt dashboards in PowerBI, publiceert en onderhoud die, verzameld en verwerkt feedback in overleg met het ontwikkelteam. Naast dashboards ontwikkel en onderhoud je een datamodel in Excel waarmee adviseurs, controllers en analisten in staat worden gesteld om de gegevens uit de dashboards te raadplegen en anders te filteren of bepaalde gegevens nader te verfijnen, zodat verdiepende vragen kunnen worden

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Voor een opdrachtgever in omgeving Moordrecht zijn wij op zoek naar een programmeur. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op

Bekijk vacature »

Database Developer

Functieomschrijving Wat ga je doen? Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te voeren, maar het is ook prettig als je in de omgeving van Tilburg woont om naar het kantoor te kunnen komen. Vind jij het leuk om jouw creatieve vaardigheden te benutten om complexe systemen te ontwikkelen? Lees dan snel verder! Bedrijfsprofiel Voor wie

Bekijk vacature »

SQL beheerder / ontwikkelaar

Functie omschrijving Voor een klant in omgeving Tiel zijn wij op zoek naar een SQL beheerder met affiniteit met technisch applicatiebeheer. Je krijgt een fijne in-house werkplek waar je gaat werken aan diverse projecten. Dit bedrijf doet het beheer van databases voor een aantal bancaire klanten. Op dit momenten hebben zij ruim 1500 databases in beheer. Jouw werkzaamheden gaan er als volgt uit zien: Je gaat de development afdeling ondersteunen bij het ontwikkelen van MS SQL Scripts. Je zal zowel zelfstandig als in teamverband MS SQL databases installeren & beheren. Je monitort en onderzoekt incidenten en de achterliggende oorzaken. Je

Bekijk vacature »

Medior/senior Fullstack developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »
Marc O

Marc O

25/11/2018 23:48:53
Quote Anchor link
Hoi,

ik ben nieuw hier en en absolute php-beginner. 15 Jaar geleden ooit een korte php-introductie gevolgd maar die kennis is ver weg gezakt.

Ik heb nu toch weer een klusje en vind het best aardig om er weer mee bezig te zijn maar loop natuurlijk meteen tegen een hoop problemen aan, bijvoorbeeld dit:

Ik haal uit een database gegevens op en ga die vervolgens via echo in een via tabel laten zien. Daarbij wil ik aan het eind van iedere regel van de tabel ($row) een knop maken die het mogelijk maakt om via een andere pagina het record te wijzigen. Ik heb al van alles geprobeerd maar het lukt mij niet om de waarde in het formulier mee te geven die gewijzigd moet worden: Deze code gebruik ik nu (die dus misloopt op:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="text" name="naam" value="'<?php echo $row['achternaam']; ?>'">  


De hele code van die echo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<tr><td>'.$row['achternaam'].'</td><td>'.$row['contracttype'].'</td><td>'.$row['registratiedatum'].'</td>'.'<td>'.date('Y-m-d').'</td>'.'<td>'.$afgerond.'&nbsp;'.'weken'.'</td><td>'.$adres.'</td><td>'.$herinnering.'<td><form action="wijzig.php" method="post"><input type="text" name="naam" value="'[code]<?php echo $row['achternaam']; ?>
'"><input type="submit" name="wijzig" value="Wijzig"></form></td></tr>';
?>


iemand een idee hoe ik dat correct opneem?

Alvast heel hartelijke dank,
Marc

Edit:
Code-tag geplaatst. Lees ook de Veelgestelde Vragen waarin de opmaak-codes uitgelegd worden.
Gewijzigd op 26/11/2018 01:11:06 door - Ariën -
 
PHP hulp

PHP hulp

26/04/2024 07:53:57
 
Thomas van den Heuvel

Thomas van den Heuvel

26/11/2018 00:06:37
Quote Anchor link
Een aantal pointers die je in de goede richting zouden moeten sturen:

* de records zouden ook makkelijk te identificeren moeten zijn, dit wordt vaak bereikt door een auto-increment id mee te geven aan een tabel. vervolgens geef je dit item mee aan de form action, bijvoorbeeld: edit.php?id=5. Zo weet je direct over welk record het gaat.

* PHP-blokken kun je te allen tijde openen en weer sluiten. Persoonlijk -hier verschillen de meningen wel over- vind ik het handiger als de statische delen buiten PHP-blokken vallen, en de dynamische delen in PHP-blokken zitten. Zo heb je ook -in het algemeen- een goede tweedeling tussen statisch en dynamisch. Dit is in ieder geval een stuk beter leesbaar dan een hele hoop echo's, enkele quotes en dubbele quotes.

* de data in de formuliervelden kunnen mogelijk HTML bevatten. Deze moeten vervolgens niet ook als HTML geinterpreteerd kunnen worden lijkt mij. Daartoe is het zaak dat je deze data van de mogelijk speciale betekenis binnen HTML stript. Dit doe je met functies als htmlspecialchars().

Escaping-functionaliteit is wel (sterk) afhankelijk van de gebruikte character encoding, dus hier zul je bewust mee moeten omgaan, maar dat is sowieso al nodig om data goed de database in te krijgen en er weer correct uit te halen. Als shorthand zou je hier een functie voor kunnen introduceren, bijvoorbeeld als volgt (aangenomen dat je overal UTF-8 gebruikt):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
function escape($in) {
    return htmlspecialchars($in, ENT_QUOTES, 'UTF-8');
}

?>

En vervolgens wordt je HTML zoiets als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<form action="wijzig.php?id=<?php echo escape($row['id']); ?>" method="post" accept-charset="UTF-8">
<input type="text" name="naam" value="<?php echo escape($row['achternaam']); ?>">
<input type="submit" name="wijzig" value="Wijzig">
</form>
Gewijzigd op 26/11/2018 00:11:56 door Thomas van den Heuvel
 
Ozzie PHP

Ozzie PHP

26/11/2018 01:54:07
Quote Anchor link
Maak van dit stukje:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="text" name="naam" value="'<?php echo $row['achternaam']; ?>'">

Dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="text" name="naam" value="' . $row['achternaam'] . '">
Gewijzigd op 26/11/2018 01:55:41 door Ozzie PHP
 
Marc O

Marc O

26/11/2018 13:30:19
Quote Anchor link
@Thomas van den Heuvel: bedankt voor je tips! Ik heb in de databasetabel inderdaad een id toegevoegd dus dat kan ik handig gebruiken. Deze zin zegt mij nog niet zoveel: "Escaping-functionaliteit is wel (sterk) afhankelijk van de gebruikte character encoding,". Maar ik leer snel bij :-). De code die je voorstelt werkt (nog) niet.

@Ozzie: ja, dat werkt. Ik had dit al eerder geprobeerd maar dan zonder die punten en die maken het verschil!
 
Thomas van den Heuvel

Thomas van den Heuvel

26/11/2018 16:10:06
Quote Anchor link
Marc O op 26/11/2018 13:30:19:
Deze zin zegt mij nog niet zoveel: "Escaping-functionaliteit is wel (sterk) afhankelijk van de gebruikte character encoding,".

In een ander draadje (interne link) komt character encoding weer ter sprake. Wat je hiervan mee moet nemen is dat alle tekst een character encoding heeft. Dit wil zeggen dat de grafische karakters (letters en andere symbolen) een bepaalde codering op byte-niveau (in het geheugen) hebben.

Het "escapen" van een passage is het ontdoen van de mogelijk speciale betekenis die de passage heeft binnen de gebruikte context. Dat klinkt misschien wat abstract. Beschouw de PHP-string "<hr>". Als je deze weergeeft in een HTML-document, dan wordt niet de tekst "<hr>" weergegeven, maar een horizontale lijn. Dit komt omdat het geheel "<hr>" een speciale betekenis heeft in HTML - dit is een zogenaamde horizontal rule tag. Een functie als htmlspecialchars() zorgt ervoor dat karakters die een speciale betekenis hebben binnen de HTML-context worden omgezet (of "onschadelijk" worden gemaakt zeg maar) naar een variant die geen speciale betekenis heeft in HTML. Zo zal een openingshaak (het kleiner-dan teken <) worden omgezet naar zijn entiteit (&lt;) en op een zelfde wijze wordt een sluitingshaak (het groter-dan teken >) ook omgezet naar zijn entiteit (&gt;). htmlspecialchars() zorgt dus dat effectief <hr> wordt omgezet naar &lt;hr&gt;, wat in een HTML-document weer wordt weergegeven als (letterlijk) <hr> (dit omdat &lt; de HTML-entiteit is voor <, en &gt; die van >).

Maar om die symbolen dus goed op te kunnen pikken moet je dus weten hoe deze in het geheugen geëncodeerd zijn, daarom is het belangrijk dat je dus de character encoding vastlegt, en ook liefst overal hetzelfde houdt.

Op eenzelfde wijze heb je escaping in de SQL-context (met functies als real_escape_string()). En dit is dan om te voorkomen dat DATA enige speciale betekenis binnen je SQL heeft, met alle mogelijk rampzalige gevolgen van dien, zoals bijvoorbeeld SQL-injectie.

Als je dus netjes en veilig wilt omspringen met content en databases heb je dus wel een zekere minimale set van voorzieningen nodig om ervoor te zorgen dat dit ook echt werkt. Je bewust zijn van zaken als "character encoding", "output escaping" enzo lijken mij een minimale vereiste.

Of je maakt gebruik van een aanpak waarin je gewoon begint en het schip op den duur strandt (interne link) zonder dat je precies weet wat er misgaat... Your choice.

Marc O op 26/11/2018 13:30:19:
De code die je voorstelt werkt (nog) niet.

In de snippet HTML + PHP wordt de functie "escape()" gebruikt - deze staat in de eerdere snippet gedefinieerd. Deze functie zul je dus ergens in je code moeten opnemen (declareren) voordat je deze kunt gebruiken (aanroepen).

Als dat nog steeds niet werkt zul je wat verder moeten uitweiden over wat er precies niet werkt :).
Gewijzigd op 26/11/2018 16:27:37 door Thomas van den Heuvel
 
Marc O

Marc O

27/11/2018 21:51:20
Quote Anchor link
Quote:
Als je dus netjes en veilig wilt omspringen met content en databases heb je dus wel een zekere minimale set van voorzieningen nodig om ervoor te zorgen dat dit ook echt werkt. Je bewust zijn van zaken als "character encoding", "output escaping" enzo lijken mij een minimale vereiste.

Of je maakt gebruik van een aanpak waarin je gewoon begint en het schip op den duur strandt (interne link) zonder dat je precies weet wat er misgaat... Your choice.


Dank voor je uitleg! Het heeft mijn onverdeelde aandacht :-)

Marc O op 26/11/2018 13:30:19:
De code die je voorstelt werkt (nog) niet.

Quote:
In de snippet HTML + PHP wordt de functie "escape()" gebruikt - deze staat in de eerdere snippet gedefinieerd. Deze functie zul je dus ergens in je code moeten opnemen (declareren) voordat je deze kunt gebruiken (aanroepen).

Als dat nog steeds niet werkt zul je wat verder moeten uitweiden over wat er precies niet werkt :).


Ik had die functie opgenomen en aangeroepen maar helaas. Inmiddels werkt het wel zoals ik antwoordde aan Ozzie.
Gewijzigd op 27/11/2018 21:53:11 door Marc O
 
- Ariën  -
Beheerder

- Ariën -

27/11/2018 21:55:45
Quote Anchor link
Zelf raad ik aan om HTML buiten PHP te houden.
Ook dan zou je die escape() functie prima kunnen gebruiken.

Maar welke karakterencoding gebruik je? Als je rechtsklikt en de pagina-info bekijkt, dan kan je dit zien.
Als dit UTF-8 is, dan moet je ook consistent UTF-8 toepassen in je website. Van je bestands-encoding, tot je HTML-metatag, eventueel nog de headers, en zelfs je database. Tenzij je vreemde tekens wilt zien bij exotische karakters.
 
Marc O

Marc O

27/11/2018 22:04:56
Quote Anchor link
- Ariën - op 27/11/2018 21:55:45:
Zelf raad ik aan om HTML buiten PHP te houden.
Ook dan zou je die escape() functie prima kunnen gebruiken.

Dat ga ik proberen maar kan ik wel om de 'echo' heen?

Quote:
Maar welke karakterencoding gebruik je? Als je rechtsklikt en de pagina-info bekijkt, dan kan je dit zien.
Als dit UTF-8 is, dan moet je ook consistent UTF-8 toepassen in je website. Van je bestands-encoding, tot je HTML-metatag, eventueel nog de headers, en zelfs je database. Tenzij je vreemde tekens wilt zien bij exotische karakters.


Ja, ik gebruik UTF-8 in zowel de metatag als de database.
Gewijzigd op 27/11/2018 22:05:29 door Marc O
 
- Ariën  -
Beheerder

- Ariën -

27/11/2018 22:21:27
Quote Anchor link
Een echo moet altijd, maar beperk het alleen tot je echt MOET echo'en in PHP, zoals defines, variabelen of functies.

Of je gebruikt de shorthand:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=$text;?>
Gewijzigd op 27/11/2018 22:21:57 door - Ariën -
 



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.