Toon posts:

[php]Returnvalue in functies

Pagina: 1
Acties:

Verwijderd

Topicstarter
Stel ik heb een functie in een class, die ik vanuit een script aanroep.

Bij de uitvoer van dit script kan van alles misgaan en dan moet de functie in de class een error returnen aan het script. Als alles goed is gegaan dan moet er een melding terug gegeven worden aan het script, zodat hier weer verder mee gewerkt kan worden.

Hoe doe ik dit? Moet ik dan de functieaanroep nog anders definieren? En hoe krijg ik wat terug en wat kan ik er dan mee doen? Bedankt voor de uitleg.

  • Rashann
  • Registratie: Maart 2000
  • Laatst online: 24-08 07:20

Rashann

Zoek de hond...

www.php.net/return ?

En je wilt alleen weten of de input goed is, en er verder niks mee doen?

return 1 indien goed, en anders return -1 ofzo als het dus niet goed is (dan kan je script daar op reageren)

Of denk ik nu te simpel?

If nothing is written below, I was the last to reply...


Verwijderd

Topicstarter
ehm ok, dan doe ik dus bijvoorbeeld:

return("filetype $bestand_type niet correct. <p>")

Hoe kan ik dit dan weer uitlezen in het script?

  • Grum
  • Registratie: Juni 2001
  • Niet online
$bla = functie_die_iets_returned();

print $bla;

Verwijderd

PHP:
1
2
3
4
5
6
7
8
function bla() {

// allemaal code

return($var);
}

$blaat = bla();


:?

Verwijderd

Let er wel op dat als je meerdere variabelen terug wilt geven dat php blijft hangen op de return. Dat kan die namelijk niet. Oplossing is een array teruggeven met daarin de variabelen

PHP:
1
2
3
4
5
6
7
8
9
function functie ()
{
    if(basename($HTTP_REFERER) == 'index.php') $var = 'blaat';
    if(basename($HTTP_REFERER) == 'config.php') $var = 'schaap';
    else $error = 'Verkeerd!';

    $array = array($var, $error);
    return $array;
}

werkt wel

PHP:
1
2
3
4
5
6
7
function functie ()
{
    if(basename($HTTP_REFERER) == 'index.php') $var = 'blaat';
    if(basename($HTTP_REFERER) == 'config.php') $var = 'schaap';
    else $error = 'Verkeerd!';
    return $var, $error;
}

werkt niet.
HTH

Verwijderd

Verwijderd schreef op 06 september 2002 @ 13:25:
Let er wel op dat als je meerdere variabelen terug wilt geven dat php blijft hangen op de return. Dat kan die namelijk niet. Oplossing is een array teruggeven met daarin de variabelen

PHP:
1
2
3
4
5
6
7
8
9
function functie ()
{
    if(basename($HTTP_REFERER) == 'index.php') $var = 'blaat';
    if(basename($HTTP_REFERER) == 'config.php') $var = 'schaap';
    else $error = 'Verkeerd!';

    $array = array($var, $error);
    return $array;
}

werkt wel
Persoonlijk zou ik dit anders doen. $var en $error in dit voorbeeld bestaan namelijk NOOIT tegelijk.

Verwijderd

Ja, het was ook ff een voorbeeld. Ging meer om het idee.

  • Grum
  • Registratie: Juni 2001
  • Niet online
daniel_hoenderdos:
PHP:
1
2
3
4
5
6
7
8
9
function functie ()
{
    if(basename($HTTP_REFERER) == 'index.php') $var = 'blaat';
    if(basename($HTTP_REFERER) == 'config.php') $var = 'schaap';
    else $error = 'Verkeerd!';

    $array = array($var, $error);
    return $array;
}

werkt wel

Ow ? :D

Sinds wanneer is $HTTP_REFERER een superglobal ? :D

Verwijderd

Shit!
Pagina: 1