Willkommen in der Webstatt Zum Webstatt Blog und Stories
BNightSpeeder am 29.10.06 15: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!

netcup.de Warum gibt es hier Werbung?
Broken Sword Broken Sword am 29.10.06 15:09

Quote
Original von BNightSpeeder
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.

Al3x0r Al3x0r am 29.10.06 15: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;

}

BNightSpeeder am 29.10.06 15: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"); ?>
<? check_captcha("1234"); ?>
<?
echo $check;
?>


es wird aber nichts angezeigt.

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

Snake am 29.10.06 15:27

return gibt etwas ZURÜCK.

also $var = function()

in deinem fall:

$check = check_captcha("1234");

BNightSpeeder am 29.10.06 15:43

thx, snake

Broken Sword Broken Sword am 30.10.06 08: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";
}

Snake am 30.10.06 11:21

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

Broken Sword Broken Sword am 30.10.06 11:31

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

:D 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. :D

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt