在php中打印foreach循环中的变量值,无需刷新页面
我在返回变量中使用curl php get result。我在每个循环中使用它来检索返回变量中的所有键值并打印我通过索引获得的所有值。这里一切都很好,但我尝试将无值存储在$\u SESSION['date']变量中,并在函数外部回显它。第一次运行页面时,它不会打印$\u SESSION['date']。但是当我们刷新页面时,它会打印出来。请给我解决方案。谢谢,我的代码是 我想在不刷新页面的情况下在div中打印日期在php中打印foreach循环中的变量值,无需刷新页面,php,foreach,Php,Foreach,我在返回变量中使用curl php get result。我在每个循环中使用它来检索返回变量中的所有键值并打印我通过索引获得的所有值。这里一切都很好,但我尝试将无值存储在$\u SESSION['date']变量中,并在函数外部回显它。第一次运行页面时,它不会打印$\u SESSION['date']。但是当我们刷新页面时,它会打印出来。请给我解决方案。谢谢,我的代码是 我想在不刷新页面的情况下在div中打印日期 <html> <body> <div id="h
<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);
?>
首先调用echo$\u SESSION['date']
,然后才给它赋值
您应该做的是在实际开始输出之前完成所有逻辑,即您的foreach($arrel as$val)
部件应该只填充一个数组
顺便说一句,你将你的$\u会话['data']
设置在每个foreach
周期内,所以它被重写了好几次。这是正常的,还是确实是一个逻辑缺陷?你调用SESSION\u start()?首先我调用SESSION\u start();在文档类型之前,你应该使用SESSION\u start()启动会话
在页面顶部。是的,先生,我开始会话\u首先在这里开始一切正常,但当我试图在out of foreach循环中打印$\u会话['date']时,意味着在div中的页面顶部,当页面第一次运行时,它将不会打印。但当我刷新页面时,它将打印日期。先生,我想从新的\u el中检索日期[6]当我们在$\u SESSION['date']中存储新的元素[6]并在div中打印echo时,它会给出正确的值,但是在页面刷新之后。但是我想在页面第一次运行时显示echo date看,您的问题是,您首先执行一个
,然后才在第一次运行时给$\u SESSION['date']
一个值。