[PHP] Function problem z wyświetlaniem

Witam

Co muszę zrobić, że jak funkcja check_sms zwróci Bad code to wyświetla się źle ?

<?php

function check_sms($host_sms,$kod_sms)

{

	// HOST ZABIJAKA.PL

    if($host_sms == "zabijaka") {


	//by wlochen znaczna poprawa i optymalizacja  

$sms = '1';

$apikey = 'aec70c5bdede7f30b9612bfb7a6e76c9';


$_apiAnswer = file_get_contents("http://api.zabijaka.pl/1.1/".$apikey."/sms/".$sms."/".$kod_sms."/sms.json/add");

$answer = json_decode($_apiAnswer);


if($answer->{'error'}){

	echo $answer->{'txt'};

	//$chceck_sms = '1';

} else if ($answer->{'success'}) {

	echo 'Poprawny kod sms:'. $kod_sms.	($answer->{'amount'}?' Doładowuje kwotą: '.$answer->{'amount'}:'');

	//$chceck_sms = '0';

}


	}

	// KONIEC HOST ZABIJAKA.PL

}


if(check_sms("zabijaka", "dsa") == "Bad code") {echo 'zle';} else echo 'dobre';




?>

Przecież funkcja nic nie zwraca :stuck_out_tongue: Masz mieć return a nie echo.

to jak to zrobić ?

Więc zamień echo na return

Zakładając, że ta funkcja kiedykolwiek teraz ci wyświetla bad code if powinien działać. Jednak proponuję tak:

$ret=check_sms('zabijaka', 'dsa');echo $ret=='Bad Code'?$ret:'zły code' [/code]
Ew jeśli nie zadziała:
[code=php]echo ($ret=='Bad Code')?$ret:'zły code' 

Nie używaj ", bo interpreter musi sprawdzać czy są zmienne. If w twoim wypadku jest bez sensu :)

powyższy kod dobrze działa ale nie jest optymalny, tu masz poprawny kod

<?php

//by wlochen znaczna poprawa i optymalizacja http://amxx.pl/user/509-portek/ 

$sms = 'wartość sms wysyłana postem lub getem';

$kod = 'kod zwrotny ';

$apikey = 'api key z panelu';


$_apiAnswer = file_get_contents("http://api.zabijaka.pl/1.1/".$apikey."/sms/".$sms."/".$kod."/sms.json/add");

$answer = json_decode($_apiAnswer);


if($answer->{'error'}){

	echo $answer->{'txt'};

} else if ($answer->{'success'}) {

	echo 'Poprawny kod sms:'. $kod.	($answer->{'amount'}?' Doładowuje kwotą: '.$answer->{'amount'}:'');

}


?>

który był sprawdzany i działa poprawnie

ps. to nie odkop przyda się :slight_smile: