从PHP,SQL中的另一个文件访问变量

时间:2013-11-13 14:08:55

标签: php mysql sql

<?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新手。

4 个答案:

答案 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:如果它为你工作,请接受答案。