2011-11-30 18 views
10

php brinda la capacidad de enviar matrices desde _GET.enviando matrices en _GET en php

ejemplo:

test.php?var1=abc&arr[0]=1&arr[3]=test 

la Salida:

Array 
(
    [var1] => abc 
    [arr] => Array 
     (
      [0] => 1 
      [3] => test 
     ) 

) 

se consideran esta mala codificación?

+0

completamente bien y hecho a menudo. solo asegúrese de validar los valores antes de hacer algo con ellos. – Yamiko

Respuesta

16

No, es una práctica habitual. También es una práctica natural para enviar selecciones con un tamaño mayor que uno.

+0

¿me puede decir lo que quiere decir con 'enviar selecciones con un tamaño mayor que uno'? – aki

+0

cuando crea elementos de formulario seleccione con atributos size = "n" y multiple = "multiple" - puede elegir varias opciones. Cuando va al servidor, se ve como selectname = val1 & selectname = val2 & ... Por lo tanto, para recibir los valores en PHP debe nombrar seleccionar como selectname [], y en $ _GET o $ _POST sería una matriz con la clave selectname. – dmitry

+0

oh veo, gracias por la información – aki

3

Eso se ve bien.

Incluso se puede hacer:

prueba.php var1 = abc & arr [] = 1 & arr [] = prueba

Qué seria:?

Array 
(
    [var1] => abc 
    [arr] => Array 
     (
      [0] => 1 
      [1] => test 
     ) 

) 
-1

Sí, es algo malo de hacer, y también es realmente malo para sus sitios web SEO. Se pone realmente confuso rápidamente si pones demasiado en la cadena de consulta. ¡Mantenlo simple!

+0

No ... solo NO. Supongo que tiene poco o ningún conocimiento de .htaccess reescribe. http://roshanbh.com.np/2008/03/url-rewriting-examples-htaccess.html solo porque pasa datos con '$ _GET' NO significa que los datos se puedan ver en la url. puede usar htaccess para cambiar cómo se muestra la url. la mayoría de los sitios reemplazan '& foo = bar' y'? foo = bar' con '/ bar'. Además, OP no estaba preguntando sobre SEO que estaba preguntando acerca de las prácticas de codificación. – Yamiko

+0

El OP no preguntó por las reescrituras de htaccess. Sé mucho sobre las reescrituras htaccess, y también puedo decir que su archivo .htaccess está lleno de muchas reescrituras, en lugar de una que redirige todo a/y luego analiza en $ _SERVER ['REQUEST_URI'] en su lugar. Pero que se yo? Tengo poco o ningún conocimiento de .htaccess reescribe. –

+0

OP preguntó acerca de '$ _GET' su razón para decir que es malo no es válida porque puede usar .htaacess. Sí, sí tengo reglas de reescritura porque algunos de los datos en la url quiero que se vean con fines de SEO. También tengo curiosidad acerca de cómo pasar los datos si un usuario está haciendo clic en un enlace generado dinámicamente para ir a un blog con una identificación sin pasar los datos en la URL de los enlaces. – Yamiko