2014-10-28 175 views
-2

[10月28日2014年15点46分22秒欧洲/布加勒斯特] PHP公告:未定义 变量:E在 /家庭/ lagramad /的public_html /折扣/系统/模块/网关/ mobilpay /cardRedirect.php 上线226

 } 
catch (Exception $e) { 


    echo "\r\n<h3>Plata voucher prin card</h3>\r\n"; 

if (!($e instanceof Exception)) 
    echo "<p> \r\n\t<form name=\"frmPaymentRedirect\" method=\"post\" action=\""; 
    echo $paymentUrl; 
    echo "\">\r\n\t<input type=\"hidden\" name=\"env_key\" value=\""; 
    echo $objPmReqCard->getEnvKey(); 
    echo "\"/>\r\n\t<input type=\"hidden\" name=\"data\" value=\""; 
    echo $objPmReqCard->getEncData(); 
    echo "\"/>\r\n\t<p>\r\n\t\tPentru a finaliza plata vei redirectat catre pagina de plati securizata a mobilpay.ro\r\n\t</p>\r\n\t<p>\r\n\t\tDaca nu esti redirectat in 5 secunde apasa <input type=\"image\" src=\"images/12792_mobilpay-96x30.gif\" />\r\n\t</p>\r\n\t</form>\r\n</p>\r\n"; 

    echo "<script type=\"text/javascript\" language=\"javascript\">\r\n\twindow.setTimeout(document.frmPaymentRedirect.submit(), 5000);\r\n</script>\r\n"; 
} else { 
    echo "<p>"; 

    echo "<strong>"; 
    echo $e->getMessage(); 
    echo "</strong></p>\r\n"; 
} 


echo "\r\n\r\n\r\n"; 
return 1; 


?> 
+0

'$ e'只会被定义如有异常实际发生例如'catch'块被解雇。但是在后面的'if()'中,你无条件地在两个代码路径中使用'$ e'。 – 2014-10-28 14:03:10

回答

0

把你的if语句异常的内部

catch (Exception $e) { if ($e......) { blah vlah blah.... } }

1

$e会存在ONLY如果出现异常:

try { 
    throw new Exception('foo'); 
} catch (Exception $e) { 
    // do nothing 
} 

try { 
    $foo = 1; // no exception occurs 
} catch (Exception $f) { 
    // do nothing 
} 

var_dump($e); // spits out the exception info 
var_dump($f); // undefined variable, because no exception occured to define it