Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中打印foreach循环中的变量值,无需刷新页面_Php_Foreach - Fatal编程技术网

在php中打印foreach循环中的变量值,无需刷新页面

在php中打印foreach循环中的变量值,无需刷新页面,php,foreach,Php,Foreach,我在返回变量中使用curl php get result。我在每个循环中使用它来检索返回变量中的所有键值并打印我通过索引获得的所有值。这里一切都很好,但我尝试将无值存储在$\u SESSION['date']变量中,并在函数外部回显它。第一次运行页面时,它不会打印$\u SESSION['date']。但是当我们刷新页面时,它会打印出来。请给我解决方案。谢谢,我的代码是 我想在不刷新页面的情况下在div中打印日期 <html> <body> <div id="h

我在返回变量中使用curl php get result。我在每个循环中使用它来检索返回变量中的所有键值并打印我通过索引获得的所有值。这里一切都很好,但我尝试将无值存储在$\u SESSION['date']变量中,并在函数外部回显它。第一次运行页面时,它不会打印$\u 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);
 ?>


首先调用
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']
一个值。