Foros del Web » Programando para Internet » PHP »

PROBLEMAS EN El USO DEL METHOD POST CON CARACTERES

Estas en el tema de PROBLEMAS EN El USO DEL METHOD POST CON CARACTERES en el foro de PHP en Foros del Web. tengo el siguiente problema quisiera ver si alguien me puede ayudar. Estoy generando una pagina con altas, bajas y consultas en las bajas hay una ...
  #1 (permalink)  
Antiguo 24/03/2005, 03:35
 
Fecha de Ingreso: octubre-2004
Mensajes: 9
Antigüedad: 19 años, 5 meses
Puntos: 0
Información PROBLEMAS EN El USO DEL METHOD POST CON CARACTERES

tengo el siguiente problema quisiera ver si alguien me puede ayudar.

Estoy generando una pagina con altas, bajas y consultas

en las bajas hay una baja para alumnos y otra para empresas.

en la baja para alumnos esta de forma ke se hace seleccion y se despliega y al final de cada fila se muestra un checkbox para eliminar dicha fila.

el detalle esta en este punto.

las bajas por alumnos se hacen sobre la matricula (numero de control) la cual es numerica y al pasar dicho dato por metodo post se hace mediante un arreglo, checar este pedazo de codigo fuente


while($salida = mysql_fetch_array($resultado))
{
echo "<tr>";
for ($i=0;$i<4;$i++)
{
echo "<td>",$salida[$i],"</td>";
}

echo "<td align=center><input type=checkbox
name=borra[$salida[0]] value='Si'></td></tr>";
}


Lo cual me manda un arreglo borra en el cual contiene el numero de matricula cuando esta activado.

recorriendolo con un bucle for each despues de mandar la forma consigo lo siguiente.




$borra=$HTTP_POST_VARS['borra'];


foreach ($borra as $clave=>$valor)
{
echo "Clave: $clave Valor: $valor";
}


y me muestra por ejemplo un numero de matricula

Clave: 165780 Valor: Si


DE ESTA forma hago una comparacion con clave del campo indicado y la borro


hasta ahi todo es perfecto, pero cuando intento trabajar de la misma forma con bajas de empresas me topo con el problema de que LAS BAJAS DE EMPRESA LAS HAGO POR NOMBRE DE EMPRESA por lo cual necesito pasar datos de CARACTER.


estoy seguro que mi error esta en la sintaxis del checkbox

echo "<td align=center><input type=checkbox
name=borra[$salida[0]] value='Si'></td></tr>";


en la parte ...... borra[$salida[0]]

pero ya he intentado lo siguiente y no puedo conseguir leer los datos despues de ke los envia la forma

borra['$salida[0]']

etc.... poniendo y kitando comillas.

si alguien me puede ayudar con la sintaxis de este detalle le agradeceria y tambien kisiera saber si es que es posible guardar dichos arreglos de tipo cadena o no se, tal vez este intentando abusar del php

Aqui no puedo borrar ya que el arreglo no contiene datos, (por lo mismo lo recorri para checar).


Gracias anticipadamente por su ayuda.
  #2 (permalink)  
Antiguo 24/03/2005, 03:41
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
... ... .. un simple proceso anterior?
$indice=$salida[0];
$borra[$indice] ... :pensando... qué pasa con esto??
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 24/03/2005, 03:59
 
Fecha de Ingreso: octubre-2004
Mensajes: 9
Antigüedad: 19 años, 5 meses
Puntos: 0
Esto

modificando de esta forma

$indice=$salida[0];

echo "<td align=center>$salida[0]<input type=checkbox name=borra[$indice] value='Si'></td></tr>";

no muestra nada




y modificando asi

$indice='$salida[0]'; (con las comillas)

echo "<td align=center>$salida[0]<input type=checkbox name=borra[$indice] value='Si'></td></tr>";

despues de correr el bucle muestra lo siguiente

Clave: $salida[0 Valor: Si

Última edición por desve; 24/03/2005 a las 04:02
  #4 (permalink)  
Antiguo 24/03/2005, 04:20
 
Fecha de Ingreso: octubre-2004
Mensajes: 9
Antigüedad: 19 años, 5 meses
Puntos: 0
un poco mas

alimentando un poco mas el problema hice lo siguiente


$indice=$salida[0];
echo $indice;


$cadena='hola';
echo $cadena;





y luego probe con dos diferentes casillas de check box


echo "<td align=center>$salida[0]<input type=checkbox name=borra[$cadena] value='Si'></td></tr>";


echo "<td align=center>$salida[0]<input type=checkbox name=borra[$indice] value='Si'></td></tr>";



la primera muestra

Clave: hola Valor: Si

la segunda no muestra nada despues del post, por ke probando con un echo las dos variables contienen exactamente lo mismo antes de enviar la pagina, uno si lo recibe bien y el otro no
  #5 (permalink)  
Antiguo 24/03/2005, 04:20
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
Iniciado por desve
modificando de esta forma
$indice=$salida[0];
echo "<td align=center>$salida[0]<input type=checkbox name=borra[$indice] value='Si'></td></tr>";
no muestra nada
Nada??? ... haber... segun tengo entendido $salida[0] sale de una conulta de tu BD de datos ¿cierto?.. donde 0 es la posición de una columna... si eso es cierto.. te debió al menos recoger bien el valor... .. no entiendo... ta raro también lo segundo que mencionas (que solo te imprima ...[0 sin cerrar el corchete)... ...

Sugerencia... y si pones en el value el indice.. ¿no te sirve?
Código:
<input type=checkbox name=borra[] value='$indice'>
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 24/03/2005, 04:30
 
Fecha de Ingreso: octubre-2004
Mensajes: 9
Antigüedad: 19 años, 5 meses
Puntos: 0
Gracias

Listo


echo "<td align=center>$indice<input type=checkbox name=borra[] value='$salida[0]'></td></tr>"



asignando directamente el valor no necesite usar una variable auxiliar, simplemente usando el value.
  #7 (permalink)  
Antiguo 24/03/2005, 04:42
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
En principio que bueno que te sirvió y solucionaste tu problema... pero sabes??... prueba con esto:
Código PHP:
echo "<td align=center><input type=checkbox
name=borra['"
.$salida[0]."'] value='Si'></td></tr>"
qué imbécil soy!!!!... jejeje... creo no habia entendido la cuestión... :-p

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 24/03/2005, 07:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Por si acaso .. jam1138

En esta FAQ tienes un ejemplo completo de uso .. de como trabajar con ese tipo de elementos como "array" para trabajarlos cómodamente en PHP ..

http://www.forosdelweb.com/f18/faqs-php-530600-post518710/

Hay que recordar que un "checkbox" sólo pasa el valor del que se selecciona .. así que usar un value "SI" no tiene mucho sentido cuando todos los que van a pasar son SI .. por eso se usa su "value" para eso mismo, pasar el "ID" o dato que corresponde y asocia ese checkbox con lo que exprese para tu apliación.

Un saludo,
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 09:43.