嗨,我想看看是否有人知道我如何保存oCompany变量在cookie或会话中重用
例如:
按连接按钮连接,但按断开按钮不起作用,它不会断开连接,因为oCompany变量不再存在。
谢谢
<html>
<head>
<title>App SAP</title>
</head>
<body>
<h1>APP SAP DI API</h1>
<form method="post" action ="indexLogin.php">
Compañia:
<select name="DBCompany">
<option value="0">Seleccione:</option>
<?php
$oCompany = new COM("SAPbobsCOM.Company")or die ("No connection");
$oCompany->DBServerType = 7;
$oCompany->Server = "Server";
$oRecordSet = ("SAPbobsCOM.Recordset");
$oRecordSet = $oCompany->GetCompanyList;
if ($oCompany->GetLastErrorCode !==0 ) {
$lErrCode=0;
$sErrMsg="";
$oCompany->GetLastError($lErrCode, $sErrMsg);
echo '<option>'.$lErrCode." - ".$sErrMsg.'</option>';
}
Else{
while(!$oRecordSet->EOF){
echo '<option>'.$oRecordSet->Fields->Item(0)->Value.'</option>';
$oRecordSet->MoveNext;
}
}
?></select><br><br>
Usuario: <input type="text"name="User"><br><br>
Clave: <input type="password"name="Pass"><br><br>
<input type="submit" name="submit" value="Conectar a Sap">
</form>
<br>
<?php
if (isset($_POST['submit']))
{
set_time_limit(60);
$oCompany->CompanyDB = $_REQUEST['DBCompany'];
$oCompany->UserName = $_REQUEST['User'];
$oCompany->Password = $_REQUEST['Pass'];
$oCompany->language = 25;
$oCompany->UseTrusted = False;
$lRetCode = $oCompany->Connect();
if ($lRetCode != 0){
$lErrCode=0;
$sErrMsg="";
$oCompany->GetLastError($lErrCode, $sErrMsg);
echo "ERROR: (".$lErrCode.") ".$sErrMsg;
}else{
echo "Conectado a: ".$oCompany->CompanyName." Version: ".$oCompany->Version;
}
}
echo '<br><br>';
if (!$oCompany->Connected)
{
Echo "No hay conexión";
}
else
{
//$oCompany->Disconnect();
Echo "Conectado";
}
?>
<form method="post" action ="indexLogin.php">
<input type="submit" name="Desconectar" value="Desconectar">
</form>
<?php
if (isset($_POST['Desconectar']))
{
if (!$oCompany->Connected)
{
Echo "¡No hay conexión";
}
else
{
$oCompany->Disconnect();
Echo "Desconectado";
}
}
?>
</body>
</html
php
对于SAP业务的网站连接,您应该使用server或Service Layer。
在这两个api中,您使用用户/密码登录来获取令牌。此令牌是您必须存储在会话中的内容。那么任何调用都可以通过使用令牌来完成。
- 一些服务器文档:https://archive.sap.com/documents/docs/DOC-7699
- 一些服务层文档:https://sap-samples.github.io/smb-summit-hackathon/b1sl.html
PS:我个人建议你在可用的情况下使用服务层