Update query werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full Stack C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

Bekijk vacature »

Front end developer

Functie Qua type opdrachten is er echt een verscheidenheid aan afnemers, zo werken ze met grote multinationals, maar ook met startups. Zo kom je te werken in een gevarieerde omgeving en kan je ook schakelen tussen verschillende culturen. De projecten variëren van greenfield projecten tot langdurige ontwikkeltrajecten. Hier wordt alleen maar gewerkt met aan front end projecten. Daarom maakt het onze partner niet uit waar jij kennis van hebt, als je maar gedegen kennis hebt van Javascript frameworks, Unit testing en ook bekend bent met de scrum methodiek. Eisen Minimaal 4 jaar relevante werkervaring Kennen en ervaring van Javascript frameworks

Bekijk vacature »

Front End Ontwikkelaar (React)

In het kort Als front end developer ga je aan de slag met maatwerkprojecten voor onze klanten. Denk bijvoorbeeld aan het toevoegen van een machine aan een database of het corrigeren van formulieren voor ingestuurde orders. Voorbeeld van zo’n project is Smart Link. De projecten waar je op ingezet kunt worden liggen binnen het technische domein waar jij als front end developer een grote rol speelt om samen met je back end collega’s de juiste oplossingen te leveren. please note that this particular role requires fluent Dutch language skills. Dit vind je leuk om te doen Het omzetten van designs

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

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 »

Functioneel applicatiebeheerder - SOP-SYS-SAM

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 Functioneel Applicatiebeheerder voor het financiele domein op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je gaat samenwerken in een team van circa 15 functioneel applicatiebeheerders en gaat onderdeel uitmaken van een DevOps team. Met dit team ga je applicaties (laten) ontwikkelen en beheren. Hierbij concentreer je je vooral op

Bekijk vacature »

T-SQL Database developer

Functie omschrijving Ben jij een ETL database specialist? Houd jij ervan om te puzzelen met Databases, Query's & Stored procedures? Zoek jij uitdaging, vrijheid en verantwoordelijkheid? Zoek dan niet verder! Wij zijn per direct op zoek naar medior en senior database developers. Je gaat werken voor een relatief klein softwarebedrijf in omgeving Tilburg. Samen met 12 collega's (allemaal techneuten), ga jij je bezig houden met het bouwen en/of onderhouden van database software. Deze software wordt internationaal ingezet voor het automatiseren van logistieke processen. Jouw werkzaamheden gaan er als volgt uit zien: Je bent in een klein team met developers, verantwoordelijk

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Voor een mooi softwarebedrijf in omgeving Ridderkerk zijn wij op zoek naar een Embedded Software developer. Ben jij enthousiast en een echte team player? Lees dan snel of dit iets voor jou is! Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Laat dan snel wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot

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 »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Oracle Developer / PL SQL

Dit ga je doen Software ontwikkeling aan een internationaal gebruikt pakket; Werken met technieken als Oracle 19c, Toad, PL/SQL, Oracle Forms, Reports en Designer; Meedraaien in internationale projecten; Meedenken over technisch en functioneel ontwerp; Samenwerken met collega's als Informatie Analisten, Testers en Release Managers; Soms wensen en eisen afstemmen met de business. Hier ga je werken Onze klant, een internationaal bekend bedrijf dat essentiële producten maakt waar iedereen graag gebruik van maakt, zoekt versterking in het Software Development team. Samen met 3 developers, een release manager, een informatie analist en 3 testers werk jij aan een systeem waarmee complexe producten

Bekijk vacature »

Backend Developer Integraties API HBO REST

Samengevat: Deze werkgever is een IT-consultancy. Wil jij werken als Backend Developer Integraties? Heb jij kennis van gangbare berichtformaten? Vaste baan: Backend Developer Integraties API HBO €3.100 - €4.400 Zij bieden innovatieve oplossingen die bedrijven efficiënter en wendbaarder maken, waardoor onze klanten zich net zo snel kunnen ontwikkelen als de business van hen vraagt. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke nieuwe trend. Onze systemen zijn groot en ingewikkeld. Hou jij van diepgang

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij recent jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een erkende werkgever in regio Waalwijk zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in kaart, om ze

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »
Tortuga web

