Schoolopdracht boodschappenlijstje

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 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 hier

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 »

Infrastructure Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12945 Introductie Our client is one of the most innovative companies within the Netherlands. Currently we are looking for an Infrastructure Platform Engineer. Within this role you will be developing the infrastructure. Functieomschrijving Within this role you are responsible in the development of our distributed data and compute platform infrastructure. You will design, develop and implement new features and fixes. Next to this you will integrate and configurate other packages that supports the development of tuning applications within the organisation. You will support customer sites remotely. Design and implement the

Bekijk vacature »

Ontwikkelaar MS Dynamics 365 Projecten

Samengevat: Deze werkgever is de kwaliteitsdienst in de tuinbouwsector. Ben jij een ervaren ontwikkelaar? Heb jij ervaring met Ms Dynamics 365 BC? Vaste baan: Ontwikkelaar Ms Dynamics 365 BC ICT MBO 3.500 - 5.000 Ontwikkelaar Ms Dynamics 365 BC Ons bedrijf bewaakt en bevordert de kwaliteit van producten, processen en ketens in de tuinbouw. Wij kenmerken zich door openheid, ruimte voor initiatief, collegialiteit en zelfontplooiing. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Functie: Voor de vacature als Ontwikkelaar Ms Dynamics 365 BC Roelofarendsveen MBO

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Barendrecht! Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Binnen deze rol houdt jij je met het volgende bezig: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe stap? Voor een softwarebedrijf in regio Oosterhout zijn wij op zoek naar een back-end developer met kennis of ervaring met C# en SQL. 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 vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Back-End Web Developer

As a Back-End Web Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a Back-End Web Developer at Coolblue? As a Back-End Web Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you also feel confident with setting up microservices in Typescript or are open to learning this. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing pure

Bekijk vacature »

Back-End Web Developer

Als Back-End Web Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als Back-End Web Developer bij Coolblue? Als Back-End Web Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Als backend developer weet je de weg in PHP, kan je in Typescript een microservice op zetten of ben je bereid om dit te leren. Ook Web Backend Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen PHP

Bekijk vacature »

3D BIM Add-on Developer

Als 3D BIM add- on ontwikkelaar bij KUBUS ontwikkel je add-ons (BCF Managers genaamd) voor de toonaangevende building information modeling (BIM) programma's Revit, Navisworks, Archicad, AutoCAD en Tekla Structures. BCF Managers maken gegevensoverdracht mogelijk tussen BIM-software en BIMcollab. Je werkt zowel aan de front- als aan de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en

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 »

Digitale Tovenaar Gezocht: Junior Low-code/No-code

Bedrijfsomschrijving Duik mee in een wereld vol innovatieve avonturen waar gegevens en technologie een magische symbiose aangaan! Al meer dan twee decennia lang zijn we de tovenaars achter de schermen die oplossingen creëren voor de meest complexe klantcontactvraagstukken en datagedreven software-uitdagingen. Bij ons draait het om de kracht van samenwerking en groei. We zijn een hechte vriendengroep die samen bergen verzet om elkaar én onze klanten te laten schitteren. Jouw succes is ons succes en we streven ernaar om elkaar naar nieuwe hoogten te tillen, niet voor even, maar voor altijd. We willen dat jij je helemaal thuis voelt in

Bekijk vacature »

Senior/Lead Python developer

Functie Samen met je team, bestaande uit een senior, 2 mediors en één junior ontwikkelaar ga je op een Agile-gebaseerde aanpak werken aan hun software. Je hebt oog voor kwaliteit, risico’s en klantbelang. Communicatie met je collega’s en waar nodig ook met klanten speelt een belangrijke rol in het bereiken van een succesvol resultaat. Als persoon ben je slim, krijg je dingen voor elkaar en ga je resultaatgericht te werk. Binnen het development team is er veel zelfstandigheid, los van de stand-up (10:00 uur) en zo nu en dan pair-programming sessies. Technieken die zij gebruiken zijn o.a. Python, Django, MySQL,

Bekijk vacature »

Back-end Developer

