Ayuda a que se te ayude:
>> colorea tu código <<; usa las etiquetas [ PHP] y [ /PHP] (sin espacios).
Pués... no entendiendo bien tu código, parece ser esta línea es la que imprimes con un bucle:
Código PHP:
echo "<input type=\"hidden\" name=nick value=\"$salida[1]]\"><input type=\"hidden\" name=agente value=\"$ag\"><td bgcolor=\"#F0F1DA\"><div align=\"center\"><input type=\"submit\" name=visita[$salida[0]] value=\"VISITADO\"></div></td>";
... ok, el error es simple: A todos los elementos del formulario le daz un mismo name, no habrá manera de diferenciarlos y por ello solo se envia el último. Puedes crear names diferentes ó usar matricez.
Brevemente:
- Opción 1:
Código PHP:
<form action="archivo.php" method="post">
<?php
for ($i=0; $i<5; $i++)
echo "<input type=\"checkbox\" name=\"check$i\" value=\"valor$i\">";
// eso te genera checkboxes con nombres diferentes, entonces debes pasar la cantidad
echo "<input type=\"hidden\" name=\"cantidad\" value=\"$i\">";
?>
<input type="submit" name="submit" value="Enviar">
</form>
y donde recibes:
Código PHP:
$pre= "check"; // la parte del name que es fija
$total= $_POST['cantidad']; // la cantidad.. es importante la pases para limitar el bucle donde recojes
echo "Recibidos: ";
for($i=0; $i<$total; $i++) { // inicia el bucle
$indice= $pre.$i; // armar el índice
if(isset($_POST[$indice])) // ves si se pasó
echo "<br>".$_POST[$indice]; // imprimes
}
// y eso es todo...
- Opción 2 (matricez):
Código PHP:
<form action="archivo.php" method="post">
<?php
for ($i=0; $i<5; $i++)
echo "<input type=\"checkbox\" name=\"check[]\" value=\"valor$i\">";
// Solo diferencia en que defines el name como matriz
// ya no es necesario pasar la cantidad
?>
<input type="submit" name="submit" value="Enviar">
</form>
y donde recojes
Código PHP:
echo "Recibidos: ";
foreach($_POST['check'] as $indice => $valor) // recorres la matriz
echo "<br>$valor"; // e imprimes
// y es todo...
www.php.net/foreach
Espero te haya aclarado algo... aunque igual te diré que en vez de todos esos if()'s hagas un
switch()... pero ese no es motivo del problema.
Suerte!