我遇到以下问题,我在PHP中创建了一个cookie,然后在javascript中读取并打印了它,并且发生了这种情况。我不知道如何纠正它。请帮忙。
我阅读了javascript中的cookie:
var micookie = (document.cookie.indexOf('resultado=') === -1 ? '' : ("; " + document.cookie).split('; resultado=')[1].split(';')[0]);
所以他用PHP创建了cookie:
setcookie("resultado","success",time() + 1, "/kira");
它会像这样打印,如您在图像中所见
Cerraste+sessi%C3%B3n
创建通知的代码
var i = -1;
var toastCount = 0;
var $toastlast;
var micookie = (document.cookie.indexOf('resultado=') === -1 ? '' : ("; " + document.cookie).split('; resultado=')[1].split(';')[0]);
var micookietipo = (document.cookie.indexOf('tipo_result=') === -1 ? '' : ("; " + document.cookie).split('; tipo_result=')[1].split(';')[0]);
micookietipo = decodeURIComponent((micookietipo + '').replace(/\+/g, '%20'))
var micookiedesc = (document.cookie.indexOf('desc_result=') === -1 ? '' : ("; " + document.cookie).split('; desc_result=')[1].split(';')[0]);
micookiedesc = decodeURIComponent((micookiedesc + '').replace(/\+/g, '%20'))
function alerta() {
var shortCutFunction = micookie;
var msg = micookiedesc || '';
var title = micookietipo || '';
var $showDuration = $(300);
var $hideDuration = $(1000);
var $timeOut = $(2000);
var $extendedTimeOut = $(500);
var toastIndex = toastCount++;
var addClear = $('#addClear').prop('checked');
toastr.options = {
closeButton: false,
debug: false,
newestOnTop: false,
progressBar: true,
positionClass: 'toast-bottom-right' || 'toast-top-right',
preventDuplicates: true,
onclick: null
};
toastr.options.showEasing = 'swing';
toastr.options.hideEasing = 'linear';
toastr.options.showMethod = 'fadeIn';
toastr.options.hideMethod = 'fadeOut';
var $toast = toastr[shortCutFunction](msg, title); // Wire up an event handler to a button in the toast, if it exists
$toastlast = $toast;
if (typeof $toast === 'undefined') {
return;
}
};
if (typeof micookie !== 'undefined' && typeof micookietipo !== 'undefined' && typeof micookiedesc !== 'undefined') {
alerta();
}
VALIDATE.PHP
<?php
$error = $_COOKIE['resultado'];
if($error == 'error'){
header("location: ../../index.php");
} else {
require_once "../biblioteca.php";
session_start();
$db = ConectaDb($dbHost, $dbUser, $dbPass, $dbName);
$nombre=recoge("nombre");
$email=recoge("email");
$password=recoge("password");
$consulta="SELECT * FROM users WHERE nombre='$nombre' AND email='$email' AND password='$password'";
$result = $db->query($consulta);
if (!$result) {
print "<p>Error en la consulta.</p>\n";
}
elseif ($result->fetchColumn() == 0) {
setcookie("resultado","error",time() + 1, "/kira");
setcookie("tipo_result","Datos incorrectos",time() + 1, "/kira");
setcookie("desc_result","Usuario o contraseña incorrectos",time() + 1, "/kira");
header("Location: ../../index.php");
}
else {
$consulta = "SELECT * FROM users WHERE nombre = '$nombre'";
$result = $db->query($consulta);
if (!$result) {
print " <p>Error en la consulta.</p>\n"; print "\n";
} else {
$consulta = "SELECT * FROM users WHERE nombre = '$nombre'";
$result = $db->query($consulta);
foreach ($result as $valor) {
$tipo_usuario = $valor['tipo_usuario'];
$foto = $valor['foto'];
if($tipo_usuario == "admin"){
setcookie("resultado","success",time() + 1, "/kira");
setcookie("tipo_result","Bienvenido Administrador $nombre",time() + 1, "/kira");
setcookie("desc_result","Has iniciado sessión correctamente",time() + 1, "/kira");
$_SESSION['tipo_user'] = 'administrador';
$_SESSION['usuario'] = $nombre;
$_SESSION['email'] = $email;
$_SESSION['fotoperfil'] = $foto;
$carpeta = '../resources/musica/'.$nombre;
if (!file_exists($carpeta)) {
mkdir($carpeta, 0777, true);
}
$carpeta = '../resources/voz/'.$nombre;
if (!file_exists($carpeta)) {
mkdir($carpeta, 0777, true);
}
$carpeta = '../resources/luz/'.$nombre;
if (!file_exists($carpeta)) {
mkdir($carpeta, 0777, true);
}
$carpeta = '../resources/comida/'.$nombre;
if (!file_exists($carpeta)) {
mkdir($carpeta, 0777, true);
}
$carpeta = '../resources/foto/'.$nombre;
if (!file_exists($carpeta)) {
mkdir($carpeta, 0777, true);
}
header("Location: ../../panelcontrol_admin.php");
return;
}
elseif($tipo_usuario=="user"){
setcookie("resultado","success",time() + 1, "/kira");
setcookie("tipo_result","Bienvenido Usuario $nombre",time() + 1, "/kira");
setcookie("desc_result","Has iniciado sessión correctamente",time() + 1, "/kira");
$_SESSION['tipo_user'] = 'usuario';
$_SESSION['usuario'] = $nombre;
$_SESSION['email'] = $email;
$_SESSION['fotoperfil'] = $foto;
$carpeta = '../resources/musica/'.$nombre;
if (!file_exists($carpeta)) {
mkdir($carpeta, 0777, true);
}
$carpeta = '../resources/voz/'.$nombre;
if (!file_exists($carpeta)) {
mkdir($carpeta, 0777, true);
}
$carpeta = '../resources/luz/'.$nombre;
if (!file_exists($carpeta)) {
mkdir($carpeta, 0777, true);
}
$carpeta = '../resources/comida/'.$nombre;
if (!file_exists($carpeta)) {
mkdir($carpeta, 0777, true);
}
$carpeta = '../resources/foto/'.$nombre;
if (!file_exists($carpeta)) {
mkdir($carpeta, 0777, true);
}
header("Location: ../../panelcontrol_user.php");
return;
}
}
}
}
$db = null;
}
?>
答案 0 :(得分:1)
您可以像这样在javascript中解码字符串:
var micookie = (document.cookie.indexOf('resultado=') === -1 ? '' : ("; " + document.cookie).split('; resultado=')[1].split(';')[0]);
decodeURIComponent((micookie + '').replace(/\+/g, '%20'))