Programación Web y Scripting > PHP
Paso de arrays
(1/1)
Kyrylys:
Hola de nuevo^^
tengo un pequeño problemilla trabajando con el paso de arrays entre funciones en php
en este caso he consegido pasar el array a una funcion a trave´s de un formulario que recarga la pagina.
--- Código: Text ---<?php//devolvera el contenido del arrayfunction con_array($v){ foreach($v as $valor) echo($valor."<br>"); echo("adios"); return $v;} //creo el array $v[0]="0"; $v[1]="A"; $v[2]="b"; //muestro el boton y paso el array para que se reciba en la misma paginaecho("<form name='formu' method='post' action='index.php?op=1'><input type='submit' value='ok' name='ok'><input type='hidden' value='$op' name='op'><input type='hidden' value='el arrray' value=$v></form>");//miro si $op tiene valor, si lo tiene es que el boton ha sido pulsadoswitch($op){//caso que si llama a con_array Case op==1: echo("HOla"); con_array($v);//caso que no Default: echo("No hay nada<br>"); }>?
El problema es que se visualiza todo
--- Citar ---[BOTON]
HOla0
A
b
adiosNo hay nada
--- Fin de la cita ---
tanto si lo pulso como si no
esto que parece una tonteria quiero que me sirva para otra cosilla, a ver si simplificando veo los fallos
gracias.
shadow_rev:
Al final de un case, siempre debes poner un break (a menos que esté de último):
--- Código: PHP ---switch($variable){ case 'valor1': // Accion a realizar break; case 'valor2': // Otra accion break; default: // accion por defecto}
:suerte:
Kyrylys:
cierto, gracias... hay dias que porque tengo la cabeza sobre los hombros XD
aún así muestra el array antes de pulsar el boton : (
he probado también con $_POST y es lo mismo...
shadow_rev:
Ahora que entro a ver con detalle el código, veo algunas cositas:
1. $op no lo declaras en ninguna parte. A menos que tengas register_globals en on (php.ini, poco recomendable), deberías llamarla con $_GET['op']
2. case op==1: ?? de verdad creo que no era tu día cuando escribiste eso :P
Yo lo haría así:
--- Código: PHP ---if(isset($_GET['op']) && $_GET['op'] != ''){ echo 'Hola<br />'; con_array($v);}else{ echo 'No hay nada';}
Si lo deseas hacer con switch, en vez de poner case op==1: pon case 1: o case '1':
:suerte:
Kyrylys:
Muchisimas gracias ^^
:wacko: si... a veces soy un despiste conpatas...sorry
Un saludo :good:
Navegación
Ir a la versión completa