Foros del Web » Programando para Internet » PHP »

¿pq no cojo las variables por $_POST?

Estas en el tema de ¿pq no cojo las variables por $_POST? en el foro de PHP en Foros del Web. Hola, tengo un problema a la hora de recoger las variables de un formulario una vez enviado este, os pongo el codigo y a ver ...
  #1 (permalink)  
Antiguo 07/10/2008, 12:28
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
¿pq no cojo las variables por $_POST?

Hola, tengo un problema a la hora de recoger las variables de un formulario una vez enviado este, os pongo el codigo y a ver si podeis decirme en que estoy fallando, gracias!!!


Código HTML:
<script> 
function agrega_puntos(){ 
var equipo = document.forms.jugadores_equipo.id_equipo.value; 
var jornada = document.forms.jugadores_equipo.jornada.value; 

document.forms['jugadores_equipo'].submit() 
location.href = '?mod=calcula_puntos&equipo='+equipo+'&jornada='+jornada; 
} 
</script> 
Código PHP:

<form name="jugadores_equipo" action="#" method="post">
    
    Jornada: <input type="text" name="jornada" size="2"  />
    Id_equipo: <input type="text" name="id_equipo" readonly="yes" value="<? echo $equipo?>" size="2" />

<?
    
echo "<br>";
    
    
    
$sql_jugadores mysql_query("SELECT Id, Camiseta FROM Jugadores WHERE equipo = '$equipo'",$conexion)or die ("Error en la consulta sql_jugadores");
    
    
$i=1;
    
    while (
$row mysql_fetch_array($sql_jugadores)){
         echo 
"<input type=\"text\" value=\"".$row[1]."\" readonly=\"yes\" name=\"jugador_".$i."\" />";
        echo 
"<input type=\"text\" name=\"".$row[0]."\" size=\"2\" /><br>";
        
$i++;
        }
?>

    ¿Agregar? <select name="p_jugadores" onchange="agrega_puntos()">    <option value="#">No</option>
                                                                        <option value="si">Si</option>
            </select>

    <!--<input type="button" onclick="agrega_puntos()"  value="Agregar" />-->
    </form>
y luego intento recogerlo así, ya he probado con los 2 metodos, pero que va...

Código PHP:
if ($_GET['jornada']){

    echo 
"Equipo: ".$_GET['equipo']."<br>";
    echo 
"Jornada: ".$_GET['jornada']."<br>";
    
    echo 
"valdes_post: ".$_POST['76']."<br>";
    echo 
"valdes_get: ".$_GET['76']."<br>";
    
    for(
$i=1;$i<=25;$i++){
    
        echo 
"Jugador_POST: ".$_POST['jugador_'.$i]."<br>";
        echo 
"Jugador_GET: ".$_GET['jugador_'.$i]."<br>";
        
    } 
El equipo y la jornada si me los coge por la url, pero no los jugadores...
  #2 (permalink)  
Antiguo 07/10/2008, 12:39
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: ¿pq no cojo las variables por $_POST?

Por lo que veo... esto es un error:
Código HTML:
document.forms['jugadores_equipo'].submit() 
location.href = '?mod=calcula_puntos&equipo='+equipo+'&jornada='+jornada;
Ya que estarias enviando el formulario a ningun lado (puesto que action es #) y luego llendo a la misma pagina con los datos de mod, equipo y jornada solamente.

Lo que deberias hacer es algo como esto:
Código HTML:
<form name="jugadores_equipo" action="<?=$_SERVER['PHP_SELF']?>?mod=calcula_puntos" method="post"> 
Y en tu php leer todo en $_POST exceptuando la variable mod que va a estar en $_GET

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 07/10/2008, 12:54
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: ¿pq no cojo las variables por $_POST?

Creo haber leido por ahi, que si dejas el action en ="" es lo mismo que poner el $PHP_SELF??en cualquier caso, he probado así y tampoco....incluso no recoge ni el select que no tiene un name generado por php...
  #4 (permalink)  
Antiguo 07/10/2008, 12:57
 
Fecha de Ingreso: septiembre-2008
Mensajes: 32
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: ¿pq no cojo las variables por $_POST?

En mi humilde concepto creo que tambien debes asignar el id a los campos del formulario

EJ:
<input type="text" name="usuario" id="usuario" />
  #5 (permalink)  
Antiguo 07/10/2008, 12:57
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: ¿pq no cojo las variables por $_POST?

este es el formulario resultante que me da al ver el codigo fuente....

Código HTML:
<form name="jugadores_equipo" action="?mod=calcula_puntos" method="post">
	
	Jornada: <input type="text" name="jornada" size="2"  />
	Id_equipo: <input type="text" name="id_equipo" readonly="yes" value="4" size="2" />

<br><input type="text" value="Victor Valdés" readonly="yes" name="jugador_76" /><input type="text" name="puntos_76" size="2" /><br><input type="text" value="Martín Caceres" readonly="yes" name="jugador_77" /><input type="text" name="puntos_77" size="2" /><br><input type="text" value="Piqué" readonly="yes" name="jugador_78" /><input type="text" name="puntos_78" size="2" /><br><input type="text" value="Márquez" readonly="yes" name="jugador_79" /><input type="text" name="puntos_79" size="2" /><br><input type="text" value="Puyol" readonly="yes" name="jugador_80" /><input type="text" name="puntos_80" size="2" /><br><input type="text" value="Xavi" readonly="yes" name="jugador_81" /><input type="text" name="puntos_81" size="2" /><br><input type="text" value="Gudjohnsen" readonly="yes" name="jugador_82" /><input type="text" name="puntos_82" size="2" /><br><input type="text" value="Iniesta" readonly="yes" name="jugador_83" /><input type="text" name="puntos_83" size="2" /><br><input type="text" value="Eto´o" readonly="yes" name="jugador_84" /><input type="text" name="puntos_84" size="2" /><br><input type="text" value="Messi" readonly="yes" name="jugador_85" /><input type="text" name="puntos_85" size="2" /><br><input type="text" value="Bojan" readonly="yes" name="jugador_86" /><input type="text" name="puntos_86" size="2" /><br><input type="text" value="Pinto" readonly="yes" name="jugador_87" /><input type="text" name="puntos_87" size="2" /><br><input type="text" value="Henry" readonly="yes" name="jugador_88" /><input type="text" name="puntos_88" size="2" /><br><input type="text" value="Keita" readonly="yes" name="jugador_89" /><input type="text" name="puntos_89" size="2" /><br><input type="text" value="Silvinho" readonly="yes" name="jugador_90" /><input type="text" name="puntos_90" size="2" /><br><input type="text" value="G. Milito" readonly="yes" name="jugador_91" /><input type="text" name="puntos_91" size="2" /><br><input type="text" value="Dani Alves" readonly="yes" name="jugador_92" /><input type="text" name="puntos_92" size="2" /><br><input type="text" value="Hleb" readonly="yes" name="jugador_93" /><input type="text" name="puntos_93" size="2" /><br><input type="text" value="Abidal" readonly="yes" name="jugador_94" /><input type="text" name="puntos_94" size="2" /><br><input type="text" value="Touré Yaya" readonly="yes" name="jugador_95" /><input type="text" name="puntos_95" size="2" /><br><input type="text" value="Jorquera" readonly="yes" name="jugador_96" /><input type="text" name="puntos_96" size="2" /><br><input type="text" value="Pedrito" readonly="yes" name="jugador_97" /><input type="text" name="puntos_97" size="2" /><br><input type="text" value="Víctor Sánchez" readonly="yes" name="jugador_98" /><input type="text" name="puntos_98" size="2" /><br><input type="text" value="S.Busquets" readonly="yes" name="jugador_505" /><input type="text" name="puntos_505" size="2" /><br>
	¿Agregar? <select name="p_jugadores" onchange="agrega_puntos()"> <option value="#">No</option>
																		<option value="si">Si</option>
			</select>

	<!--<input type="button" onclick="agrega_puntos()"  value="Agregar" />-->
	</form> 
  #6 (permalink)  
Antiguo 07/10/2008, 13:08
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: ¿pq no cojo las variables por $_POST?

man pregunta asi:
if (isset($_GET['jornada'])){

echo "Equipo: ".$_GET['equipo']."<br>";
echo "Jornada: ".$_GET['jornada']."<br>";

echo "valdes_post: ".$_POST['76']."<br>";
echo "valdes_get: ".$_GET['76']."<br>";

for($i=1;$i<=25;$i++){

echo "Jugador_POST: ".$_POST['jugador_'.$i]."<br>";
echo "Jugador_GET: ".$_GET['jugador_'.$i]."<br>";

}
}
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #7 (permalink)  
Antiguo 07/10/2008, 13:23
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: ¿pq no cojo las variables por $_POST?

Podría hacerlo de esta manera que he encontrado en otro post del foro??

http://www.forosdelweb.com/f18/recorrer-tabla-632026/
  #8 (permalink)  
Antiguo 07/10/2008, 13:30
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: ¿pq no cojo las variables por $_POST?

si pero tienes que usar array como esta en ese post en tu codigo....
osea en vez de:
echo "<input type=\"text\" value=\"".$row[1]."\" readonly=\"yes\" name=\"jugador_".$i."\" />";
usar:
echo "<input type=\"text\" value=\"".$row[1]."\" readonly=\"yes\" name=\"jugador[".$i."]\" />";
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #9 (permalink)  
Antiguo 07/10/2008, 13:36
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: ¿pq no cojo las variables por $_POST?

y como lo recupero con el foreach?pq me da este error....


Warning: Invalid argument supplied for foreach() in /.................php on line 100



Código PHP:
foreach($_POST['jugador'] as $jugador){
        echo 
"jugador: ".$jugador;
    
    } 

Última edición por manguiti; 08/10/2008 a las 11:02
  #10 (permalink)  
Antiguo 07/10/2008, 13:47
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: ¿pq no cojo las variables por $_POST?

se supone que así debería crear el array no es así???


Código PHP:
echo "<br>";
    
    
    
$sql_jugadores mysql_query("SELECT Id, Camiseta FROM Jugadores WHERE equipo = '$equipo'",$conexion)or die ("Error en la consulta sql_jugadores");
    
    
$i=1;
    
    while (
$row mysql_fetch_array($sql_jugadores)){
         echo 
"<input type=\"text\" name=\"jugador[]\" value=\"".$row[1]."\" readonly=\"yes\"  />";
        echo 
"<input type=\"text\" name=\"puntos[]\" size=\"2\" /><br>";
        
$i++;
        } 
Pero cuando veo el codigo fuente generado aparecen todos con el mismo name, o sea, jugador[]


Código HTML:
<form name="jugadores_equipo" action="?mod=calcula_puntos" method="post">
	
	Jornada: <input type="text" name="jornada" size="2"  />
	Id_equipo: <input type="text" name="id_equipo" readonly="yes" value="4" size="2" />

<br><input type="text" value="Victor Valdés" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Martín Caceres" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Piqué" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Márquez" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Puyol" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Xavi" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Gudjohnsen" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Iniesta" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Eto´o" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Messi" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Bojan" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Pinto" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Henry" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Keita" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Silvinho" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="G. Milito" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Dani Alves" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Hleb" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Abidal" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Touré Yaya" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Jorquera" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Pedrito" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Víctor Sánchez" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="S.Busquets" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br>
	¿Agregar? <select name="p_jugadores" onchange="agrega_puntos()"> <option value="#">No</option>
																		<option value="si">Si</option>
			</select>

	<!--<input type="button" onclick="agrega_puntos()"  value="Agregar" />-->
	</form> 
  #11 (permalink)  
Antiguo 07/10/2008, 14:10
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: ¿pq no cojo las variables por $_POST?

Alguien me dice pq no se crea el array por favor???gracias!!
  #12 (permalink)  
Antiguo 07/10/2008, 14:40
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
generar array con name´s de un formulario

Supuestamente al poner el mismo nombre a los distintos names de los inputs que se pongan en el formulario, php genera un array con dichos name´s, pero a mi el codigo fuente generado se quedan todos con el mismo nombre....


Código PHP:
    echo "<br>";
    
    
    
$sql_jugadores mysql_query("SELECT Id, Camiseta FROM Jugadores WHERE equipo = '$equipo'",$conexion)or die ("Error en la consulta sql_jugadores");
    
    
$i=1;
    
    while (
$row mysql_fetch_array($sql_jugadores)){
         echo 
"<input type=\"text\" name=\"jugador[]\" value=\"".$row[1]."\" readonly=\"yes\"  />";
        echo 
"<input type=\"text\" name=\"puntos[]\" size=\"2\" /><br>";
        
$i++;
        } 
y este es el resultado....

Código HTML:
<form name="jugadores_equipo" action="?mod=calcula_puntos" method="post">
	
	Jornada: <input type="text" name="jornada" size="2"  />
	Id_equipo: <input type="text" name="id_equipo" readonly="yes" value="4" size="2" />

<br><input type="text" value="Victor Valdés" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Martín Caceres" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Piqué" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Márquez" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Puyol" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Xavi" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Gudjohnsen" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Iniesta" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Eto´o" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Messi" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Bojan" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Pinto" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Henry" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Keita" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Silvinho" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="G. Milito" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Dani Alves" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Hleb" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Abidal" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Touré Yaya" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Jorquera" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Pedrito" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Víctor Sánchez" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="S.Busquets" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br>
	¿Agregar? <select name="p_jugadores" onchange="agrega_puntos()"> <option value="#">No</option>
																		<option value="si">Si</option>
			</select>

	</form> 
Es por generar los inputs con el bucle while??
  #13 (permalink)  
Antiguo 07/10/2008, 15:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ¿pq no cojo las variables por $_POST?

Temas unidos por favor no dupliques temas.
  #14 (permalink)  
Antiguo 07/10/2008, 15:13
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: ¿pq no cojo las variables por $_POST?

ok, lo hice pq aqui preguntaba por otra cosa en el titulo del post, por cierto, podrías responderme a mi duda??creo que fuiste tu quien respondio algo similar en un post hoy mismo....gracias!!
  #15 (permalink)  
Antiguo 08/10/2008, 02:58
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
array en names de un formulario

Supuestamente al poner el mismo nombre a los distintos names de los inputs que se pongan en el formulario, php genera un array con dichos name´s, pero a mi en el codigo fuente generado se quedan todos con el mismo nombre....


Código PHP:
    echo "<br>";
    
    
    
$sql_jugadores mysql_query("SELECT Id, Camiseta FROM Jugadores WHERE equipo = '$equipo'",$conexion)or die ("Error en la consulta sql_jugadores");
    
    
$i=1;
    
    while (
$row mysql_fetch_array($sql_jugadores)){
         echo 
"<input type=\"text\" name=\"jugador[]\" value=\"".$row[1]."\" readonly=\"yes\"  />";
        echo 
"<input type=\"text\" name=\"puntos[]\" size=\"2\" /><br>";
        
$i++;
        } 
y este es el resultado....

Código HTML:
<form name="jugadores_equipo" action="?mod=calcula_puntos" method="post">
	
	Jornada: <input type="text" name="jornada" size="2"  />
	Id_equipo: <input type="text" name="id_equipo" readonly="yes" value="4" size="2" />

<br><input type="text" value="Victor Valdés" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Martín Caceres" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Piqué" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Márquez" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Puyol" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Xavi" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Gudjohnsen" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Iniesta" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Eto´o" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Messi" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Bojan" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Pinto" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Henry" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Keita" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Silvinho" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="G. Milito" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Dani Alves" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Hleb" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Abidal" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Touré Yaya" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Jorquera" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Pedrito" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="Víctor Sánchez" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br><input type="text" value="S.Busquets" readonly="yes" name="jugador[]" /><input type="text" name="puntos[]" size="2" /><br>
	¿Agregar? <select name="p_jugadores" onchange="agrega_puntos()"> <option value="#">No</option>
																		<option value="si">Si</option>
			</select>

	</form> 
Es por generar los inputs con el bucle while??

pd: Gatorv borra el otro tema si quieres....
  #16 (permalink)  
Antiguo 08/10/2008, 10:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ¿pq no cojo las variables por $_POST?

Temas unidos por favor no dupliques temas.

Si ves el código fuente esta perfecto, así es como se deben de "ver" en el código fuente, ya con PHP los rescatas como un arreglo directamente y lo puedes ciclar.

Saludos.
  #17 (permalink)  
Antiguo 08/10/2008, 10:54
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: ¿pq no cojo las variables por $_POST?

Ok, entonces pq me sale este mensaje de warning cuando intento coger el array, supuestamente pq esta vacío....

Warning: Invalid argument supplied for foreach() in ...............php on line 101


Código HTML:
 <form name="jugadores_equipo" action="<? $PHP_SELF?>" method="post">
	
	Jornada: <input type="text" name="jornada" size="2"  />
	Id_equipo: <input type="text" name="id_equipo" readonly="yes" value="<? echo $equipo; ?>" size="2" /> 
Código PHP:
    echo "<br>";
    
    
    
$sql_jugadores mysql_query("SELECT Id, Camiseta FROM Jugadores WHERE equipo = '$equipo'",$conexion)or die ("Error en la consulta sql_jugadores");
    
    
$i=1;
    
    while (
$row mysql_fetch_array($sql_jugadores)){
         echo 
"<input type=\"text\" name=\"jugador[]\" value=\"".$row[1]."\" readonly=\"yes\"  />";
        echo 
"<input type=\"text\" name=\"puntos[]\" size=\"2\" /><br>";
        
$i++;
        } 
Código HTML:
	¿Agregar? <select name="p_jugadores" onchange="agrega_puntos()"> <option value="#">No</option>
																		<option value="si">Si</option>
			</select>

	<!--<input type="button" onclick="agrega_puntos()"  value="Agregar" />-->
	</form> 
Código PHP:
}

if (isset(
$_GET['jornada'])){
    
        foreach(
$_POST['puntos'] as $puntos){
        echo 
"jugador: ".$puntos."<br>";
    
        }
    



  #18 (permalink)  
Antiguo 08/10/2008, 10:56
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: ¿pq no cojo las variables por $_POST?

He probado tanto recogerlo con $_POST como con $_GET, y nada, hay que especificarlo en el method del formulario no??aunque hagas el submit mediante javascript?es que nos e a que puede deberse....
  #19 (permalink)  
Antiguo 08/10/2008, 10:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ¿pq no cojo las variables por $_POST?

Prueba hacer un var_dump($_POST) para ver que variables llegan por POST.

Saludos.
  #20 (permalink)  
Antiguo 08/10/2008, 11:00
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: ¿pq no cojo las variables por $_POST?

array(0) { } o sea....0....


puede ser por la funcio javascript que hace el submit??

Código HTML:
<script>
function agrega_puntos(){
var equipo = document.forms.jugadores_equipo.id_equipo.value;
var jornada = document.forms.jugadores_equipo.jornada.value;

document.forms['jugadores_equipo'].submit()
location.href = '?mod=calcula_puntos&equipo='+equipo+'&jornada='+jornada;
}
</script> 
  #21 (permalink)  
Antiguo 08/10/2008, 11:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ¿pq no cojo las variables por $_POST?

Esa función javascript que expones no veo el uso, ya que por un lado lees dos variables normales, luego haces el envio pero al mismo tiempo cambias la pagina... lo cual es un error, ya que necesitas decidir, o envias el formulario, o cambias la pagina, no puedes hacer las dos acciones.

Saludos.
  #22 (permalink)  
Antiguo 08/10/2008, 11:16
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: ¿pq no cojo las variables por $_POST?

es la misma pagina, calcula_puntos.php, solo que he de especificar el modulo para que se cargue la cabecera y pie d pagina correctos, no??
  #23 (permalink)  
Antiguo 08/10/2008, 11:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ¿pq no cojo las variables por $_POST?

Pero no puedes hacer lo que pides, no puedes darle submit al formulario y luego usar location.href ya que eso cancela el submit.

Lo que puedes hacer es pasar esas variables en un formulario oculto y luego en el action de tu formulario apuntarlo a la pagina de calcula_puntos.php?mod=calcula_puntos.

Saludos.
  #24 (permalink)  
Antiguo 08/10/2008, 11:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ¿pq no cojo las variables por $_POST?

Viendo un poco más a fondo desde el mensaje número 2 (de Marvin) te hizo el mismo comentario, pero lo haz ignorado.

Tienes que corregir la logica de tu aplicación y estudiar un poco de como funciona javascript, antes de poder continuar.

Saludos.
  #25 (permalink)  
Antiguo 08/10/2008, 11:31
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: ¿pq no cojo las variables por $_POST?

OK, tienes razon, lo he hecho de la siguiente manera, he hecho el submit con la funcion javascript, y con el action enlazo el modulo, aunque entonces, no tiene mucho sentido la funcion javascript, si no poner simplemente abajo del formulario un submit y listo....no??

Código HTML:
function agrega_puntos(){
var equipo = document.forms.jugadores_equipo.id_equipo.value;
var jornada = document.forms.jugadores_equipo.jornada.value;





document.forms['jugadores_equipo'].submit();
/*location.href = 'equipo='+equipo+'&jornada='+jornada;*/

}
</script> 
Código HTML:
<form name="jugadores_equipo" action="<? $PHP_SELF?>?mod=calcula_puntos" method="POST"> 
Muchas gracias!!
  #26 (permalink)  
Antiguo 08/10/2008, 11:34
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: ¿pq no cojo las variables por $_POST?

no es que lo haya ignorado, si no que no "entendía" muy bien precisamente eso, la logica de hacer por un lado el submit, y por otro en el action indicar el mod, tienes razon, algunas veces tengo lagunas de comprension entre cuando utilizar javascript y cuando no....muchas gracias de igual modo, tanto a ti como a todos los que habeis intentado ayudarme....
  #27 (permalink)  
Antiguo 08/10/2008, 11:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: ¿pq no cojo las variables por $_POST?

En efecto, la función javascript llega a sobrar ya que no es necesaria, a menos que quisieras hacer otro proceso o hacer alguna validación.

Te recomiendo que estudies un poco de javascript ya que si te fijas tu duda era algo muy simple y el porque no funcionaba.

Saludos.
  #28 (permalink)  
Antiguo 08/10/2008, 11:36
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: ¿pq no cojo las variables por $_POST?

Cita:
Iniciado por Marvin Ver Mensaje
Por lo que veo... esto es un error:
Código HTML:
document.forms['jugadores_equipo'].submit() 
location.href = '?mod=calcula_puntos&equipo='+equipo+'&jornada='+jornada;
Ya que estarias enviando el formulario a ningun lado (puesto que action es #) y luego llendo a la misma pagina con los datos de mod, equipo y jornada solamente.

Lo que deberias hacer es algo como esto:
Código HTML:
<form name="jugadores_equipo" action="<?=$_SERVER['PHP_SELF']?>?mod=calcula_puntos" method="post"> 
Y en tu php leer todo en $_POST exceptuando la variable mod que va a estar en $_GET

Suerte!
Muchas gracias, era esto justamente!!

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 05:18.