tortuga web

28/12/2015 18:47:37
Quote Anchor link
Ik kom er maar niet achter wat hier fout gaat.
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
<?php
session_start();
    ini_set('display_errors',1); // 1 == on , 0 == off
    error_reporting(E_ALL | E_STRICT);
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//Hier checks op de invoer
              if (count($_SESSION['error']) == 0) {
            try {
                require_once ('data/link.php');
                $sql = "UPDATE members SET auth=:auth, period=:period WHERE id = :id";
                $stmt = $db->prepare($sql);
                $stmt->execute(array(
                                ':id' => $_SESSION['id'],
                                ':auth' => $_POST['auth'],
                                ':period' => $_POST['period']
                        ));

                if($stmt->rowCount() == 0) {
                    throw new PDOException('Er zijn geen rijen gewijzigd in de UPDATE query.');
                }
            }

            catch(PDOException $e) {
                echo 'Foutmelding: '.$e->getMessage().' op regel '.$e->getLine();
                header ('Refresh: 2; url=nieuwe-aanmelding.php');
                exit();    
            }
        }
        }

    try {
        require_once ('data/link.php');
        $sql = "SELECT id, firstname, lastname, username, email, randomcode FROM members WHERE randomcode=:randomcode";
        $stmt = $db->prepare($sql);
        $stmt->execute(array(
                        ':randomcode' => $_GET['key']
                    ));

        sleep(1);
        //Get the results from the database and close the connection
        $result = $stmt->fetchAll();
        if (count($result) == 1) {
            $_SESSION['id'] = $result[0]['id'];
            $_SESSION['firstname'] = $result[0]['firstname'];
            $_SESSION['lastname'] = $result[0]['lastname'];
            $_SESSION['username'] = $result[0]['username'];
            $_SESSION['email'] = $result[0]['email'];
            $_SESSION['randomcode'] = $result[0]['randomcode'];
        }

        else {
            echo 'Geen resultaat gevonden.';
            exit;
        }
    }

    catch(PDOException $e) {
        echo 'Foutmelding: '.$e->getMessage().' op regel '.$e->getLine();
    }

?>


Het belangrijke deel uit het Postformulier in html is als volgt:
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
<tr>
                        <td><label for="firstname">Voornaam:</label></td>
                        <td><input type="text" name="firstname" value="<?php echo isset($_SESSION['firstname']) ? htmlspecialchars($_SESSION['firstname']) : '' ?>"/></td>
                    </tr>
                    <tr>
                        <td><label for="lastname">Achternaam:</label></td>
                        <td><input type="text" name="lastname" value="<?php echo isset($_SESSION['lastname']) ? htmlspecialchars($_SESSION['lastname']) : '' ?>"/>
                    </tr>
                    <tr>
                        <td><label for="email">Emailadres: </label></td>
                        <td><input type="text" name="email" value="<?php echo isset($_SESSION['email']) ? htmlspecialchars($_SESSION['email']) : '' ?>"/></td>
                    </tr>
                    <tr><td><input type="text" name="check" id="check" /></td></tr>
                    <tr>
                        <td><label for="authorisatie">Authorisatie: </label></td>
                        <td><input type="radio" name="auth" value="1" />Ja&nbsp;
                        <input type="radio" name="auth" value="0" />Nee&nbsp;
                    <tr>
                    <tr>
                        <td><label for="periode">Geldigheidsduur: </label></td>
                        <td><input type="radio" name="period" value="1" />Oneindig&nbsp;
                        <input type="radio" name="period" value="0" />E��n week;
                    <tr>
                        <td>&nbsp;</td>
                        <td><input type="submit" value="Verstuur" id="button"/>
                        <input type="reset" value="Wissen" id="button" /></td>
                    </tr>


