Foros del Web » Programando para Internet » PHP »

no hace nada...

Estas en el tema de no hace nada... en el foro de PHP en Foros del Web. Tengo este codigo, al que se llega por un submit POST, y en donde en ese formulario hay una serie de checkboxes. <?php //if they ...
  #1 (permalink)  
Antiguo 13/05/2010, 08:46
 
Fecha de Ingreso: mayo-2010
Mensajes: 112
Antigüedad: 14 años, 6 meses
Puntos: 0
no hace nada...

Tengo este codigo, al que se llega por un submit POST, y en donde en ese formulario hay una serie de checkboxes.

<?php
//if they checked box 1
if(isset($_POST['seleccion[0]']))
{
echo("You checked box 1<br>");
}
else
echo("Ninguo seleccionado");
?>

¿Por que no llega el valor de seleccion[0]? De hecho seleccion[0] es el name del checkbox y yo querria saber $array[0], que es una variable dentro del mismo formulario. ¿Como lo hago?

Gracias.
  #2 (permalink)  
Antiguo 13/05/2010, 09:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: no hace nada...

¿Como tienes el control?

Saludos.
  #3 (permalink)  
Antiguo 13/05/2010, 09:11
 
Fecha de Ingreso: mayo-2010
Mensajes: 112
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: no hace nada...

Influye que esa variable este dentro de una funcion? Influye que el codigo de esa funcion este dentro del formulario?

function visualiza($tabla,$columna,$pagi)
{
$link=mysql_connect('localhost','ASDASD','ASDASDAS ') or die('Could not connect: '.mysql_error());
//echo 'Connected successfully';
if (!mysql_select_db('ss', $link))
{
echo 'Could not select database';
exit;
}
$copia_pagi=$pagi;
$pagi=$pagi*5;
$fin=5;
// echo "Pagi es " . $pagi . "y fin es " . $fin;
$result = mysql_query("select distinct " . $columna ." from " . $tabla . " limit " . $pagi . "," . $fin, $link);
$posicion2=0;
$posicion=0;
while ($row=mysql_fetch_array($result))
{
$array[$posicion]=$row['titol'];

// echo "<tr><td>" .$row['titol'] ."</tr>";
echo "<tr><td><input type=\"checkbox\" name=\"seleccion[$posicion]\" value=\"".$row['titol']."\">".$row['titol']."<br></tr>";
$posicion=$posicion+1;
}
echo "array0 es $array[0]; estoy en pagina $copia_pagi";


mysql_close($link);
return;
}
  #4 (permalink)  
Antiguo 13/05/2010, 09:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: no hace nada...

Deberias de checar:
Código PHP:
Ver original
  1. if (isset($_POST['seleccion'][0]))

Saludos.
  #5 (permalink)  
Antiguo 13/05/2010, 10:36
 
Fecha de Ingreso: mayo-2010
Mensajes: 112
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: no hace nada...

Eso funciona, pero.. no me escribe el array[0].

<?php
//if they checked box 1
if (isset($_POST['seleccion'][0]))
{
echo("You checked box 1<br>" . $_POST['array'][0]);
}
else
echo("Ninguno seleccionado ");
?>
  #6 (permalink)  
Antiguo 13/05/2010, 11:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: no hace nada...

echo("You checked box 1<br>" . $_POST['seleccion'][0]);

Saludos.
  #7 (permalink)  
Antiguo 13/05/2010, 11:40
 
Fecha de Ingreso: mayo-2010
Mensajes: 112
Antigüedad: 14 años, 6 meses
Puntos: 0
Mmmm hemos tenido un lapsus, me dices como escribir seleccion pero el problema es escribir array.

Bueno aunque no he resuelto el problema.... he visto que 'esta en negrita al final', en el ultimo caso no lo escribe y dentro del codigo si. Me explico? O Sea, una vez salgo del 'trozo' en php, la variable ya no esta.

while ($row=mysql_fetch_array($result))
{
$array[$posicion]=$row['titol'];

// echo "<tr><td>" .$row['titol'] ."</tr>";
echo "<tr><td><input type=\"checkbox\" name=\"seleccion[$posicion]\" value=\"".$row['titol']."\">".$row['titol']."<br></tr>";
$posicion=$posicion+1;
}
echo "array0 es $array[0]; estoy en pagina $copia_pagi";


mysql_close($link);
return;
}
?>
<p>
<input type="submit" name="Submit" value="Realizar traspaso" />
</p>

<p>Eliminar </p>
<?php echo "array0 es $array[0]; estoy en pagina $copia_pagi";?>

Curioso he probado de esta otra manera y curioso.. no solo no va, sino que siempre me muestra que solo hay uno seleccionado y me muestra la primera letra:

.php listado
while ($row=mysql_fetch_array($result))
{


// echo "<tr><td>" .$row['titol'] ."</tr>";
echo "<tr><td><input type=\"checkbox\" name=\"titol\" value=\"".$row['titol']."\">".$row['titol']."<br></tr>";

}


.php recuperacion

<?php
$titol=$_POST["titol"];
$valor=count($titol);
echo "Hay seleccionados $valor";
for($i=0;$i<$valor;$i++)
echo "$titol[$i]";
?>

Última edición por GatorV; 13/05/2010 a las 13:24
  #8 (permalink)  
Antiguo 13/05/2010, 13:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: no hace nada...

Para que te envie varios valores necesitas usar la nomenclatura de array name="titol[]" para que en PHP puedas ver todos los checados.

Saludos.
  #9 (permalink)  
Antiguo 13/05/2010, 13:23
 
Fecha de Ingreso: mayo-2010
Mensajes: 112
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: no hace nada...

Oleeeeeeeeeeeeeeee ahora si!!!! Bueno seguro que sigo y me salen nuevas dudas... Muchas gracias

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:47.