2012-04-18 52 views
-1

我会否有人可以帮助我请。通过会话变量从一种形式到另一种链接

我有以下测试表单('form.html'),如果我使用'Submit Button',我可以将'username'和'locationid'变量传递给下一个表单,在这里是'gallery'。 PHP的”

<form method="post" action="gallery.php"><br/><br/> 

<input type="text" name="username" value="IRHM73" /><br/><br/> 
<input type="text" name="locationid" value="1" /><br/><br/> 
<input type="submit" name="submit"/><br/><br/> 

</form> 

,这是‘gallery.php’

<?php 

$_SESSION['username']=$_POST['username']; 
$_SESSION['locationid']=$_POST['locationid']; 

?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<?php 

    $galleryPath = 'UploadedFiles/' . $_SESSION['username'] . '/' . $_SESSION['locationid'] . '/'; 

    $thumbnailsPath = $galleryPath . 'Thumbnails/'; 

    $absGalleryPath = realpath($galleryPath) . DIRECTORY_SEPARATOR; 

    $descriptions = new DOMDocument('1.0'); 
    $descriptions->load($absGalleryPath . 'files.xml'); 
?> 
<head> 
    <title>Gallery</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <link href="Libraries/fancybox/jquery.fancybox-1.3.1.css" rel="stylesheet" type="text/css" /> 
    <link href="Styles/style.css" rel="stylesheet" type="text/css" /> 
    <!--[if IE]> 
    <link href="Styles/ie.css" rel="stylesheet" type="text/css" /> 
    <![endif]--> 
    <script src="Libraries/jquery/jquery-1.4.3.min.js" type="text/javascript"></script> 
    <script src="Libraries/fancybox/jquery.fancybox-1.3.1.pack.js" type="text/javascript"></script> 
    <script type="text/javascript"> 

    $(function() { $('a.fancybox').fancybox(); }); 

    </script> 
    <style type="text/css"> 
<!-- 
.style1 { 
    font-size: 14px; 
    margin-right: 110px; 
} 
.style4 {font-size: 12px} 
--> 
    </style> 
</head> 
<body style="font-family: Calibri; color: #505050; font-size: 9px; border-bottom-width: thin; margin-top: 5px; margin-left: -476px; margin-right: 1px; margin-bottom: -10px;"> 
<div align="right" class="style1"> <a href = "imagefolders.php" /> View Uploaded Images In Folder Structure <a/> &larr; View All Uploaded Images </div> 
    <form id="gallery" class="page"> 
    <div id="container"> 
    <div id="center"> 
     <div class="aB"> 
     <div class="aB-B"> 
      <?php if ('Uploaded files' != $current['title']) :?> 
      <?php endif;?> 
      <div class="demo"> 
      <input name="username" type="text" id="username" value="IRHM73" /> 
      <input name="locationid" type="text" id="locationid" value="1" /> 
      <div class="inner"> 
       <div class="container"> 
       <div class="gallery"> 
        <ul class="gallery-image-list"> 
        <?php for ($i = 0; $i < $descriptions->documentElement->childNodes->length; $i++) : 
          $xmlFile = $descriptions->documentElement->childNodes->item($i); 
          $name = htmlentities($xmlFile->getAttribute('originalname'), ENT_COMPAT, 'UTF-8'); 
          $description = htmlentities($xmlFile->getAttribute('description'), ENT_COMPAT, 'UTF-8'); 
          $folder = htmlentities($xmlFile->getAttribute('folder'), ENT_COMPAT, 'UTF-8'); 
          $source = $galleryPath . rawurlencode($xmlFile->getAttribute('source')); 
          $thumbnail = $thumbnailsPath . rawurlencode($xmlFile->getAttribute('thumbnail')); 
        ?> 
        <li class="item"> 
         <a class="fancybox" target="_blank" rel="original" href="<?php echo $source; ?>"><img class="preview" 
         alt="<?php echo $name; ?>" src="<?php echo $thumbnail; ?>" /></a></li> 
         <p><span class="style4"><b>Image Description:</b> <?php echo htmlentities($xmlFile->getAttribute('description'));?> <br /> 
          <b>Contained in folder:</b> <?php echo htmlentities($xmlFile->getAttribute('folder'));?> </span><br /> 
          <?php endfor; ?> 
          </li> 
         </p> 
        </ul> 
       </div> 
       </div> 
      </div> 
      </div> 
     </div> 
     </div> 
    </div> 
    </div> 
     <div class="aB-a">  </div> 
     </div> 
    </div> 
    </div> 
    </form> 
</body> 
</html> 

现在我试图执行相同的操作,但这次通过一个链接,而不是一个按钮。

我没有改变我的“gallery.php剧本,但我的修订格式如下:

<?php 
session_start(); 
$_SESSION['username']="username"; 
$_SESSION['locationid']="locationid"; 
echo '<a href="gallery.php">Gallery</a>'; 

?> 

<input type="text" name="username" value="IRHM73" /><br/><br/> 
<input type="text" name="locationid" value="1" /><br/><br/> 

</form> 

然而,当我打开我收到以下错误形式:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /homepages/2/d333603417/htdocs/development/form.php:2) in /homepages/2/d333603417/htdocs/development/form.php on line 3

我不太熟悉'会话变量',因为我只是在学习。但我只是想知道是否有人可以看看这个,让我知道我哪里出错了。

非常感谢和问候

+0

关于[Headers already sent]的100000500000问题的副本(http://stackoverflow.com/questions/2938777/headers-already-sent)错误 – 2012-04-18 14:43:01

回答

1

在session_start()应任何输出到浏览器之前被调用,所以把它发送任何东西之前。输出从form.php文件发送。

+0

非常感谢您的帮助。亲切的问候 – IRHM 2012-04-18 14:48:27

1

它似乎在你的PHP页面的某处你有session_start();在其他操作之后调用(如print hmtl)。

始终把在session_start()作为第一个指令在PHP页面

+0

这很棒@ ab_dev86。非常感谢 – IRHM 2012-04-18 14:48:58