variable valor recibir ejemplo _request _post php

valor - recibir variables get php



¿Cómo obtener PHP $_GET array? (10)

¿Es posible tener un valor en $_GET como una matriz?

Si intento enviar un enlace con http://link/foo.php?id=1&id=2&id=3 , y quiero usar $_GET[''id''] en el lado php, ¿cómo puede ese valor ser un ¿formación? Porque ahora echo $_GET[''id''] está devolviendo 3 . Es la última identificación que está en el enlace del encabezado. ¿Alguna sugerencia?


Coloque todos los identificadores en una variable llamada $ ids y sepárelos con un ",":

$ids = "1,2,3,4,5,6";

Pásales así:

$url = "?ids={$ids}";

Procesarlos:

$ids = explode(",", $_GET[''ids'']);


Creo que sé lo que quieres decir, si quieres enviar una matriz a través de una URL puedes usar serialize

por ejemplo:

$foo = array(1,2,3); $serialized_array = serialize($foo); $url = "http://www.foo.com/page.php?vars=".$foo;

y en page.php

$vars = unserialize($_GET[''vars'']);


Cuando no desee cambiar el enlace (por ejemplo, foo.php?id=1&id=2&id=3 ) probablemente pueda hacer algo como esto (aunque podría haber una mejor manera ...):

$id_arr = array(); foreach (explode("&", $_SERVER[''QUERY_STRING'']) as $tmp_arr_param) { $split_param = explode("=", $tmp_arr_param); if ($split_param[0] == "id") { $id_arr[] = urldecode($split_param[1]); } } print_r($id_arr);


La forma habitual de hacerlo en PHP es poner id[] en su URL en lugar de simplemente id :

http://link/foo.php?id[]=1&id[]=2&id[]=3

Entonces $_GET[''id''] será una matriz de esos valores. No es especialmente bonito, pero funciona de la caja.


Puede especificar una matriz en su HTML de esta manera:

<input type="hidden" name="id[]" value="1"/> <input type="hidden" name="id[]" value="2"/> <input type="hidden" name="id[]" value="3"/>

Esto dará como resultado esta matriz $ _GET en PHP:

array( ''id'' => array( 0 => 1, 1 => 2, 2 => 3 ) )

Por supuesto, puede usar cualquier tipo de entrada de HTML, aquí. Lo importante es que todas las entradas cuyos valores desee en la matriz ''id'' tengan el nombre id[] .


Puede hacer id una serie de valores separados por comas, como este:

index.php?id=1,2,3&name=john

Luego, dentro de su código PHP, explórelo en una matriz:

$values = explode(",", $_GET["id"]); print count($values) . " values passed.";

Esto mantendrá la brevedad. El otro método (más comúnmente usado con $ _POST) es usar corchetes de estilo de matriz:

index.php?id[]=1&id[]=2&id[]=3&name=john

Pero eso claramente sería mucho más detallado.


Puede obtenerlos usando la Cadena de consulta:

$idArray = explode(''&'',$_SERVER["QUERY_STRING"]);

Esto te dará:

$idArray[0] = "id=1"; $idArray[1] = "id=2"; $idArray[2] = "id=3";

Entonces

foreach ($idArray as $index => $avPair) { list($ignore, $value) = explode("=", $avPair); $id[$index] = $value; }

Esto te dará

$id[0] = "1"; $id[1] = "2"; $id[2] = "3";


Sí, aquí hay un ejemplo de código con alguna explicación en los comentarios:

<?php // Fill up array with names $sql=mysql_query("SELECT * FROM fb_registration"); while($res=mysql_fetch_array($sql)) { $a[]=$res[''username'']; //$a[]=$res[''password'']; } //get the q parameter from URL $q=$_GET["q"]; //lookup all hints from array if length of q>0 if (strlen($q) > 0) { $hint=""; for($i=0; $i<count($a); $i++) { if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q)))) { if ($hint=="") { $hint=$a[$i]; } else { $hint=$hint." , ".$a[$i]; } } } } ?>



$url = ''http://link/foo.php?id=1-2-3''; $id = explode(''-'', $url); echo $id[0]; echo $id[1]; echo $id[2];