Ik krijg wel contact met de database, want de gevraagde id wordt opgehaald.
Maar ik krijg steeds de melding dat er geen rijen gewijzigd worden, terwijl ik wel andere waarde invoer.
Ik heb geen idee meer wat ik fout doe.
Gewijzigd op 28/12/2015 18:52:41 door Tortuga web
 
PHP hulp

PHP hulp

26/05/2026 14:34:36
 
Thomas van den Heuvel

Thomas van den Heuvel

28/12/2015 20:14:49
Quote Anchor link
Het eindresultaat van een UPDATE-statement kan best zijn dat er effectief niets gewijzigd wordt, in dat geval retourneert rowCount() standaard 0. Je kunt dit gedrag wijzigen door de connectie optie PDO::MYSQL_ATTR_FOUND_ROWS met de waarde true toe te voegen.

Maar jij zegt dat je waarden echt inhoudelijk wijzigt. Wordt deze wijziging ook echt doorgevoerd in de database? Zoja, dan gaat er niet echt iets fout en zou ik de aanpak wat veranderen, numRows() is dan blijkbaar geen goede controle, kun je in dat geval niet gewoon kijken of execute() true teruggeeft?

En ja, als je het effect van een wijziging helemaal niet terugziet zul je verder moeten kijken waar dit vandaan komt uiteraard.

Een UPDATE-query uitvoeren waarin niets gewijzigd wordt is in ieder geval niet per definitie fout.
 
Tortuga web

tortuga web

28/12/2015 20:39:23
Quote Anchor link
M.i. moet er een fout in het script zitten.
Ik wijzig in het formulier de waarde 'auth' en 'period' van 0 naar 1.
In feite is dit een wijziging van false naar true, met een integer-waarde 0 en 1.
Ik krijg de melding terug dat er 'geen rijen gewijzigd zijn', en heb gecontroleerd dat er effectief in de database geen rijen gewijzigd zijn. Dus de wijziging komt niet door. Maar ik zie werkelijk niet waar de fout zit.
 
Thomas van den Heuvel

Thomas van den Heuvel

28/12/2015 20:47:28
Quote Anchor link
Okay, de query mislukt dus.

Heb je PDO wel zo ingesteld dat deze gebruik maakt van exceptions als foutmeldingsmethode? Dit doe je ook middels een connectie optie PDO::ATTR_ERRMODE met als waarde PDO::ERRMODE_EXCEPTION.

EDIT: hoe luidt de definitie van de tabel, als die kolom een ENUM is moet je de waarde wellicht voorzien van quotes, en mogelijk doet PDO dat zelf niet of zoiets? Je zou altijd kunnen overwegen om tijdelijk query-logging aan te zetten (volgens mij de enige manier om te achterhalen welke concrete queries er daadwerkelijk worden uitgevoerd).
Gewijzigd op 28/12/2015 20:49:19 door Thomas van den Heuvel
 
Tortuga web

tortuga web

28/12/2015 21:29:13
Quote Anchor link
Thomas van den Heuvel op 28/12/2015 20:47:28:
Okay, de query mislukt dus.

Heb je PDO wel zo ingesteld dat deze gebruik maakt van exceptions als foutmeldingsmethode? Dit doe je ook middels een connectie optie PDO::ATTR_ERRMODE met als waarde PDO::ERRMODE_EXCEPTION.

EDIT: hoe luidt de definitie van de tabel, als die kolom een ENUM is moet je de waarde wellicht voorzien van quotes, en mogelijk doet PDO dat zelf niet of zoiets? Je zou altijd kunnen overwegen om tijdelijk query-logging aan te zetten (volgens mij de enige manier om te achterhalen welke concrete queries er daadwerkelijk worden uitgevoerd).


