Hulp bij een onderdeel automatisch maken.

Status
Niet open voor verdere reacties.
Ik ben een tijdje druk geweest en lees vandaag even terug. Ben droevig. Wat er in de laatste dagen gebeurt is lijkt in mijn optiek yasmin niet te helpen. Zeker de offtopic discussie maakt het lastig om het metershoge "huiswerk" ertussen uit te halen.
Ik vind het een plus voor yasmin dat ze het nog steeds probeert. Want ik vind dat zowel David als ciske allebei veel te hard gaan.

Ik denk dat yasmin het al moeilijk genoeg heeft om een rekenmachine te bouwen en dan beginnen jullie over DB ****, en enctypes. (david:er zijn echt wel meer smaken dan plain tekst en HTML) maar laten we het niet nog moeilijker maken,

Ik vind het al heel stoer als yasmin alles negeert wat hier in de afgelopen 3 paginas is geschreven en het voor elkaar krijgt om een rekenmachine te maken die in staat is de 4 basis mogelijkheden te doen (* / + -) waarschijnlijk is namelijk even vergeten dat na het invoeren van het eerste getal en er een rekenvorm wordt gekozen, die eerste waarde wel bewaard moet blijven.(om ermee te kunnen gaan rekenen.) Dat betekend dus wel 4 post opdrachten!!!

Ik zeg opnieuw:als yasmin hier de code neerzet van een werkende!!! rekenmachine. Krijgt ze van mij 2x gratis les bij haar thuis om echt goed te leren programmeren. Go get it girl!!! (voorwaarde:ze moet de code zelf schrijven)
M.
 
oke, ik heb nog niet alles goed geleerd over rekenmachine, maar op dit moment weet ik dit zo even uit mijn hoofd te halen:
Code:
<?php
$prijs = 5;
$aantal = 20;
$kosten = $prijs * $aantal;

echo "De kosten zijn . $kosten ."
?>
nee, is niet goed.. ik ben nog bezig met leren, maar dit is hoe ik het zonder te spieken uit mijn hoofd gehaald heb.
 
meid: leuk dat je weet hoe rekenen werkt. Maar dit is geen rekenmachine. Ik zal het duidelijker omschrijven.
Ik verwacht een schermpje waarin een invul veld staat waar je een cijfer in kan vullen. Dan verwacht ik dat je een rekenvorm kiest. als dit is gedaan moet het ingevulde cijfer bewaard worden en ook de rekenvorm die je gekozen hebt. Dan moet het invul veld weer leeg klaar staan voor de 2e cijfer.
De eerste keren stond er natuurlijk 4 rekenvormen en geen = button (er was niks uit te rekenen) Nu de 2e keer, willen we niet een rekenvorm kiezen(dus niet zien) maar alleen maar op = klikken.
Controleren of je na of voor het eerste cijfer bent doe je natuurlijk simpel door te controleren of er al iets in je geheugen zit (het eerste getal). zit hier namelijk niks in dan heb je net een rekenvorm gekozen. als er wel wat in zit dan heeft dus iemand op = gedrukt en moet je aan het rekenen en het antwoord terug geven.

Als dat werkt dan gaan we ook 0-9 knopjes maken en zorgen dat je meer cijfertjes kan aanklikken die dan in het schermpje komen en het echt op een reken machine laten lijken.

Voor stap 1 heb je 2 post commandos nodig. 2 weergaves, en wat php werk waar je de waarde onthoud (meegeeft) en alles uitrekend.
Ik wil natuurlijk het antwoord wel in het invoer veldje terug zien. Je moet er dus maar achter komen hoe je een waarde in een <input> tag stopt.

