用户使用PHP登录后,我正在尝试重定向到网页。
我的PHP代码如下:
<?php
date_default_timezone_set ('AMERICA/SANTIAGO');
$dbhost = getenv('OPENSHIFT_MYSQL_DB_HOST').':'.getenv('OPENSHIFT_MYSQL_DB_PORT');
$dbusername = getenv('OPENSHIFT_MYSQL_DB_USERNAME');
$dbpassword = getenv('OPENSHIFT_MYSQL_DB_PASSWORD');
$db_name = 'tuhoramedica';
$mysqlCon = mysqli_connect($dbhost, $dbusername, $dbpassword, "", $dbport) or die ("Disculpa, estamos teniendo algunas dificultades técnicas, por favor intentalo nuevamente más tarde. Gracias por tu comprensión.'n");
mysqli_select_db($mysqlCon, $db_name) or die("Disculpa, estamos teniendo algunas dificultades técnicas, por favor intentalo nuevamente más tarde. Gracias por tu comprensión.'n");
//Prevent SQL Injection
$usuario=mysqli_real_escape_string($mysqlCon, $_POST['user']);
$password=mysqli_real_escape_string($mysqlCon, $_POST['pass']);
stripslashes($user);
stripslashes($password);
$sql = "select * from usuarios where username='".$usuario."' and pswd='".$password."'";
$result=$mysqlCon->query($sql);
if ($result->num_rows === 1) {
session_start();
$row = $result->fetch_assoc();
//echo "Bienvenido " . $row["nombre"]." ".$row["apellido"];
$_SESSION["nr_usuario"] = $row["nr_usuario"];
$_SESSION["nombre_usuario"] = $row["nombre"];
$_SESSION["apellido_usuario"] = $row["apellido"];
$_SESSION["mail_usuario"] = $row["mail"];
$_SESSION["username_usuario"] = $row["username"];
$_SESSION["autentica"] = "SIP";
header("Location: http://tuhoramedica-chakana.rhcloud.com/filtro_horas.php");
exit;
} else {
echo "Lo sentimos, su usuario y/o contraseña no coinciden.";
}
$mysqlCon->close();
?>
PHP代码在Ok中进行登录,甚至检索选定的文件。问题是,它没有将其显示为网页,而是在浏览器警报窗口中返回页面代码:
检查返回的快照
我已经在网上冲浪了一段时间,寻找其他有同样问题的人,但我什么也没找到。
顺便说一下,我正在Openshift上使用PHP和Mysql运行我的应用程序。
http://php.net/manual/en/function.stripslashes.php
返回去掉反斜杠的字符串。
这段代码本身没有任何作用。
stripslashes($user);
stripslashes($password);
我猜你想要
$usuario = stripslashes($usuario);
$password = stripslashes($password);
错误报告可能会输出关于不存在的$user
和$password
的错误,并扰乱您的标头输出。
编辑
当我发布答案时,我注意到了隐藏的评论。很高兴你解决了你的问题,但你可能仍然想解决上面的问题。