-1

这是我的代码。实际上,我正在页面上显示来自 mysql 的一些数据并创建动态链接。我想在开始任何代码之前在代码的最开头开始与 session_start() 的会话。我想存储要在其他页面上显示的链接的值..

page1.php

 <a style="color:#F00; font-family:Arial, Helvetica, sans-serif; margin-left:33px; font-weight:bold">      
      No. of registered students:
 </a>
<table border='1' align="center" style="font-size:14px" width="95%" cellspacing="3" class="db_table">
<tr class="db_table_tr" >

<th class="db_table_th" name="submit">USN</th>
</tr>
<?php
include('includes/login_connection.php');

    $query = "select p.usn, p.name from personal_details p, course_codes c where p.usn = c.usn order by p.usn";

    $run = mysql_query($query) or die($query."<br/><br/>".mysql_error()); 
    $num = mysql_numrows($run);         
    echo $num;
    while($row = mysql_fetch_assoc($run)){

        echo "<tr>";
        echo "<td><a href = page2.php" . ">" . $row['usn'] . "</a>" . "</td>";
        echo "<td>" . $row['name'] . " </td>";

        if(isset($_GET['submit'])){
            $_SESSION['session_usn'] = $_GET['usn'];
        }
    }
    echo "</tr>";
    mysql_close($bd);

?>
</table>

page2.php

<?php
session_start();
if(isset($_SESSION['session_usn']))
    {
        $_POST['usn'] = $_SESSION['session_usn'];
        echo $_POST['usn'];
    }


?>
4

1 回答 1

0

如果提供的 URL 不包含该$_GET部分中的正确变量,您需要提供一个后备选项。

你有:

if(isset($_GET['submit'])){
    $_SESSION['session_usn'] = $_GET['usn'];
}

$_GET['submit']如果未设置,您应该执行其他操作:

if(isset($_GET['submit'])){
    $_SESSION['session_usn'] = $_GET['usn'];
} else {
    $_SESSION['session_usn'] = "unset";
    // or set a warning flag like "unset"
}

您应该为您的 php 文件提供如下网址:

http://yoururl.com/page1.php?usn='333'

其中 333 是您要存储的值。

于 2013-07-30T21:35:46.107 回答