Beginletters van woorden variabele in Hoofdletters omzetten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

N tigerrag

N tigerrag

03/10/2015 14:23:33
Quote Anchor link
Goedemiddag allen,

Ik wil graag alle beginletters in een variabele laten omzetten in hoofdletters.

Bijvoorbeeld:
'prins bernhardstraat' moet worden 'Prins Bernhardstraat'

Nu gebruik al wel de functie:
$adres = ucfirst(strtolower($_POST['adres']));

Maar deze functie doet alleen het eerste woord in de variabel dus geeft terug:
'Prins bernhardstraat'

Wie kan mij op weg helpen?
 
PHP hulp

PHP hulp

16/04/2024 09:33:58
 
Eddy E

Eddy E

03/10/2015 14:34:46
Quote Anchor link
Er bestaat wel een functie om ALLE woorden een hoofdletter te geven.
Dus prins nassaustraat wordt dan Prins Nassaustraat.
Maar een naam als laan van oranje wordt dan Laan Van Oranje.
En dat is ook niet goed.

Mogelijke opties:
- niets doen, gebruiker voert het goed in (immers: eigennamen met hoofdletters; iedereen weet dat) >> Laan van Oranje
- alles hoofdletters, dan heb je nergens last van. TNT etc doen dat ook vaak zo. >> LAAN VAN ORANJE
- ucfirst(), en genoegen nemen met wat fouten >> Laan van oranje
- ucwords(), elk woord hoofdletter, maar Laan Van Oranje

Kortom: het gaat niet helemaal goed werken. Nooit.
Tenzij je geen straatnaam laat invoeren, maar enkel postcode en huisnummer.

Toevoeging op 03/10/2015 14:34:48:

Er bestaat wel een functie om ALLE woorden een hoofdletter te geven.
Dus prins nassaustraat wordt dan Prins Nassaustraat.
Maar een naam als laan van oranje wordt dan Laan Van Oranje.
En dat is ook niet goed.

Mogelijke opties:
- niets doen, gebruiker voert het goed in (immers: eigennamen met hoofdletters; iedereen weet dat) >> Laan van Oranje
- alles hoofdletters, dan heb je nergens last van. TNT etc doen dat ook vaak zo. >> LAAN VAN ORANJE
- ucfirst(), en genoegen nemen met wat fouten >> Laan van oranje
- ucwords(), elk woord hoofdletter, maar Laan Van Oranje

Kortom: het gaat niet helemaal goed werken. Nooit.
Tenzij je geen straatnaam laat invoeren, maar enkel postcode en huisnummer.
 
N tigerrag

N tigerrag

03/10/2015 14:51:35
Quote Anchor link
Ik laat ook een postcode en huisnummer invoeren. Vervolgens heb ik een postcode avi die dan de straatnaam en plaatsnaam erbij zoekt en automatisch aanvuld. Het script echo-t het ook goed.

Bijvoorbeeld:
P.J. ter Beekstraat

Misschien moet ik het dan zoeken in de wijze van opslaan in de mysql database?
Gewijzigd op 03/10/2015 14:58:54 door N tigerrag
 
Ozzie PHP

Ozzie PHP

03/10/2015 15:30:05
Quote Anchor link
>> Vervolgens heb ik een postcode avi API die dan de straatnaam en plaatsnaam erbij zoekt en automatisch aanvuld aanvult.

Dan is je probleem toch al opgelost? De gebruiker voert alleen postcode en huisnummer in, en de straatnaam komt vervolgens uit de API.
 
N tigerrag

N tigerrag

03/10/2015 15:33:00
Quote Anchor link
Het probleem is ook wel opgelost, alleen nu als een klant zijn adres aanpast via de postcode api en deze vervolgens ge-update word naar mysql, dan is alleen de eerste letter nog een Hoofdletter:
P.j. ter beekstraat

In de variabele en echo staat het ook wel goed. Alleen bij een query update slaat ie het anders op in mysql. Er gaat dus ergens iet mis met opslaan, alleen kan ik niks geks vinden. ik wil de gegevens immers opslaan zoals deze worden aangeboden vanuit de api. de kolom is trouwens van het type VARCHAR
Gewijzigd op 03/10/2015 15:35:17 door N tigerrag
 
