我试图从数据数组中获取特定数据,但无法获得正确的输出.请指导我.
码
echo "<pre>";
$cart = VirtueMartCart::getCart();
$cmpny=$cart->BT;
print_r($cmpny);
$i=0;
foreach($cmpny as $data)
{
if(true)
{
echo $data."\n";
}
$i++;
}
exit;
Run Code Online (Sandbox Code Playgroud)
输出我得到的
我怎么能只获取[公司]或只能获取任何单个元素....我试图访问
$data->company
Run Code Online (Sandbox Code Playgroud)
但不能取....所以请指导我....
在Lift中管理状态的一种典型方法是创建一个扩展SessionVar的单例对象,就像这个例子中的文档一样:
object MySnippetCompanion {
object mySessionVar extends SessionVar[String]("hello")
}
Run Code Online (Sandbox Code Playgroud)
使用SessionVars 的情况很清楚,我已经根据需要在实践中使用它们.我也大致了解它们是如何在里面工作的.
尽管如此,我还是不禁想知道为什么"会话变量"的机制与当前会话明显相关(通常只是系统中许多会话中的一个),设计为通过单例使用?这与我的直觉object相反,乍看之下我很想相信Lift能够以某种方式覆盖Scala的语言特征,并在常规Scala中创造出与众不同的东西.
即使我现在明白它是如何运作的,我也无法理解这种设计的理由,至少在我看来,这种设计打破了最不惊讶的规则.有人可以指出任何优势,或者解释为什么可以做出这样的设计决定?
我试图弄清楚如何使用JSTL使用会话,因此,我首先尝试在Jsp中设置会话属性,然后将该属性传递给同一应用程序中的另一个Jsp,然后在其中进行检索。
我设置了属性并使用调度程序来到达另一个servlet,在另一种尝试中,我使用了sendRedirect将请求转发到另一个servlet。
这是第一个Jsp(我在其中设置属性):
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
<c:set var="session" scope="session" value="test"></c:set>
<%
response.sendRedirect("session.jsp"); // I know I could use the JSTL tag forward
%>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在另一个Jsp(“ session.jsp”)中:
<%
HttpSession s = request.getSession();
if(s.isNew())
out.print("new session " );
out.print(s.getAttribute("session"));
%>
Run Code Online (Sandbox Code Playgroud)
当我使用sendRedirect时,结果为"test",这意味着该会话不是新创建的。但是,当我使用forward(dispatcher)时,结果为"new session test"。
我不知道发生这种行为的原因,但是如果结果相反,这是有道理的。
这是循环API发送的$ POST数据并从中创建等效$ SESSION名称/值对的正确方法吗?
foreach($_POST as $key=>$value)
{ $_SESSION['$key']=$value; }
Run Code Online (Sandbox Code Playgroud)
更新: 首先,感谢坚实的回应 - 我想我需要解释我正在努力克服的问题以及为什么要考虑这个功能.$ _POST响应来自支付处理器网关 - 问题是,由于付款表单/处理不在我们的域中,付款结果(已批准/已拒绝等)正通过$ POST传递给我们的服务器 - 当我们的PHP代码尝试处理响应数据时,它会在那里找到各种PHP结构(比如php包含'file.php')而不是我们的错误 - 我需要将$ POST数据移动到会话中然后将此人移回我们的域,以便文件/目录/资源树正确.我遇到了什么才有意义?
我正在学习java并尝试将一些变量从servlet传递给jsp页面.这是来自servlet页面的代码
@WebServlet("/Welcome")
public class WelcomeServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
HttpSession session = request.getSession();
session.setAttribute("MyAttribute", "test value");
// response.sendRedirect("index.jsp");
RequestDispatcher dispatcher = request.getRequestDispatcher("index.jsp");
dispatcher.forward(request, response);
}
}
Run Code Online (Sandbox Code Playgroud)
简单的jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>My Index page</title>
</head>
<body>
Index page
<br />
<%
Object sss = request.getAttribute("MyAttribute");
String a = …Run Code Online (Sandbox Code Playgroud) 我有以下PHP代码,它计算对页面的每次访问.如果我直接打电话给对方,那就很重要了.如果我进行Ajax调用,它将始终以1开始.
<?php
session_start();
header('Access-Control-Allow-Origin: *');
if (!isset($_SESSION['zaehler'])) {
$_SESSION['zaehler'] = 1;
} else {
$_SESSION['zaehler']++;
}
echo $_SESSION['zaehler'];
?>
Run Code Online (Sandbox Code Playgroud)
我理解ajax调用与直接调用相同,通过阅读:AJAX请求是否保留PHP会话信息? 只要侧面打开,我如何计算每个ajaxCall?
我正在做一个简单的jquery ajaxCall:
$.get( "http://www.huntinggrounds.de/aa.php", function( data ) {
console.log( "dataResponse: ", data );
}) .fail(function(jqXHR, textStatus ) {
console.log( "error",textStatus);
})
.always(function() {
console.log( "finished" );
});
Run Code Online (Sandbox Code Playgroud)
我制作了测试文件,testfile.html,只是一个黑屏.在桌面上单击,看到控制台中的计数器的PHP文件是在这里.
我需要通过curl脚本验证我的用户
session_start();
$_POST["username"]= "user";
$_POST["password"]= "password";
$ch = curl_init();
$url = 'signin.php';
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($_POST));
curl_setopt($ch,CURLOPT_POSTFIELDS, $_POST);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$result = json_decode(curl_exec($ch),true);
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)
signin.php对api进行另一个curl调用,我确保signin.php返回所有必需的信息,设置所有必需的会话变量,返回一个数组:
echo json_encode(array(
'success' => true,
'ALLSESSION' => $_SESSION,
'error'=> ""
));
Run Code Online (Sandbox Code Playgroud)
ALLSESSION正在返回正确的会话变量,但它们不能直接访问,我的意思是我不能使用$ _SESSION ["userid"],它在会话数组中不存在.
如何保留2页之间的会话?
谢谢
我正在尝试制作一个小应用程序,所以我选择了无脂肪框架.我需要根据成功或错误显示一些消息.假设我是否要添加用户,那么如果成功添加了显示消息,表明用户已成功添加,或者如果没有显示错误消息,则表示无法添加用户.我想不明白.这是我的Userscontroller代码
public function index(){
$user = new User($this->db);
$this->f3->set('users',$user->all());
//there should be a way to decide if its error message or success and after display,
//it shouldn't be displayed again for the same task.
//or may be it should be check in view file, I don't know where is the correct place
// to do it
$this->f3->set('page_head','User List');
$this->f3->set('view','users/list.htm');
Run Code Online (Sandbox Code Playgroud)
}
public function create(){
if($this->f3->exists('POST.create')){
$user = new User($this->db);
$user->add();
//set session here to show in view file after redirect to …Run Code Online (Sandbox Code Playgroud) class FileController extends Controller
{
public function login()
{
/*
* TODO: Handle via CAS
* Hardcoded for demo purposes
*/
Session::put('isLogged', true);
Session::put('index', "123456");
return View::make('login');
}
public function user()
{
if(Session::get('isLogged') == true )
return View::make('user');
}
}
Run Code Online (Sandbox Code Playgroud)
我有以下代码。登录时有一个指向FileControllers @ user的链接。在第二页上,我的会话数据丢失(Session :: all()为空)。是什么导致此问题?
我需要以某种方式格式化传入的有效负载JSON。有效载荷JSON示例如下所示。
[
{
"value": {
"States": [
{
"Name": "New South Wales",
"Code": "NSW"
}
]
}
},
{
"value": {
"States": [
{
"Name": "Western Australia",
"Code": "WA"
}
]
}
}
]
Run Code Online (Sandbox Code Playgroud)
我想获得的输出如下:
[
{
"SystemCode": "STATE",
"Name": "StateName",
"Code": "NSW"
},
{
"SystemCode": "STATE",
"Name": "StateName",
"Code": "WA"
}
]
Run Code Online (Sandbox Code Playgroud)
如上所示,在输出中,SystemCode和Name将保持不变,而Code值将根据传入的有效负载而变化。生成所需的输出后,我需要在会话变量中存储与JSON相同的内容。如何在Mule dataweave 1.0中实现此目标。 请注意,我可以使用不同的代码接收多个数组作为有效载荷。提前致谢。