Не удается использовать возвращаемое значение функции в контексте записи php-скрипта

#php #syntax-error #php-5.3 #fatal-error

#php #синтаксическая ошибка #php-5.3 #фатальная ошибка

Вопрос:

Я попытался скомпилировать следующий скрипт, но получаю сообщение об ошибке:

 PHP Fatal error:  Can't use function return value in write context in /home/user/script.php on line 33
 

Код:

 <?php

include ("config.inc.php");
include ("header.inc.php");
include ("functions.inc.php");
include ("sorgu.php");

?>


<div id="edit_form">
<form name="create_domain" method="post">
<table>
   <tr>
      <td colspan="3"><h3>Add</h3></td>

   </tr>
   <tr>
      <td>Domain:</td>
      <td><input class="flat" type="text" name="fDomain" value="" /></td>
      <td>amp;nbsp;</td>
   </tr>
   <tr>
      </td>
      <td>amp;nbsp;</td>
   </tr>
   <tr>
      <td colspan="3" class="hlp_center"><input class="button" type="submit" name="submit" value="Add domain" /></td>
   </tr>

<?php

if ( (isset(secPOST('fDomain') )) amp;amp; (secPOST('fDomain') !="") ) {

$domain = tr_strtolower(secPOST('fDomain'));

$domain_array = explode(".", $domain);

if ( ( strlen($domain_array[0]) >= 3 ) amp;amp; ($domain_array[0]!="www") amp;amp; ( ($domain_array[1]=="com") ||  ($domain_array[1]=="net") ) ) {

$realdomain = tr_strtoupper($domain_array[0].'.'.$domain_array[1]);
$error_status =  standartcontrol($domain_array[0]);

}
else { $error_status = 8; $error_message = "version ".$script_version." only com and net extension <br> (example : domainhunter.com)"; }


if ($error_status==0) {

    $var = mysql_result(mysql_query("SELECT count( id ) FROM `monitors` WHERE `domain` = '$realdomain'  "),0,0);

    if ($var == 0 ) {

        $sql = "INSERT INTO monitors (domain) VALUES ('$realdomain')";
        $results = mysql_query($sql);

        echo '
        <tr>
              <td colspan="3" class="standout">Adding table domain!<br />('; 

        $z = hunter_islemci(tr_strtolower($realdomain));

        echo ')</br></td>
        </tr>
        ';


    }
    else { $error_status = 9; $error_message = "Existing domain in table"; }

}
else if ($error_status==4) { $error_message = "Does not IDN support"; }



    if ($error_status!=0) {

        echo '
        <tr>
                <td colspan="3" class="standout">Error '.$error_status.' : '.$error_message.'</br /></td>
        </tr>
        ';
    }


}
else 

{ 

echo '
   <tr>
      <td colspan="3" class="standout">amp;nbsp;</td>
   </tr>';

} 
?>

</table>
</form>
</div>


<?php

include "foother.inc.php"; 

?>
 

Я думаю, это может быть связано с тем, что значение () должно быть [] в скобках, но даже после изменения я не могу заставить его работать!

Ответ №1:

Ваша проблема

 isset(secPOST('fDomain')
 

Вы не можете isset протестировать возвращаемое значение из вызова функции, только для переменных