Ozzie PHP

Ozzie PHP

03/10/2015 15:34:21
Quote Anchor link
Waarom moet iemand een adres kunnen updaten?
 
N tigerrag

N tigerrag

03/10/2015 15:36:37
Quote Anchor link
leden met een account kunnen dan zelf bijvoorbeeld een verhuizing doorgeven en/of wijzigen.
Gewijzigd op 03/10/2015 15:37:13 door N tigerrag
 
Ozzie PHP

Ozzie PHP

03/10/2015 15:38:19
Quote Anchor link
Dan laat je ze toch weer opnieuw een postcode en huisnummer invoeren (en dus niet het adres).
 
N tigerrag

N tigerrag

03/10/2015 15:41:13
Quote Anchor link
Dat gebeurd ook. de api geeft dus het correcte en goed geschreven adres. Alleen bij het updaten in mysql worden de Hoofdletters omgezet in kleine letters, behalve de eerste van het eerste woord terwijl ik eigenlijk zou willen dat mysql update zoals de variabele daadwerkelijk zijn en ge-POST worden
Gewijzigd op 03/10/2015 15:42:30 door N tigerrag
 
Ozzie PHP

Ozzie PHP

03/10/2015 15:44:30
Quote Anchor link
Dat doe je zelf door dit te doen:

$adres = ucfirst(strtolower($_POST['adres']));

Try this:

$adres = $_POST['adres'];
 
N tigerrag

N tigerrag

03/10/2015 15:49:54
Quote Anchor link
Inderdaad!.Ik had verderop in het script nog staan:

if ($Adres_Wijziging == "new")
{
$Adres=trim($adres);
$Adres=ucfirst(strtolower(strip_tags($Adres)));

Logisch dus dat dit fout ging... haha

Hartelijk dank voor het wakker schudden! het werkt nu simpel en goed!
 
Ozzie PHP

Ozzie PHP

03/10/2015 15:52:26
Quote Anchor link
Graag gedaan ;-)

(Let er wel op dat je ook de nodige beveiliging inbouwt en niet zomaar alles wat mensen intypen in de database opslaat.)
 
N tigerrag

N tigerrag

03/10/2015 16:15:58
Quote Anchor link
zeker. ik heb er sowieso een strip_tags inzitten voor alle formuliervelden. Daarbij heb ik de input velden welke door de api worden gevuld op <disabled> staan waardoor mensen niet zelf kunnen rommelen in de input velden welke automatsich worden aangevuld.

Nogmaals bedankt en fijne dag verder
 
Ozzie PHP

Ozzie PHP

03/10/2015 16:20:12
Quote Anchor link
>> Daarbij heb ik de input velden welke door de api worden gevuld op <disabled> staan waardoor mensen niet zelf kunnen rommelen in de input velden welke automatsich worden aangevuld.

Ik vraag me af of je daar op kunt vertrouwen. Via software kun je de post-waarden voor het verzenden wijzigen. Ik zou daar dus niet helemaal op vertrouwen.

Jij ook fijne dag.
 
N tigerrag

N tigerrag

03/10/2015 16:24:32
Quote Anchor link
Je hebt gelijk inderdaad. Het blijft lastig om optimaal te beveiligen. Zelfs met versleuteling ben je niet 100% safe. Het blijft 'elektronisch' en dus te kraken. Maar goed, probeer altijd wel iets aan beveiliging te doen
 
Eddy E

Eddy E

03/10/2015 20:32:50
Quote Anchor link
Toch knap dat Ozzie precies kan raden wat jij in je script hebt staan ;).
Volgende keer wat meer code geven, dan hadden we dat ook gezien.
En vertellen dat je de informatie uit de API haalde én dat die correct is, maar in het geval van updaten blijkbaar wordt gewijzigd, had veel gescheeld.
 
Ozzie PHP

Ozzie PHP

04/10/2015 00:03:26
Quote Anchor link
>> Toch knap dat Ozzie precies kan raden wat jij in je script hebt staan ;).

Staat gewoon in z'n allereerste bericht ;-)
 



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.