Functieomschrijving Voor een erkende werkgever in de regio van Middelburg zijn wij op zoek naar een enthousiaste PHP / Symfony Developer. Een ambitieus persoon die het gemotiveerde development team komt versterken met het realiseren van nieuwe en complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor professionele groei? Dit ga je doen: Je bent verantwoordelijk voor de beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Senior Front-end Developer

Dit ga je doen Met behulp van diverse programmeertalen ontwikkelen van Front-end software; Het begeleiden van het front-end team; Het oplossen van incidenten; Het bijhouden van een backlog; Je hebt een actieve bijdrage in de wekelijkse overleggen met de omliggende teams; Je houdt trends bij en adviseert het management hierover waar nodig; Helder communiceren met de stakeholders om hen zo mee te nemen in projecten en laten inzien wat de duur en toegevoegde waarde van bepaalde projecten is. Hier ga je werken Deze organisatie heeft circa 40 miljoen bezoekers per maand en heeft innovatie hoog in het vaandel staan. Het

Bekijk vacature »
Leon Vreling

Leon Vreling

19/06/2017 20:48:16
Quote Anchor link
Hallo iedereen,

Met school zijn we op dit moment bezig met het leren van PHP, en daarvoor maken we enkele opdrachten. Nu moesten we een opdracht doen waarbij de gebruiker een boodschappenlijstje kan maken, door verschillende producten toe te voegen en te verwijderen. Eerst wist ik niet goed hoe je dit aan moest pakken, en toen dacht ik dat het met een array wel zou lukken. Dit ging goed totdat ik wilde dat de gebruiker ook zelf dingen kon toevoegen.

Nu is mijn vraag dus, hoe kan ik in mijn code ervoor zorgen dat de gebruiker zelf ook dingen kan toevoegen?


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
<?php
session_start();
$product = array("Teddyberen","Legodoosjes","Barbiepoppen","Computer spelletjes");
$aantal = array("0","0","0","0");

if ($_SESSION["aantal"] == NULL)
{

      $_SESSION["aantal"] = $aantal;
}


if ($_SESSION["product"] == NULL)
{

      $_SESSION["product"] = $product;
}

?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>
<body>

<p>
          Gaat u ook wel eens naar een speelgoedwinkel om cadeautjes te kopen,
          maar komt u er dan thuis achter dat u toch iets bent vergeten?    
    </br>
          Dit kan nu nooit meer gebeuren door dit handige boodschappenlijstje.
    </br>
         Kies hieronder de producten die u wilt kopen en hoeveel daarvan,
         dan wordt er een handig lijstje gemaakt.
    </br>
    
         <form action="boodschappen.php" method="POST">
                      Product:
                     <select name="product">
                                 <option value="">-----Kies uw product-----</value>
                                <?php
                            $product
= $_SESSION["product"];
                            for ($i = 0; $i < count($product); $i++)
                            {

                                     echo "<option value=$i>$product[$i]</value>";
                            }

                                $_SESSION["product"] = $product;
                                ?>

                                
                     </select>
                </br>
                     Aantal:
                     <input type="number" name="amount">
                </br>
                     <input type="submit" value="Voeg toe" name="add">
                     <input type="submit" value="Verwijder" name="sub">
                     <input type="submit" value="Reset" name="reset">
         </form>
        
         Ook kunt u nog een nieuw product toevoegen, als deze nog niet tussen de mogelijkheden stond.
    </br>
       Dit kan met behulp van onderstaand formulier:
    </br></br>
        
         <form action="boodschappen.php" method="POST">
                      Naam nieuw product:
                     <input type="text" name="new_product">
                </br>
                   <input type="submit" value="Voeg toe" name="new">
         </form>
                                

<?php
if (isset($_POST["product"]) && isset($_POST["amount"]))
{

       $keuze = $_POST["product"];
        $hoeveelheid = $_POST["amount"];
        
        $aantal = $_SESSION["aantal"];
        
        if (isset($_POST["add"]))
        {

               $aantal["$keuze"] = $aantal["$keuze"] + $hoeveelheid;
        }


    if (isset($_POST["sub"]))
    {

              $aantal["$keuze"] = $aantal["$keuze"] - $hoeveelheid;
            
            if ($aantal["$keuze"] < 0)
            {

                   $aantal["$keuze"] = $aantal["$keuze"] + $hoeveelheid;
                    
                   echo "<b>Sorry, er moet wel een positief aantal producten op uw lijstje staan.";
                    echo "</br>";
                    echo "Uw bewerking wordt ongedaan gemaakt...</b>";
                    echo "</br></br>";
            }
    }

        
        $_SESSION["aantal"] = $aantal;
}



