<?php
$paseoLocationTo=$_POST['locationTo'];
$paseoLocationFrom=$_POST['locationFrom'];
$PTime=$_POST['time'];
echo"The value of Location to is $paseoLocationTo </br>";
echo"The value of Location from is $paseoLocationFrom </br>";
echo"The value of time is $PTime </br>";
mysql_connect('localhost', 'root', '')
or die(mysql_error());
mysql_select_db('shuttle_service_system')
or die(mysql_error());
$TripID =mysql_query("
SELECT DISTINCT Trip_ID as 'TripID'
FROM trip
WHERE Timeslot LIKE '$PTime' AND Location_From Like '$paseoLocationFrom' AND Location_To LIKE '$paseoLocationTo'
");
echo "<form action='LastPage.php' method='post'>";
while($check = mysql_fetch_array($TripID))
**echo "<name='TripID' id='TripID'>" . $check['TripID'] . " ";**
echo "<p class='sure'> Are you sure with your reservation? </p>";
echo"<input type='submit' value='Submit' class='Log'>";
echo"</form";
?>
从另一个php文件,这是LastPage.php
<?php
**$TripID=$_POST['TripID'];
echo"The value of trip ID is $TripID </br>";**
?>
大家好,我想知道为什么我无法访问其他php文件中的“TripID”变量?我以前访问它但现在似乎有问题,我做得对吗?对不起php和SQL新手。
答案 0 :(得分:1)
您需要添加
<input type="text" name="TripID" value="'.$check['TripID'].'" ... />
在表单中,以便使用$_POST['TripID']
检索值。
没有
之类的东西 **echo "<name='TripID' id='TripID'>" . $check['TripID'] . " ";**
在您的代码中找到。
答案 1 :(得分:1)
**echo "<name='TripID' id='TripID'>" . $check['TripID'] . " ";**
看起来应该是:
echo "<input type='text' name='TripID' id='TripID' value='" . $check['TripID'] . "' />";
如果您不希望它可编辑,请显示它,然后添加隐藏字段:
echo $check['TripID'];
echo "<input type='hidden' name='TripID' id='TripID' value='" . $check['TripID'] . "' />";
基本上,您不会将您的旅行ID放入实际的表单标签中,因此不会将其发布到您的LastPage.php。
编辑:修复第一个输入以将tripID包装在value属性中。
答案 2 :(得分:0)
您的表单标记未正确关闭。它现在为echo </form";
应为echo"</form>";
你也没有在输入标签中添加名字。
应该是
echo"<input type='submit' value="$check['TripID']" name="TripID" class='Log'>";
没有名称标签<name>
,但你用过怎么样?
答案 3 :(得分:0)
替换以下行
**echo "<name='TripID' id='TripID'>" . $check['TripID'] . " ";**
带
echo "<input type="hidden" name="TripID" value="'.$check['TripID'].'" />";
因此,当前页面上的用户无法看到它,但是当您发布表单时,它将在$ _POST ['TripID']变量中可用。
您的标签未正确关闭还有一件事。
使用MySQLi和预准备语句来阻止SQL注入。
PS:如果它为你工作,请接受答案。