Ja, dat staat aan.
Ik weet niet precies wat je bedoelt met ENUM. Ik heb getest of er een verschil is in het gebruik van <input type="radio" name="period" value="1" /> of <input type="radio" name="period" value=1 />. Maar dat maakt niets uit, de rijen blijven ongewijzigd.
Het rare is dat de query wél werkt op de lokale wamp-server. Het enige verschil dat ik heb kunnen vinden is dat ik thuis op wamp MySQL 5.6.17 heb en de provider 5.5.47 gebruikt. Kan het daar aan liggen???

De kolomwaarden trouwens zijn ingesteld als tinyint en NOT NULL
Gewijzigd op 28/12/2015 21:36:03 door tortuga web
 
Thomas van den Heuvel

Thomas van den Heuvel

28/12/2015 23:15:11
Quote Anchor link
Ik bedoelde quotes in de query. Waar je normaal niets mee doet omdat de prepared statements laag dit doorgaans voor je regelt.

Misschien is het zoiets sufs als de volgorde van de parameters zoals je die in de query gebruikt en de volgorde zoals je die meegeeft aan het execute-array (deze verschillen van elkaar), maar bij named parameters zou dat toch niet uit moeten maken?

Ook is het volgens mij geen gereserveerd woord, maar je zou kunnen proberen de kolomnamen in je query te voorzien van `backticks` (al ben ik daar geen fan van).

Ik zie het anders ook eigenlijk niet, ik vrees dat je -als het bovenstaande het niet oplost- toch de mysql-logs in moet duiken ofzo. Je zou ook kunnen overwegen om gewoon van die numRows() check af te stappen, al zou je query natuurlijk wel gewoon dingen moeten updaten :/.

EDIT: mogelijk zit de informatie niet (goed) in $_SESSION of $_POST, dump deze twee arrays eens, die geven inzicht hoe je uiteindelijke query er mogelijk uit ziet. Misschien ontbreekt $_SESSION['id'] per ongeluk ofzo, en dan wordt er niets geupdate ;).
Gewijzigd op 28/12/2015 23:17:13 door Thomas van den Heuvel
 
Ivo P

Ivo P

29/12/2015 09:08:08
Quote Anchor link
echo tussen regel 10 en 11 $sql eens.
Dat zou meteen een bewijs zijn dat je in elk geval een poging gaat doen om de query uit te voeren.

als $_SESSION['errors'] niet leeg is, kom je daar bijvoorbeeld niet langs.



Waarom 2x een include van data.link.php?

Toevoeging op 29/12/2015 10:56:17:

Dat er geen rijen aangepast zijn, is niet iets waar je exception voor gooit.
Op zich hoeft dat niet fout te zijn.

Misschien iets waar je de gebruiker een opmerking over laat zien, maar fataal is het niet natuurlijk.
 
Tortuga web

tortuga web

29/12/2015 12:18:52
Quote Anchor link
Uiteindelijk de oplossing gevonden door het Session-id terug in het formulier te zetten en als Post-id in de query te verwerken.
Dit werkt wel. $_SESSION['id'] wordt om de één of andere reden niet verwerkt door de providers versie, waar WAMP dat wél doet.
Bedankt voor het meedenken.
 
Ivo P

Ivo P

29/12/2015 12:27:11
Quote Anchor link
in dat geval vraag ik me af of je session_start() dan mogelijk niet goed gaat.
Helaas wordt de foutmelding daarvan dan mogelijk onderdrukt.

Schuif session_start() eens 3 regels omlaag, dus onder de 2 regels die je errors activeren.

Daar zou wel eens een headers-already-sent of iets met "cannot start session" uit kunnen komen.

Daarmee zou ook $_SESSION['error'] in problemen komen.

Fijn dat het symptoom nu weg is dat je query mislukt, maar er is dus wel een probleem.

Daarnaast kan elke gebruiker dus andermans naam en mailadres aanpassen als hij dat id in die (hidden?) input even aanpast.
 
Tortuga web

tortuga web

