使用html和php传递两个值(一个来自文本,一个隐藏)

使用html和php传递两个值(一个来自文本,一个隐藏),php,html,Php,Html,我在这里真的很挣扎,我花了很多时间在一个解决方案上,但似乎我遗漏了一些东西 所以我有一个页面,我有两个值: $semesterID = $_GET['semesterID']; $semesterID_old = $semesterID; 我这样做是因为我想在下一页上传递2个值。我正试图这样做: <form action=ed_semester_v2.php method="post"> <div id="name&qu

我在这里真的很挣扎,我花了很多时间在一个解决方案上,但似乎我遗漏了一些东西

所以我有一个页面,我有两个值:

$semesterID = $_GET['semesterID'];
$semesterID_old = $semesterID;
我这样做是因为我想在下一页上传递2个值。我正试图这样做:

    <form action=ed_semester_v2.php method="post">
    
    <div id="name">
    <h2 class="name">Semester ID</h2>
    <input class="subjectname" type="text" name="sem_id" id="sem_id" value= "<?php echo $semesterID; ?> " /> <br>     
    </div>

     <input type="hidden" name="semesterID_old" value= "<?php  $semesterID_old; ?>"/>

    <button type="submit" value="Submit" name="submit">SAVE CHANGES</button>
    
 </form>
第一个名字很好,但塞梅斯特里德·奥尔德说这个名字没有定义


任何帮助都将不胜感激。

只需更改
echo semesterID\u old
回显$semesterID\u old

输入错误。将这两个值输出到页面时,工作的值具有
echo
,不工作的值没有
echo
。您只是忘记了输出第二个值。@David这似乎有效,但我不明白为什么需要echo来传递值。我一开始不想把它打印出来。我认为只要把它的价值,因为它是ti将工作。谢谢“我不明白为什么我需要echo来传递值”-那么为什么您要使用
echo
作为第一个值,
$semesterID
?“我不想首先打印它”-如果浏览器需要将值发送到服务器,那么浏览器需要具有该值。总的来说,流程是您需要将值放在客户机上,然后客户机将它们作为表单的一部分发送到服务器。很抱歉输入错误。那样的话,我什么也没印出来。
if(isset($_POST['submit'])) {
    $first_name=$_POST['sem_id'];
    $last_name=$_POST['sem_name'];
    $semesterID_old= $_POST['semesterID_old'];
    if (empty($last_name)) {
    echo "Name is empty";
    } else {
    $query = "UPDATE semesters SET name = '$last_name' where semesterid='$first_name'";
    }
     if (!mysqli_query($dbconnect, $query)) {
    die('An error occurred when submitting your review.');
} else {
 // echo "Thanks for your review.";
    
    }
}    

echo $first_name;   
echo $semesterID_old;