【发布时间】:2014-01-20 08:55:46
【问题描述】:
我在返回变量中使用 curl php 获取结果。我使用每个循环来检索返回变量中的所有键值并打印我通过索引获得所有值。这里一切都很好,但我正在尝试第 6 次没有值存储在 $_SESSION['date'] 变量中并在函数外部回显它。第一次运行页面时它不会打印 $_SESSION['date']。但是当我们刷新页面时它会打印。请给我解决方案。谢谢我的代码是 我想在不刷新页面的情况下在 div 中打印日期。
<html>
<body>
<div id="head"> <?php echo $_SESSION['date']; ?></div>
<?php
function curlUsingGet($url, $data)
{
if(empty($url) OR empty($data))
{
return 'Error: invalid Url or Data';
}
$fields_string = '';
foreach($data as $key=>$value) { $fields_string .= $key.'='.urlencode($value).'&'; }
rtrim($fields_string,'&');
$urlStringData = $url.'?'.$fields_string;
$_SESSION['urlStringData']=$urlStringData;
$cookie= "cookie.txt";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,0);
curl_setopt($ch, CURLOPT_USERAGENT , "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
curl_setopt($ch, CURLOPT_COOKIESESSION,true);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_FRESH_CONNECT,true);
curl_setopt($ch, CURLOPT_URL,$urlStringData);
$return = curl_exec($ch);
$arrel = explode('|',$return);
foreach($arrel as $val)
{
$new_el=explode('~',$val);
print"<ul data-role=listview data-icon=false style=margin-top:3%;>";
print" <li >";
print"<a href='causelistmsg.php?a=$new_el[3]&b=$new_el[4]'>";
print"<font class=alignleft size='3' style=color:#FFFF00;>";
echo $new_el[0];
print"</font>";
print"<font size='3' class=aligncenter style=color:#FF8000;>";
echo $new_el[2];
print"</font>";
print"<font class=alignright size='3' style=color:#00CC00;>";
echo $new_el[1];
print"</font>";
print"</a>";
print" </li >";
print" </ul>";
$_SESSION['date'] = $new_el[6];
curl_close($ch);
}
$_SESSION['date'];
$data = array('u' =>$_SESSION['councel']);
echo curlUsingGet('http://"url"/causelist/CauseListData',$data);
?>
【问题讨论】:
-
你在哪里调用 session_start() ?
-
首先我调用 session_start();在文档类型之前
-
您应该在页面顶部使用
session_start()开始会话。 -
是的,先生,我首先开始 session_start
-
这里一切都很好,但是当我尝试在 foreach 循环外打印 $_SESSION['date'] 时,意味着 div 中的页面顶部在页面第一次运行时不会打印。但是当我刷新将打印日期的页面。