Duda con arrays en PHP

Iniciado por RevolucionVegana, 7 Agosto 2017, 23:03 PM

0 Miembros y 1 Visitante están viendo este tema.

RevolucionVegana

Buenas a todos me preguntaba si se puede declarar un array de esta forma:

Código (php) [Seleccionar]

//new_fav_array sería el array
//size_old_fav_array sería una variable que almacena un entero

$new_fav_array[$size_old_fav_array];



Y también si se puede pasar un array a una función de esta forma:

Código (php) [Seleccionar]


serialize($new_fav_array)



Y por último si se puede pasar de esta forma:

Código (php) [Seleccionar]


mostrar($new_fav_array[$i]);



Muchas gracias y un saludo!
HAS DICHO ALGO NENAAAAAA?!

#!drvy

Citarme preguntaba si se puede declarar un array de esta forma:

No. En todo caso seria:
Código (php) [Seleccionar]
$new_fav_array[] = $size_old_fav_array;

o

Código (php) [Seleccionar]
$new_fav_array[$index] = $size_old_fav_array;




CitarY también si se puede pasar un array a una función de esta forma:

Si.




CitarY por último si se puede pasar de esta forma:

Si, pero solo pasarias el valor del indice indicado.

Saludos

RevolucionVegana

Vale muchas gracias, esa parte ya la he solucionado ahora estoy haciendo unas pruebas con el tema de las COOKIES porque tengo un problema con ellas, quizás me puedas echar una mano mira:

Código (php) [Seleccionar]
<?php

$nombres
[]="Susanita";
$nombres[]="tiene";
$nombres[]="un";
$nombres[]="raton";

echo 
$nombres[0];
echo 
$nombres[1];
echo 
$nombres[2];
echo 
$nombres[3];

echo 
"<br />";


if(isset(
$_COOKIE['favcookie'])){

echo "La cookie existe.";
}else{

echo "La cookie NO existe.";
}

$cookie_name "favcookie";
setcookie($cookie_nameserialize($nombres), time() + (86400 30), "/"); // 86400 = 1 day

$prueba_array_cookie unserialize($_COOKIE['favcookie']);

foreach(
$prueba_array_cookie as $valor){

echo $valor;

}



?>


El problema lo tengo en que siempre me dice que SÍ existe la cookie cuando no debería ser así, es decir si yo abro un navegador en modo privado que no contiene cookies, y entro al archivo al principio debería mostrarme en pantalla que no existe la cookie, y cuando vuelva a recargar me debería mostrar que sí existe porque se ha creado al final de ese archivo, o es que las cookies son lo primero que se crea? Como va el tema?, muchas gracias!

PD: Me cago en el p*** https
HAS DICHO ALGO NENAAAAAA?!

#!drvy

He hecho la prueba con tu script, y funciona según debe. Primero me pone que no existe, y a la próxima recarga que si.

Prueba hacer un var_dump sobre $_COOKIE antes de ponerla para ver que cookies te responde que tiene.

Saludos

RevolucionVegana

Vale entonces mi problema lo tengo al destruir la cookie, hasta ahora he estado usando esto:

Código (php) [Seleccionar]


<?php


unset($_COOKIE['favcookie']);


?>




Pero veo que no funciona correctamente, acabo de probar esto que me lo he cogido de stackoverflow y sí que me funciona bien:

Código (php) [Seleccionar]


<?php


unset($_COOKIE['favcookie']);
setcookie('favcookie'null, -1'/');


?>




He mirado en la documentación de php:

Citarsetcookie — Enviar una cookie

Pero no acabo de pillar como es que setcookie() hace como que la borra, que hace exactamente la borra, la inhabilita? xD

Gracias eh drvy!


HAS DICHO ALGO NENAAAAAA?!

#!drvy

Las cookies en si no se pueden borrar directamente. Tienes que decirle al navegador que han expirado para que las borre el. Por eso unset() no funciona.

De todos modos, te recomiendo empezar a trabajar con SESSIONES cuanto antes. Son mucho más cómodas y seguras. Y obviamente te permiten manejaras a tu antojo.

http://php.net/manual/es/session.examples.basic.php

Saludos

RevolucionVegana

Cita de: #!drvy en  8 Agosto 2017, 02:39 AM
Las cookies en si no se pueden borrar directamente. Tienes que decirle al navegador que han expirado para que las borre el. Por eso unset() no funciona.

De todos modos, te recomiendo empezar a trabajar con SESSIONES cuanto antes. Son mucho más cómodas y seguras. Y obviamente te permiten manejaras a tu antojo.

http://php.net/manual/es/session.examples.basic.php

Saludos

Si para los login y eso uso sesiones pero pensaba que solo servían para esa sesion del navegador, es decir, que cuando se cierra el navegador ya no existe la sesion, las sesiones también pueden durar 1 mes?

Saludos
HAS DICHO ALGO NENAAAAAA?!

#!drvy

Citarlas sesiones también pueden durar 1 mes?

Si quieres si.

https://stackoverflow.com/a/9797962

Saludos

RevolucionVegana

Vale pues excelente drvy me ayudaste muchísimo y por cierto, ya que veo que te interesa el tema de la seguridad por si acaso todavía no lo habías visto, he leído en stackoverflow (esta mañana) que serialize y unserialize no son seguros, ya lo cambiaré en un futuro solo que ahora tengo prisa con esto, gracias de nuevo y un saludo drvy!
HAS DICHO ALGO NENAAAAAA?!