29/12/2015 14:15:36
Quote Anchor link
@Ivo: Je hebt gelijk. $_SESSION['error'] werkt inderdaad niet.
En schuif ik de session_start naar beneden, dan krijg ik inderdaad de cannot start session, headers already sent melding. Ik heb alles nagezocht en kan niet vinden dat er html-uitvoer is, voordat ik dit script uitvoer. Tenzij het probleem gegenereerd wordt omdat ik iedere pagina via een GET['page'] op de indexpagina oproep. De headers already sent meldt de sent op de laatste regel van de file "metadata".
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
<!DOCTYPE HTML>
<html lang="nl">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="initial-scale=1.0, width=device-width" />
    <title>Foto's en verhalen</title>
    <link rel="stylesheet" href="css/web.css" />
    <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
    <link href='https://fonts.googleapis.com/css?family=Marck+Script' rel='stylesheet' type='text/css' />
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <script src="script/responsiveslides.min.js"></script>
    <script src="script/responsiveslides.js"></script>
    <script>
        $(function() {
            $("#slideshow").responsiveSlides({
                namespace: "rslides",
                nav: false,
                random: true,
                pause: false,
                timeout: 6500,
                speed: 2500,
                pager: false});
        });
    </script>
</head>

Dit is toch nog geen HTML uitvoer???
En ja, het staat in de juiste code. (UTF-8 zonder BOM)
 
Ivo P

Ivo P

29/12/2015 14:46:28
Quote Anchor link
Als je bedoelt dat de code hierboven de uitvoer is die in de file metadata naar de browser gestuurd wordt: ja dat is uitvoer.
het is zelfs html.

Maar als stuurde je een cijfer, of een of ander vaag chinees teken in unicode: uitvoer is uitvoer.

zodra jij uitvoer stuurt, en je gebruikt geen output buffering, dan zegt Apache:

"he browser, hier komt wat data. En deze data moet je zien als een stukje html of gewoon tekst."

Je kunt ook een http-server laten zeggen: "deze data is binair en je kunt er een plaatje van maken".
ofwel : header('Content-Type: image/jpeg');

In elk geval:
dit is nu geroepen en 1 of meer bytes aan data zijn verzonden.

Nu kom jij aan met session_start();
Nu moet Apache nog iets gaan roepen "he browser, de header die ik net stuurde over dat het html is, daar had ik nog iets over een cookie bij willen zeggen".

Ja en dat gaat dus niet meer...

---
Als het op jouw wamp server wel werkt, moet je eens nazoeken of output buffering aan staat.
Dat betekent dat je Apache de eerste x kB aan data op laat sparen voor je de output en de headers begint te versturen.

(is een bron voor bugs: zoals hierboven, maar ook dat je scripts prima werken voor
Jon Doe op plein 1 in Dorp
maar niet voor
Baron van Hier tot daar op de Laan van Meerdervoort in 's-Gravenhage
omdat je dan ineens over de buffer size heen gaat.

Output buffering uitzetten en je script logisch opbouwen:
eerst invoer afhandelen, route bepalen in je script, data klaar zetten en pas dan denken aan wat er naar het scherm gaat moeten
 
Tortuga web

tortuga web

29/12/2015 15:07:10
Quote Anchor link
Ja, ik snap wel wat je bedoelt, maar voor dat kasteeltje op de Laan van Meerdervoort ben ik nog aan het sparen. Waarmee ik zeggen wil, ik kom wel steeds verder (met jullie hulp), maar er is nog veel te wensen.
Ik heb nogal eens pogingen gedaan om met OOP te gaan werken, maar ik blijf dat erg moeilijk vinden. Het lijkt mij wel de beste weg om alles klaar te zetten, voordat ik iets uitvoer.
Maar.. Dit zou toch ook moeten kunnen in een script als hierboven, maar ik weet niet hoe. Weet je toevallig een 'tutorial voor Dummy´s' gericht op dit onderwerp?
 



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.