De opmaak van de html hoeft niet mooi te zijn maar ik wil wel een duidelijk html gedeelte en een duidelijk php gedeelte zien.
Nu is mijn eerste vraag (altijd eerst nadenken voor je gaat bouwen) hoeveel PHP bestanden heb je nodig om deel 1 te kunnen maken. Wat zijn de voordelen/nadelen als je er meer neemt en wat zijn de nadelen/voordelen als je alles in 1 PHP stopt? (Mijn laatste vraag heeft niks met PHP te maken maar is een vraag waar elke programmeur tegenaanloopt: hoe ga ik te werk).
Een goed programmeur: Denkt eerst en doet dan. Vergeet je dit dan moet je later dingen gaan ombouwen en moet je dubbel werk doen.
Yasmin koppie erbij en laat ze allemaal (inclusief mij) een poepie ruiken!!!
M.
P.s. Geen vragen meer. Ga eerst maar het deel maken waarvan je denkt dat je het kan en gooi dat hier neer. We komen dan vanzelf bij de onderdelen die je niet begrijpt. Dus ik wil eerst zien en dan pas vragen.
 
Laatst bewerkt:
nee, is niet goed.. ik ben nog bezig met leren, maar dit is hoe ik het zonder te spieken uit mijn hoofd gehaald heb.

yasmin:nog een tip:
-als je al weeet dat het niet goed is: NIET NEERZETTEN
-dat je aan het leren bent weten we. kun je dus gewoon weglaten.
-uit je hoofd halen? ik haal amper wat uit mijn hoofd. Niet genoeg ruimte voor.
-spieken. Kijk daar doe je het goed. Elke programmeur bouwt door te werken zijn eigen toolkit. Een eigen werkruimte met stukjes code die hij eerder heeft gemaakt en die hij kan hergebruiken. Je maakt in het algemeen weinig nieuw. Vaak is het een stukje van je eigen code pakken en die werkend maken in de nieuwe situatie. Dus: niet uit je hoofd doen(fouten!) veel spieken! en nooit code die je maakt weggooien!!
M.
 
Ik snap niet dat je denkt dat het 'metershoog huiswerk' is.
Ik weet niet op welk niveau jij mensen schat, maar op de opleiding die ik deed, was een rekenmachine al de tweede dag dat we PHP leerden. En nee, niemand had er klachten over, en ja, de opdrachten zagen er allemaal goed uit in het resultaat. Vergeet niet dat we dan een hele dag bezig waren met de opbouw van PHP leren, maar goed, als je dat onder de knie hebt, is een rekenmachine zo gemaakt. Naar eigen wens.....Boem, pats.

Ik heb niks gezegd over moeilijke objecten, methods, classes, sessies, worteltrekken, en weet ik veel nog meer.

Gewoon een formuliertje om twee getallen te geven (formulier kennis), een dropdown of een button om te bepalen wat er moet gebeuren (optellen, aftrekken, vermenigvuldigen, delen). Dan de math-operators gebruiken... (basis kennis) En klaar?

Ze is nu al 2 weken actief bezig met PHP als ik dit topic mag volgen? Dan zou dit toch geen moeite meer mogen zijn, en ik snap je reactie totaal niet?
 
Laatst bewerkt:
Shoot me if I am wrong. Maar ik denk dat ze zo ver nog niet is. Ik zou blij zijn als het wel zo is, maar van wat ik hier lees gaan de stapjes nog niet zo snel (alle begin is moeilijk).
Zeker omdat ik een paar dagen weg was geweest en alles weer terug las leek het opeens "over the head" te gaan.
Uit haar reactie blijkt dat ze blij is met een POST opdracht die werkt. Verder zie ik dat ze wat met vars speelt. Maar ik heb niks structureels gezien.
Opnieuw:Ik hoop dat je gelijk hebt en dat ik haar onderschat. Maar vandaar ook deze test. Laat ze maar komen met die rekenmachine. Ik denk namelijk nog steeds dat het haar zonder hulp niet lukt.
Ik denk niet dat haar formulier kennis op orde is. (een auto submit hoef je niks voor te kunnen).
Ik denk niet dat ze in staat is om een pulldown te verwerken.
Ik denk wel dat ze in staat is om de math operatoren te verwerken. Maar ook dat antwoord stopt ze dan weer gewoon in een echo.

Als ze me kan uitleggen wat een echo doet, heb ik al weer veel meer respect.

@Yasmin:het zou helpen als je wat meer code neerzet zodat we kunnen zien hoe je gaat. De paar regeltjes die ik heb gezien (even snel uit je hoofd ;-) ). Geeft geen goede indruk. Als het goed is ben je nu aan het bouwen. Gooi eens wat neer, dan kunnen we met je meekijken!