if (isset($_POST["reset"]))
{

    $aantal = $_SESSION["aantal"];
        for ($i = 0; $i < count($aantal); $i++)
        {

                 $aantal["$i"] = $aantal["$i"] - $aantal["$i"];         
        }

        $_SESSION["aantal"] = $aantal;
}


if (isset($_POST["new"]))
{

       $new_product = $_POST["new_product"];
        $array_new[0] = "$new_product";
        $product = $_SESSION["product"];
        
        $product = $product + $array_new;
        
        $_SESSION["product"] = $product;


}


$product = $_SESSION["product"];
for ($i = 0; $i < count($product); $i++)
{

         if ($aantal["$i"] != 0)
        {

             echo $aantal["$i"];
            echo "x ";
             echo $product["$i"];
            echo "</br>";
        }
}

$_SESSION["product"] = $product;

?>


</p>

</body>
</html>



Ik heb zelf al geprobeerd om iets te doen, maar dit werkte niet. Dit is het stukje van "if (isset($_POST["new"]))". Ik weet niet of het nieuwe voorwerp hier goed aan de array wordt toegevoegd, en hij laat het nieuwe voorwerp niet bij de keuzemogelijkheden zien.

Wanneer iemand hier een oplossing voor weet zou ik dat heel fijn vinden.

P.S. We hebben pas net over SESSION's geleerd, dus weet niet zeker of daar misschien de fout in zit.
- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 19/06/2017 20:54:22 door - Ariën -
 
PHP hulp

PHP hulp

12/05/2024 07:37:21
 
- SanThe -

- SanThe -

19/06/2017 21:58:31
Quote Anchor link
>?php
if (isset($_POST["new"]))
{
$_SESSION["product"][] = $_POST["new_product"];
}
?>
Gewijzigd op 19/06/2017 21:58:59 door - SanThe -
 
Thomas van den Heuvel

Thomas van den Heuvel

20/06/2017 01:07:28
Quote Anchor link
Waarom niet één array waarbij je een mapping maakt van product naar aantal (waarbij je dus gebruik maakt van keys en values)?

Verder zou je beter gevalsonderscheid kunnen maken tussen de verschillende acties:
het toevoegen van een nieuw product (en hoeveelheid),
het wijzigen van de hoeveelheid van een bestaand product,
het verwijderen van een product

Als je ook zorgt dat aantal en product ook echt aan elkaar gekoppeld zijn wordt bovenstaande code waarschijnlijk ook een stuk eenvoudiger.

Ik weet niet precies hoe deze opdracht in elkaar steekt maar het lijkt mij dat deze zou moeten beginnen met een soort van functionele spec, dus wat moet de applicatie precies doen. Indien dit niet duidelijk is zou je hier helderheid over moeten vragen, voordat je code begint te kloppen. En vervolgens vogel je uit hoe je dit zou moeten implementeren.

Ik denk dat je de koppeling product <--> aantal ook al een heel eind kunt sturen door een slimme opbouw van de formulieren m.b.v. wat extra JavaScript, maar misschien valt dat buiten de scope van de opdracht. Maar los daarvan, het geheel is meer dan de som der delen. Je zult moeten nadenken over wat je precies moet bouwen, en hoe je handig gebruik kunt maken van frontend-technieken (HTML, CSS, JavaScript) en hoe dit vervolgens door de backend wordt opgepikt (door PHP). Hierbij zou het ook niet misstaan om een aantal basisprincipes voor de "flow" van de opbouw van een programma hier in mee te nemen. Of wat (meer) formuliervalidatie en het veilig omgaan met "user input". Maar dit vergt waarschijnlijk enige kennis/ervaring/expertise van/met elk van deze onderdelen en de vraag is of dat de opzet was van deze opdracht.
Gewijzigd op 20/06/2017 01:10:14 door Thomas van den Heuvel
 



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.