Schoolopdracht boodschappenlijstje

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Developer (Junior functie)

Functieomschrijving Wij zijn op zoek naar een Software Developer! Sta jij in de startblokken om je carrière te beginnen en kan je niet wachten om toffe software te gaan ontwikkelen? Kortom, ben je onlangs afgestudeerd of sta je op het punt om je papiertje te behalen? Voor een IT dienstverlener dat gespecialiseerd is in Microsoft technologie zijn wij op zoek naar C#.NET Developers. Het bedrijf heeft meerdere klanten in regio Utrecht waar je permanent kan komen te werken. Kom je liever te werken bij een klein softwarebedrijf of bij een groot consultancy bureau? Dat is helemaal aan jou de keuze!

Bekijk vacature »

C# Unity Developer

Functieomschrijving Ontwikkel jij mee door applicaties te bouwen die bijdragen aan het optimaliseren van processen? Voor een erkende werkgever in regio Tilburg zijn wij op zoek naar een Unity C# Developer die graag de uitdaging aangaat! Jouw werkzaamheden zullen er als volgt uitzien: Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Je bent verantwoordelijk voor het uitvoeren van updates/aanpassingen aan de reeds draaiende applicaties. Bedrijfsprofiel Je komt te werken voor een internationale werkgever in regio Tilburg. Samen met een vooruitstrevend team

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

Robot Programmeur

Een verantwoordelijke baan met leuke uitdagingen. Heb jij ervaring met het programmeren van robots? Kan jij goed samenwerken met collega's die verschillende specialisaties hebben? Ben je oplossingsgericht, analytisch en flexibel? Ga dan aan de slag als Robot Programmeur bij Gibas in Nijkerk! Als Robot Programmeur kom je te werken bij Gibas. Dat betekent dat je gegarandeerd meewerkt aan unieke oplossingen in productieprocessen. Bij elk project moet er opnieuw geëngineerd en geprogrammeerd worden. Dat maakt jouw werk uitdagend! Voordat je robots gaat programmeren komt er het volgende bij kijken: De opdracht gaat van de afdeling Sales naar de afdeling Operations door

Bekijk vacature »

Full stack ontwikkelaar Laravel, Vue.js

Functie Als ontwikkelaar binnen deze organisatie hou jij je voornamelijk met lopende projecten voor de verschillende klanten. Zo bouw je de ene dag aan prijsschifting systemen en de andere dag onderzoek je crawlers en stel je ze zo in dat de data goed binnen komt binnen het systeem. Daarnaast bouw je mee aan dashboards en ben je dus constant bezig met het verbeteren van het platform. Er is een vaste werkwijze, zo werken ze met Trello kaarten en onderverdelen ze deze aan het begin van iedere week onder de developers. Dit wordt door de lead developer gedaan, maar in samenspraak

Bekijk vacature »

Medior/senior Python developer

Functie Bedrijven komen bij deze organisatie om technische vraagstukken op te lossen en hierin ook tot oplossingen te komen waar ze zelf misschien niet aan gedacht hadden. Jij gaat vanuit je ervaring dus niet alleen hands-on aan de slag met het ontwikkelen, maar zult ook zeker adviseren en proactief meedenken met de klant. Er zijn meerdere lange en/of korte projecten en het type klanten is heel uiteenlopend. Zo kun je terecht komen in een multidisciplinair scrumteam waarin je als Python developer meewerkt, of juist voor een kleiner (Greenfield) project aan de slag gaan waarin je veel breder bezig bent. Door

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Rotterdam! 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 »

Delphi developer

Functie Als Delphi developer ga jij aan de slag in een team met twee andere ervaren Delphi programmeurs waaronder de Hoofd programmeur. Als team zijn jullie verantwoordelijk voor de doorontwikkeling van jullie bestaande applicatie. Daarnaast zijn jullie verantwoordelijk voor het onderhouden van deze applicatie en het oplossen van eventuele bugs. Eisen - HBO werk en denk niveau; - Minimaal één jaar ervaring met Delphi; - Goede beheersing van de Nederlandse taal in woord en geschrift; - Jij bent zelfstandig, maar kan ook in team verband werken. Aanbod - €3000,-- €4000,- op basis van jouw kennis en ervaring; - 8% vakantiegeld;

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 »

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

Bekijk vacature »

Outsystems Developer Medior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als ervaren Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van de

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP Developer ga jij aan de slag met uitdagende software projecten. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Deze software bouw je vooral in PHP en specifiek Laravel. Dit framework kent dus geen geheimen voor jou. De software die jij gaat ontwikkelen is heel divers, van urenregistratiesystemen tot compleet geautomatiseerde tools. In deze veelzijdige functie ga jij je zeker niet vervelen, elke dag bestaat weer uit nieuwe uitdagingen. Bedrijfsprofiel Deze

Bekijk vacature »

Software Developer Java

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Software Developer C# .NET gezocht voor een dynamische organisatie! Ben jij net afgestudeerd of toe aan een volgende stap in je maatschappelijke carrière? Lees dan snel verder! Wij zijn op zoek naar een Software Developer die klaar is voor een nieuwe uitdaging en die een organisatie in de regio Houten wil versterken. Je werkt in deze functie aan verschillende projecten en gaat vaak op bezoek bij klanten. In deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid verwachten. Bedrijfsprofiel Waar kom je te werken? Je komt te werken bij een organisatie dat gespecialiseerd is in

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

21/11/2024 20:36:30
 
- 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.