标题php功能

时间:2015-01-29 11:25:47

标签: php html

我在使用标头功能重定向时遇到问题。代码如下。

 <?php 
 include_once('connectdb.php');    
 $from=  $_POST['select-choice-1'];
 $to=  $_POST['select-choice-2'];
$date=  $_POST['date'];
$time=  $_POST['time'];
$no_of_seats=  $_POST['passengerno'];  
if (isset($_POST['select-choice-1']) && isset($_POST['select-choice-2']) &&      isset($_POST['date']) &&
isset($_POST['time']) && isset($_POST['passengerno']) && !empty($_POST['select-choice-1']) && !empty($_POST['select-choice-2']) 
&& !empty($_POST['date']) && !empty($_POST['time']) && !empty($_POST['passengerno'])) {
$sql=mysql_query("SELECT email,phone FROM driverjourneydetails WHERE jfrom='$from' 
AND jto='$to' AND date='$date' AND time='$time' AND no_of_seats_avail='$no_of_seats'");     
$rows=mysql_num_rows($sql);
//print_r($_POST);
 if($rows>0){
 header("location: availableCars.php");
}else{   
echo "No available cars on your route";
}  }
else echo "Missing fields. Please all the required fields.";
?>

在我的数据库中,有一行匹配意味着header() func。被调用,但这里是我当前页面上显示的错误,尽管事实上没有标题功能一切正常

  

注意:未定义的索引:第3行的C:\ wamp \ www \ app \ passengerJourneyDetails.php中的select- choice-1

2 个答案:

答案 0 :(得分:0)

在将任何输出发送到浏览器之前,必须对header()函数进行所有调用(除非您使用输出缓冲)。尝试更改错误报告级别(或实际修复错误本身)。

例如,使用isset()将有助于您在将来阻止此类通知:

if( isset($_POST['select- choice-1'] )
{
    $from = $_POST['select- choice-1'];
}

值得注意的是,您的代码对SQL injection攻击持开放态度。 mysql_*函数系列现已弃用,不应在生产代码中使用。调查MySQLiPDO,更具体地说,调查Prepared Statements以避免此类安全漏洞。

答案 1 :(得分:0)

我认为您的表单输入名称未正确标记。

<form action="exampled" method="post">

  <input type="text" name="first" placeholder="First Name"> 

  <input type="text" name="last" placeholder="First Name">

  <button type="submit" name="submit">signup</button>

</form>


$from=  $_POST['first'];
$to=  $_POST['last'];