Simpel inlogsysteem hulp

Gestart doorJob41 reacties158 weergaven

42 berichten · pagina 3 van 3

Job

Lid · Topicstarter

Berichten
425
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Bedenk me net, de opties voor $salaris zijn allemaal decimale getallen (0,00). Misschien dat het hieraan kan liggen? En zo ja, hoe kan ik dit oplossen.
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
echo (float) $salaris_berekend;
0
Job

Lid · Topicstarter

Berichten
425
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Krijg nagenoeg niks voor elkaar.. Helaasch
0
Berichten
3.001
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Als je in MySQL met kommagetallen werkt moet je die omzetten naar "puntgetallen" tenzij je server anders is ingesteld op het decimaalteken.

toevoeging op 20 augustus 2014, 23:38:10:
Wat krijg je uit var_dump($_POST);?
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Bugged schreef:
Als je in MySQL met kommagetallen werkt moet je die omzetten naar "puntgetallen" tenzij je server anders is ingesteld op het decimaalteken.
toevoeging op 20 augustus 2014, 23:38:10:
Wat krijg je uit var_dump($_POST);?

Hij werkt nog niet met mysql

toevoeging op 21 augustus 2014, 071914:
Probeer eens (float) te zetten bij die $_POST vars

toevoeging op 21 augustus 2014, 071932:
Probeer eens (float) te zetten bij die $_POST vars
0
Berichten
4.451
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ligt eraan wat je invult idd.
Als je dit eens doet, eigenlijk wat Dylanh zegt:

$salaris = (float)$_POST[salaris];


Dan zou hij het beter moeten doen.
Als hij het dan nog niet doet, dan is er een fout in de namen van je $_POST denk ik
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Hij kan dus het beste eerst een var_dump($POST) doen om te kijken of de waardes uberhaubt wel goed verzonden worden.
0
Stef

Lid

Berichten
10.150
Reputatie
2
Punten
0,00
Lid sinds
Laatst gezien
Ik heb geen tijd om te googlen op mobiel, maar kan iemand mij uitleggen wat (float) doet?
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Een variabele om-typecasten naar een float.
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Wat aarclay zegt. In PHP doet het vaak niet zo heel veel, omdat PHP gebruik maakt van mixed datatypes. Maar in bijvoorbeeld java kan je niet zomaar van een int een float maken. Je moet dan gebruik maken van functies om de veriabele om te zetten naar een ander type, of je gaat typecasten, om tijdelijk een variable een ander type te geven.
0
Berichten
14.025
Reputatie
1
Punten
0,01
Lid sinds
Laatst gezien
Job schreef:
Okay. Adh van verschillende tutorials probeer ik nu een geheel nieuw systeempje te bouwen, wat ik eerst ga uitwerken met heel simpel PHP (en dat kan, heb op dit moment nog geen MySQL nodig). Als dat klaar is en gecontroleerd is wil ik het later nog gaan uitbreiden met diverse database functies, maar dat is van later zorg. Ik loop vast op één stuk: Het systeem is een stukje code waarbij een werkgever het aantal gewerkte uren van een werknemer aan kan geven, en vervolgens het salaris per uur ook nog aan kan geven. Natuurlijk willen we dat het aantal gewerkte uren vermenigvuldigd word met het salaris per uur, maar dat lukt niet. Zie hieronder.
$aantal_uren = $_POST[aantal_uren];
    $werknemer     = $_POST[werknemers];
    $salaris     = $_POST[salaris];
    
    $salaris_berekend = ( $salaris * $aantal_uren );
    echo $salaris_berekend;


Bij de berekening gaat het ergens fout, want hij vermenigvuldigt het aantal gewerkte uren met 2, niet met $salaris. Dit is het enige stukje PHP in de hele code. Ik hoor het graag van jullie!

Dit werkt gewoon hoor;

Codeblok (voorbeeld.php):

1
2
3
4
5
6
7
8

$aantal_uren = /*$_POST[aantal_uren]*/ 10;
$werknemer = /*$_POST[werknemers];*/
$salaris = /*$_POST[salaris]*/ 2.30;

$salaris_berekend = ( $salaris * $aantal_uren );
echo $salaris_berekend;
?>

Ligt dus aan je formulier of je tik een , in. Probeer eens een .
0
Berichten
3.001
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Codeblok (voorbeeld.php):

1
2
3
4
5
6
7
8

$aantal_uren = str_replace(,, ., $_POST[aantal_uren]);
$werknemer = $_POST[werknemers];
$salaris = str_replace(,, ., $_POST[salaris]);

$salaris_berekend = $salaris * $aantal_uren;
echo $salaris_berekend;
?>
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren