Webstatt.org - Community seit 2006 - 2012 (2024?)

return Problem

user-137
29.10.2006 14:05

Hallo,

ich habe eine function: (gekürtzt):

	
function check_captcha($captcha) {

$true = "";

if (isset($true)) {
$check = "true";
}
else {
$check = "false";
}


//Zurückgeben

return $check;

}


Wenn ich return durch echo ersetze wird es angezeigt, aber wenn ich die function in einer Datei Speichere:

function.php
und durch die index.php idenclude wird wenn ich return benutze und versuche:

echo $check;


zu machen wird nichts angezeigt!

Avatar user-142
29.10.2006 14:09

Original von user-137
Hallo,

ich habe eine function: (gekürtzt):

	
function check_captcha($captcha) {

$true = "";

if (isset($true)) {
$check = "true";
}
else {
$check = "false";
}


//Zurückgeben

return $check;

}


Wenn ich return durch echo ersetze wird es angezeigt, aber wenn ich die function in einer Datei Speichere:

function.php
und durch die index.php idenclude wird wenn ich return benutze und versuche:

echo $check;


zu machen wird nichts angezeigt!

Ich kann dir nur sehr schwer folgen. Hört sich sehr undurchschaubar an.
Gib mal bitte ein komplettes Beispiel.
Meinst du so:

function bla...
}
echo $check;

Dann ist klar, dass du nicht auf lokale Variabeln, die du in einer Funktion deklarierst zugreifen kannst.

Avatar user-118
29.10.2006 14:22

Wieso setzt du den Wert von $check in Anführungzeichen ?

So sollte es gehen:

function check_captcha($captcha) {

$true = "";

if (isset($true)) {
$check = true;
}
else {
$check = false;
}


//Zurückgeben

return $check;

}

Ich brauche keine Signatur
user-137
29.10.2006 14:22

also diese function:

Datei: 2.php
function check_captcha($captcha) {

$true = "";

if (isset($true)) {
$check = "true";
}
else {
$check = "false";
}


//Zurückgeben

return $check;

}



Datei: 1.php
<? include("function.php"zwinkern; ?>
<? check_captcha("1234"zwinkern; ?>
<?
echo $check;
?>


es wird aber nichts angezeigt.

//EDIT: @POST über mir: aber ich will den STRING ausgeben.

user-303
29.10.2006 14:27

return gibt etwas ZURÜCK.

also $var = function()

in deinem fall:

$check = check_captcha("1234"zwinkern;

user-137
29.10.2006 14:43

thx, snake

Avatar user-142
30.10.2006 07:23

Thema lokale und globale Variabeln.
Du kannst auch mit dem Befehl "global" globale Variabeln in eine Funktion laden. Zum Beispiel:
index.php

include 'functions.php';
$check = true;
check_captcha();
echo $check;

functions.php

function check_captcha() {
global $check; //können auch mehrere stehen: global $1v,$2v,$3v;
blabls;
$check = "true";
}

user-303
30.10.2006 10:21

vergiss das, was das schwert gesagt hat.
das ist das unsauberste was du überhaupt machen kannst, und gilt als verpönt

Avatar user-142
30.10.2006 10:31

Original von user-303
vergiss das, was das schwert gesagt hat.
das ist das unsauberste was du überhaupt machen kannst, und gilt als verpönt

Fettes Grinsen lol
Wie geil.

edit: Ja! Stutze deinen Horizont, anstatt ihn zu erweitern Schneide hier und da was aus TUTs heraus! Alles was unsauber ist (wobei global auf gar keinen Fall immer "unsauber" ist!) , darfst du nicht wissen. In PHP > 5 wird es das eh nicht mehr geben. Fettes Grinsen