Toon posts:

[PHP] Newbie: Functions?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

ik ben NET bezig met PHP..
En probeer iets te doen... namelijk het volgende...

Iemand moet een formulier invullen, met bijvoorbeeld het veld VOORNAAM.

ik wil er voor zorgen dat dat niet volstaat met rotzooi en zo... beetje ordenen dus...
Nu wil ik het volgende met de input doen:
* strtolower
* ucwords
* trim

omdat er meerdere velden zijn leek het me handig een function er voor te schrijven... maar volgens mij doe ik het fout...
de bedoeling is dus dat in niet tig keer al die zooi hoef te zetten, maar maar 1 functie schrijft die datalles doet... en die ik dan meerdere keren aanroep (die functie, voor elk veld)

snappen we het nog?

hier is wat ik heb, het zal wel niet kloppen maar ik heb tenminste geprobeerd (het boek verward me ook een beetje :S)
PHP:
1
2
3
4
5
6
7
8
9
10
function fix_strings($what_field) {
    $fixed_string = strtolower($what_field);
    $fixed_string = ucwords($what_field);
    $fixed_string = trim($what_field);

    return($fixed_string);
    }

fix_strings($FORM_firstname);
$firstname = $fixed_string;


alleen dit werkt voor geen meter.... :S

enig idee?

  • RRX
  • Registratie: Mei 2000
  • Laatst online: 25-08 23:43

RRX

@life-

Verwijderd schreef op 23 september 2002 @ 00:40:
[..]

alleen dit werkt voor geen meter.... :S

enig idee?
je doet elke keer:

PHP:
1
2
3
    $fixed_string = strtolower($what_field); 
    $fixed_string = ucwords($what_field); 
    $fixed_string = trim($what_field);


dus je overschrijft elke keer $fixed_string zonder de vorige mee te nemen, bij de eerste doe je het wel goed, maar daarna moet je $fixed_string veranderen:

PHP:
1
2
3
    $fixed_string = strtolower($what_field); 
    $fixed_string = ucwords($fixed_string); 
    $fixed_string = trim($fixed_string);


Je denkwijze was een beetje verkeerd, zo kan het ook, dan is ie wat kleiner:

PHP:
1
2
3
4
5
6
function fix_strings($str){
    $str = strtolower($str); 
    $str = ucwords($str); 
    $str = trim($str); 
    return $str;
}

mijn T.net systeemspecspagina


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 15:49
En moet je de door je functie gerouterneerde waarde nog zelf toekennen:
PHP:
1
$firstname = fix_string($FORM_firstname);

Verwijderd

Topicstarter
PERFECT! werkt!! ik denk dat ik hem snap ja... dom foutje... maar je ziet er natuurlijk altijd overheen, zelf dan...

hebben jullie nog een ander advies van wat ik met de string kan doen zodat er geen troep instaat?
hoe kan ik er trouwens voor zorgen zodat een string ALLEEN letters of ALLEEN cijfers heeft? kan ik niet zo 123 in mijn boek terug vinden...

thanks... dit schiet op!!

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Het is ook wel net zo verhelderend om de functies gewoon direct achter elkaar uit te voeren:

code:
1
trim(ucwords(strtolower($what_field)));


Dit moet je natuurlijk niet gaan overdreven, maar dat is met alles zo :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
hehe
thanks voor de tip...
ook nog enig idee voor de bovenstaande Q?

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 15:49
Ja hoor; zie de manual over reguliere expressies.

Verwijderd

Topicstarter
Verwijderd schreef op 23 september 2002 @ 00:54:
kan ik niet zo 123 in mijn boek terug vinden...
hebben julie buiten antwoorden, misschien ook nog suggesties?

Verwijderd

Check de 'preg_' functies op php.net eens. En hier voor uitleg van de regular expressions.
Verwijderd schreef op 23 september 2002 @ 01:05:
[...]

hebben julie buiten antwoorden, misschien ook nog suggesties?
Ja ga eerst PHP leren en dan vragen stellen, want je zult nog veel moeilijkere code tegenkomen :).

Verwijderd

tip! om letters en cijfers etc te filteren :)

  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 04-08 13:06

GraasGast

Analogue Heaven

* GraasGast is in een regex mood (wanneer niet :P)

PHP:
1
$str = preg_replace("/[^a-zA-Z0-9]+/", "", $str);
Pagina: 1