【发布时间】:2021-03-08 20:40:10
【问题描述】:
您好,我想看看是否有人知道如何将 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
【问题讨论】:
-
在生成断开连接表单时,您有
$oCompany、$_REQUEST['DBCompany']等。因此,在断开连接表单中包含重新生成$oCompany所需的任何内容作为隐藏字段,这样当处理断开连接的 POST,您可以像提交连接表单时一样设置$oCompany。 PS - 如果你能创建一个minimal, complete, and verifiable example,你会让人们更容易提供帮助。
标签: php sap-business-one-di-api