Comma in plaats van punt invoeren als value

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan Vels

Johan Vels

03/06/2013 20:32:49
Quote Anchor link
Ik heb een input veld waarin een geld bedrag moet ingevoerd worden nu wil ik dat inplaats van een
'.' een ',' in kan vullen. In de database heb ik het volgende veld waarin het geld bedrag komt te staan:

Type DECIMAL
Lengte/Waarden 10,2

Nu is het dus zo dat als ik het met een ',' het bedrag achter de komma niet word meegenomen. Hoe doe ik dit? Alvast bedankt!
Gewijzigd op 03/06/2013 20:34:39 door Johan Vels
 
PHP hulp

PHP hulp

17/11/2024 15:44:22
 
Tobias Tobias

Tobias Tobias

03/06/2013 20:55:51
Quote Anchor link
$bedrag = strreplace($bedrag, ",",".");
 
Frank Nietbelangrijk

Frank Nietbelangrijk

03/06/2013 21:21:48
Quote Anchor link
even als aanvulling op Tobias:

een computer kan enkel rekenen met gehele getallen of met floating points (getallen met een punt er tussen ergens). Met andere woorden 9,35 kun je dus alleen als tekst zien en zul je moeten wijzigen naar ofwel 9.35 ofwel 935
Daarna kan php er mee gaan rekenen. Omdat je voor een decimal hebt gekozen dat in feite gewoon een floating point is zul je zoals Tobias zegt de komma voor een punt moeten vervangen.
 
Johan Vels

Johan Vels

03/06/2013 22:38:04
Quote Anchor link
Bedankt voor de reacties.

@Tobias Tobias

Hoe zou ik gebruik kunnen maken van strreplace in een $_POST?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
mysql_connect("localhost", "root", "") or die("Connection Failed");
mysql_select_db("db")or die("Connection Failed");
$code = $_POST['code'];
$bedrag = $_POST ['bedrag'];
$sql = "UPDATE kortingen SET bedrag = bedrag + '$bedrag' WHERE code = '$code'";
 
Frank Nietbelangrijk

Frank Nietbelangrijk

04/06/2013 00:10:08
Quote Anchor link
$bedrag = strreplace($_POST['bedrag'], ",",".");
 
Ozzie PHP

Ozzie PHP

04/06/2013 00:16:39
Quote Anchor link
Ik zou wel eerst je data valideren en je user input beveiligen.
 
Johan Vels

Johan Vels

04/06/2013 11:52:36
Quote Anchor link
Bedankt Frank,

Echter krijg ik nu altijd de echo "Bedrag is toegevoegd" maar voegt hij niets toe in het betreffende veld 'bedrag'. Weet jij misschien hoe dat komt? Heb nu het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
mysql_connect("localhost", "root", "") or die("Connection Failed");
mysql_select_db("db")or die("Connection Failed");
$code = $_POST['code'];
$bedrag = str_replace($_POST['bedrag'], ",",".");
$sql = "UPDATE kortingen SET bedrag = bedrag + '$bedrag' WHERE code = '$code'";
if(mysql_query($sql)){
echo "Bedrag is toegevoegd";}
else{
echo "Het bedrag toevoegen is niet gelukt";}
Gewijzigd op 04/06/2013 12:07:59 door Johan Vels
 
Ward van der Put
Moderator

Ward van der Put

04/06/2013 12:09:09
Quote Anchor link
Hier is de volgorde van de parameters verkeerd:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$bedrag
= str_replace($_POST['bedrag'], ",",".");
?>


Maak daarvan bijvoorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$bedrag
= str_replace(',', '.', trim(strip_tags($_POST['bedrag'])));
?>
 



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.