M.
 
zoiets?? ik heb de &nbsp gewoon gebruikt omdat die bij de uitleg stond, verder geen idee of het nou werkelijk de getallen aanelkaar plakt ofzo.. :P


Code:
<form action="" method="post">
<table cellpadding="0" cellspacing="5" style"border: 1px dashed;">
<tr>
<td>getal 1:</td>
<td><input type="text" name="eerste_getal"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="radio" name="type" value="keer"> Keer</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="radio" name="type" value="delen"> Gedeeld door</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="radio" name="type" value="min"> Min</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="radio" name="type" value="plus"> Plus</td>
</tr>
<tr>
<td>Getal 2:&nbsp;&nbsp;</td>
<td><input type="text" name="tweede_getal"></td>
</tr>
<tr>
<td><input type="reset" value="Reset"></td>
<td><input type="submit" value="Bereken"></td>
</tr>
</table>
</form>


Code:
<?php
if(isset($_POST['submit'])) {
if(empty($_POST['eerste_getal']) && !is_numeric($_POST['eerste_getal'])) {
echo "Je hebt het eerste getal niet ingevuld of geen cijfer ingevuld";
} else {
if($_POST['type'] == "keer") {
$berekening = $_POST['eerste_getal'] * $_POST['tweede_getal'];
} elseif($_POST['type'] == "delen" && $_POST['tweede_getal'] == 0) {
echo "Je kan een getal niet door <i>0</i> delen";
} elseif($_POST['type'] == "delen") {
$berekening = $_POST['eerste_getal'] / $_POST['tweede_getal'];
} elseif($_POST['type'] == "min") {
$berekening = $_POST['eerste_getal'] - $_POST['tweede_getal'];
} elseif($_POST['type'] == "plus") {
$berekening = $_POST['eerste_getal'] + $_POST['tweede_getal'];
}
echo " . $berekening. ";
}
}
?>

hij geeft alleen geen uitkomst of echo.. ik denk dat er iets mis is gegaan.?
 
Laatst bewerkt:
ik zie ook dat de form geen action heeft, dus als je submit drukt weet hij niet waar hij heen moet.

P.S. @david:Ik moet gedeeltelijk op mijn woorden terug komen. Had dit niet verwacht!. 2 kleine foutjes mag. Wat gaan we haar als volgende leren? Html opmaak? er echt een rekenmachientje van maken met knoppen? want waar gaat die echo heen?

M.
 
Laatst bewerkt:
ik zie ook dat de form geen action heeft, dus als je submit drukt weet hij niet waar hij heen moet.

P.S. @david:Ik moet gedeeltelijk op mijn woorden terug komen. Had dit niet verwacht!. 2 kleine foutjes mag. Wat gaan we haar als volgende leren? Html opmaak? er echt een rekenmachientje van maken met knoppen? want waar gaat die echo heen?

M.

owjah.. de action..
 
ik zie ook dat de form geen action heeft, dus als je submit drukt weet hij niet waar hij heen moet.
Als de action leeg is gaat de informatie naar de pagina waar het formulier in staat. Als formulier en PHP code op dezelfde pagina staan werkt een lege action dus wel.
 
yasmin, je kunt nog even hier kijken:
http://php.net/manual/en/reserved.variables.post.php

je geeft namelijk je submit knop geen naam maar je vraagt er wel naar in je $_POST['submit'].

je kunt beter dit gebruiken: if ($_POST) { dan controleer je niet op inhoud, maar gewoon of er wel een post terug komt.
Er zit namelijk een addertje onder het gras:
<input type="submit" name="submit">
isset($_POST["submit"]) //werkt niet

<input type="submit" name="submit" value="Next">
isset($_POST["submit"]) //werkt wel.

@naarling: ik ben gewend structureel te programmeren. Ik wordt een beetje moe van die broekjes die de helft vergeten en php de helft erbij verzint omdat de code niet klopt. Als de pagina in beeld staat dan zal het wel goed zijn....
Deze werkwijze staat me niet aan. Ik bouw goede code die correct en compleet is of ik schrijf niet. Het volledig vertrouwen op een compiler die dingen voor je rechttrekt kan met versie beheer een probleem worden.
Daarom zei ik tegen yasmin ook "waar gaat die echo heen". Er komt namelijk tekst naar de browser zonder html. Natuurlijk ziet de browser de fout en zet er zelf de html omheen. Ik vind dat de browser is gemaakt om code in zijn taal weer te geven (html) en niet om allerlei fouten op te vangen van slechte programmeurs.
 
P.S. @david:Ik moet gedeeltelijk op mijn woorden terug komen. Had dit niet verwacht!. 2 kleine foutjes mag. Wat gaan we haar als volgende leren? Html opmaak? er echt een rekenmachientje van maken met knoppen? want waar gaat die echo heen?

M.
Basis PHP kennis, als je het goed doet, doe het dan goed. Kleine moeite om dat even te leren als iemand dat niet begrijpt.
Variabelen en strings zijn beiden aparte dingen, en om je script logisch te houden horen variabelen juist niet in een string. Dus haal je ze buiten quotes.
Gewoon door de quotes eromheen weg te halen. Sim-pel...
Strings en variabelen kan je koppelen met een punt.

Als ze dit niet snapt, dan is jouw basis naar mijn idee ook niet echt correct opbouwend. Ik kan wel terugkomen op de college's die ik heb gevolgd.
En dit was een van de eerste dingen.

Tevens vraag ik me af waarom je haar naar een klik op een submit-button laat controleren? Je wilt immers toch weten of het formulier ge-POST is?
Dan is een check met if($_SERVER['REQUEST_METHOD']=="POST") { de enige beste optie. De isset() voor een submit-button, daar werden we al keihard door onze docent op afgerekend.

Ik vraag me af waarom je me steeds persoonlijk hierop aanvalt, voor deze kleinigheidjes.
 
Laatst bewerkt:
@naarling: ik ben gewend structureel te programmeren. Ik wordt een beetje moe van die broekjes die de helft vergeten en php de helft erbij verzint omdat de code niet klopt. Als de pagina in beeld staat dan zal het wel goed zijn....
Deze werkwijze staat me niet aan. Ik bouw goede code die correct en compleet is of ik schrijf niet. Het volledig vertrouwen op een compiler die dingen voor je rechttrekt kan met versie beheer een probleem worden.
Daarom zei ik tegen yasmin ook "waar gaat die echo heen". Er komt namelijk tekst naar de browser zonder html. Natuurlijk ziet de browser de fout en zet er zelf de html omheen. Ik vind dat de browser is gemaakt om code in zijn taal weer te geven (html) en niet om allerlei fouten op te vangen van slechte programmeurs.
tutut, dat een een lege URI naar het huidige document verwijst (zoals bij een leeg action attribuut) is bij mijn weten standaard gedrag. Je kunt het niet mooi vinden, maar om het slecht te noemen vind ik zwaar overdreven.
A URI reference that does not contain a URI is a reference to the current document.
[...]
However, if the URI reference occurs in a context that is always intended to result in a new request, as in the case of HTML's FORM element, then an empty URI reference represents the base URI of the current document and should be replaced by that URI when transformed into a request.
http://www.ietf.org/rfc/rfc2396.txt
 
oke, ik heb nog niet alles goed geleerd over rekenmachine, maar op dit moment weet ik dit zo even uit mijn hoofd te halen:
Code:
<?php
$prijs = 5;
$aantal = 20;
$kosten = $prijs * $aantal;

echo "De kosten zijn . $kosten ."
?>
nee, is niet goed.. ik ben nog bezig met leren, maar dit is hoe ik het zonder te spieken uit mijn hoofd gehaald heb.
dit bevat een fout
echo "De kosten zijn . $kosten .";
elk einde moet je afsluiten met ;
dit zou beter moeten zijn
echo "De kosten zijn $kosten ";
kan ook als
echo "De kosten zijn ". $kosten ;
of
print "De kosten zijn ". $kosten ;

MAAR HET BELANGERIJKSTE
HEB JE XAMPP geinstalleert staan of hoe voer je je php uit ??
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan