2017-06-09 112 views
0

嗨我无法从我的html form.I需要知道如何从html表单正确获取数据。其次为什么这不起作用?当我点击“IBM Quote”时,我需要获得“IBM”的价值。

<!DOCTYPE html> 
<html> 
<head> 
    <title>Stock Quote</title> 

</head> 
<body> 

<form action="soapTest.php" method="post"> 

    <button name="IBM" type="submit">IBM Quote</button> 

</form> 



</body> 
</html> 

PHP代码

<?php 
$wsdl = "http://www.restfulwebservices.net/wcf/StockQuoteService.svc?wsdl"; 

$client = new SoapClient($wsdl); 
$stock = $_POST["button"]; 
print $stock; 
$parameters= array("request"=>$stock); 
$values = $client->GetStockQuote($parameters); 
$xml = $values->GetStockQuoteResult; 
$currentprice = $xml->Last; 
$volume=$xml->Volume; 
$percentageChange=$xml->PercentageChange; 


if($volume!=null) 
    print "<br />\n Volume: $volume"; 
else 
    print "Volume not set"; 

if($percentageChange!=null) 

    print "<br />\n PercentageChange: $percentageChange"; 
else 
    print "percentageChange not set"; 

?> 

输出:

Notice: Undefined index: button in /Applications/XAMPP/xamppfiles/htdocs/soapTest.php on line 6 

Fatal error: Uncaught SoapFault exception: [a:InternalServiceFault] Object reference not set to an instance of an object. in /Applications/XAMPP/xamppfiles/htdocs/soapTest.php:9 Stack trace: #0 /Applications/XAMPP/xamppfiles/htdocs/soapTest.php(9): SoapClient->__call('GetStockQuote', Array) #1 /Applications/XAMPP/xamppfiles/htdocs/soapTest.php(9): SoapClient->GetStockQuote(Array) #2 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/soapTest.php on line 9 
+0

输入名称是“IBM”而不是“按钮”。 –

+0

'$ stock = $ _POST ['IBM'];'会为你工作。 – Bhavin

回答

1

"IBM"是你的按钮的名称,所以你要叫这个名字的岗位价值。

$stock = $_POST['IBM']; 

或者,您可以更改您的html代码,并为该按钮指定名称按钮,其值为IBM。

<button name="button" value="IBM" type="submit">IBM Quote</button> 
+0

第二个正在工作,但第一个给出:注意:未定义的索引:第6行上的/Applications/XAMPP/xamppfiles/htdocs/soapTest.php中的按钮 致命错误:未捕获的SoapFault异常:[a:InternalServiceFault]未设置对象引用到一个对象的一个​​实例。在/Applications/XAMPP/xamppfiles/htdocs/soapTest.php:9堆栈跟踪:#0 /Applications/XAMPP/xamppfiles/htdocs/soapTest.php(9):SoapClient - > __ call('GetStockQuote',Array)#1 /应用程序/ XAMPP/xamppfiles/htdocs/soapTest.php(9):SoapClient-> GetStockQuote(Array)#2 {main}引发/Applications/XAMPP/xamppfiles/htdocs/soapTest.php –