[PHP]NewBie funtie vraag

Pagina: 1
Acties:

  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
<?

session_start();

function replace_cijfer($string){

global $string;

//$string = str_replace(".","[img]images/punt.gif>",$string); //$string[/img]",$string);
//$string = str_replace("-","[img]images/streepje.gif>",$string); $string[/img]",$string);
$string = str_replace("1","[img]images/een.gif>",$string); $string[/img]",$string);
$string = str_replace("3","[img]images/drie.gif>",$string); $string[/img]",$string);
$string = str_replace("5","[img]images/vijf.gif>",$string); $string[/img]",$string);
$string = str_replace("7","[img]images/zeven.gif>",$string); $string[/img]",$string);
$string = str_replace("9","[img]images/negen.gif[/img]",$string);

return $string;
}

?>

<form method=post action=<? $PHP_SELF; ?>>
<input type=text name=getal>Getal<BR>
<input type=submit>
</form>

<?
If (!empty($getal)) {
$string = replace_cijfer($getal);

echo " $string";

}

?>

Beste mensen,
Ik ben aan het rommelen met functies..maar ik snap er geen hout van.
Als ik aan dit scrippie een invoer $getal=100; geef dan blijft $string leeg..

Please tel me why??

Verwijderd

Vermoedelijk staat register_globals uit. Je moet in plaats van $getal in jouw geval $_POST['getal'] gebruiken.

Overigens snap ik niet waarom je een session start en waarom je $string global wil maken.

Verwijderd

Bovenstaande klopt, en..
Op dinsdag 11 juni 2002 22:11 schreef vorlox het volgende:
<?

session_start();

function replace_cijfer($string){

global $string;

//$string = str_replace(".","[img]images/punt.gif>",$string); //$string[/img]",$string);
//$string = str_replace("-","[img]images/streepje.gif>",$string); $string[/img]",$string);
$string = str_replace("1","[img]images/een.gif>",$string); $string[/img]",$string);
$string = str_replace("3","[img]images/drie.gif>",$string); $string[/img]",$string);
$string = str_replace("5","[img]images/vijf.gif>",$string); $string[/img]",$string);
$string = str_replace("7","[img]images/zeven.gif>",$string); $string[/img]",$string);
$string = str_replace("9","[img]images/negen.gif[/img]",$string);

return $string;
}

?>

<form method=post action=<? $PHP_SELF; ?>>
<input type=text name=getal>Getal<BR>
<input type=submit>
</form>

<?
If (!empty($getal)) {
$string = replace_cijfer($getal);

echo " $string";

}

?>

Beste mensen,
Ik ben aan het rommelen met functies..maar ik snap er geen hout van.
Als ik aan dit scrippie een invoer $getal=100; geef dan blijft $string leeg..

Please tel me why??
Waarom gebruik je een sessie (session_start()) als je d'r verder nix mee doet?

Je code graag tussen [ code ][/ code] tags (zonder de spaties)

Lees eens een tutorial/boek zou ik zeggen.. :)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

En vanwaar die global $string? Die is toch niet global? die is gewoon lokaal in je functie.. Aan het eind wordt ie netjes terug gegeven (mbv return)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • vorlox
  • Registratie: Juni 2001
  • Laatst online: 02-02-2022

vorlox

I cna ytpe 300 wrods pre miute

Topicstarter
Nou sorry hoor, ik probeer maar wat en die session_start() stond er gewoon nog...
code:
1
:(

Ik zal volgende keer wat precieser zijn.

Maar dan nog, die global boeit inderdaad ook niet maar als
ik
voor
code:
1
2
3
4
5
6
7
8
9
10
<?
If (!empty($getal)) {
    $string = $getal;
    replace_cijfer($getal);

        echo " $string";

}

?>

dan werkt het wel ???

Verwijderd

Maar dan nog, die global boeit inderdaad ook niet maar als
ik
voor
code:
1
2
3
4
5
6
7
8
9
10
<?
If (!empty($getal)) {
    $string = $getal;
    replace_cijfer($getal);

        echo " $string";

}

?>

dan werkt het wel ???
[/quote]

zoals je het nu hebt heb je wel een global nodig lijkt me maar buiten dat is het handiger om in je code het volgende te doen:
code:
1
2
3
4
5
6
<?
If (!empty($getal)) {
    $string = replace_cijfer($getal);
    echo $string;
      } 
?>

Dat zou moeten werken eigenlijke!

Verwijderd

Vergeet niet om voor je geposte variabele
PHP:
1
<? $_POST['getal'] ?>

i.p.v. gewoon
PHP:
1
<? $getal ?>

te gebruiken.

Dit is de nieuwe wijze..

Verwijderd

Op dinsdag 11 juni 2002 22:21 schreef vorlox het volgende:
Nou sorry hoor, ik probeer maar wat en die session_start() stond er gewoon nog...
ff een tip dan :) Als je zo aan het proberen gaat probeer dan ook te begrijpen wat je aan het doen bent, anders schiet je er weinig mee op. Dan is het gewoon het c/p'en van andermans code.
code:
1
2
3
4
5
6
7
8
9
10
<?
If (!empty($getal)) {
    $string = $getal;
    replace_cijfer($getal);

        echo " $string";

}

?>
Nee, want jouw $getal heeft geen waarde. De waarde die jij via het formuliertje hebt verstuurd zit in $_POST['getal']. Als je lui* bent zou je dus gewoon in je script bovenaan hetvolgende kunnen zetten:
PHP:
1
<?$getal = $_POST['getal'];?>

* Met lui bedoel ik dat het netter kan

Verwijderd

Inderdaad :)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

wees dan goed lui, en zet in je .htaccess een auto-prepend-file, waar
PHP:
1
<?extract ( $_POST );?>

in staat





:+

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

edit:
nog niet wakker
:D
Pagina: 1