【发布时间】:2014-03-22 16:49:25
【问题描述】:
我已经看到在 php 中使用 header 来重定向到一个页面。
我使用了下面代码中的方法和代码下面给出的重定向错误。
我需要知道代码出了什么问题。
这里是代码(php):
<?php
/**
* Created by PhpStorm.
* User: Priyabrata
* Date: 3/18/14
* Time: 8:58 PM
*/
function connect_to_db($uid, $pass){
$con=mysqli_connect("localhost", "root", "12345", "MyDB");
if (mysqli_connect_errno()){
echo "Failed to establish link!!";
}else{
echo mysqli_connect_error();
}
$result=mysqli_query($con, "SELECT `pwd` from `login_table` where `uid` = "."'".$uid."'");
if (!$result){
echo "Error!!";
exit();
}
while($xx = mysqli_fetch_array($result)){
if ($xx['pwd'] == hash("MD5", $pass)){
header("location:../Html/Login-Existing-Users1_success.htm");
exit();
}else{
echo "Invalid Login Credentials!!";
exit();
}
}
mysqli_close($con);
}
function validate_credentials(){
if ((isset($_POST["username"]))&&(isset($_POST["password"]))){
$uid = $_POST["username"];
$pwd = $_POST["password"];
if (($uid == "")||($pwd == "")){
echo "Please enter User name and password";
}else{
//Check user name and password
connect_to_db($uid, $pwd);
}
}else{
echo "Please enter User name and password";
}
}
validate_credentials();
这是我得到的错误,而不是上传到服务器时的重定向:
Warning: Cannot modify header information - headers already sent by (output started at /home/opticfhb/public_html/helpvssupport.net/login.php:19) in /home/opticfhb/public_html/helpvssupport.net/login.php on line 27
附加信息:这在我的本地机器上完美运行,并在服务器中产生了问题。
【问题讨论】:
-
看起来这一行正在创建问题
if (mysqli_connect_errno()){ echo "Failed to establish link!!"; }else{ echo mysqli_connect_error(); }检查逻辑,因为即使没有错误它也会尝试回显