Foros del Web » Programando para Internet » PHP »

Ayuda por favor!!! Pasar parámetros

Estas en el tema de Ayuda por favor!!! Pasar parámetros en el foro de PHP en Foros del Web. Estimados listeros, estoy aprendiendo mucho con Uds., ya que soy en esto, muy novato. La consulta es la siguiente: Ya lo comenté en un envío ...
  #1 (permalink)  
Antiguo 16/12/2002, 17:11
 
Fecha de Ingreso: abril-2002
Ubicación: Argentina
Mensajes: 96
Antigüedad: 15 años, 8 meses
Puntos: 0
Pregunta Ayuda por favor!!! Pasar parámetros

Estimados listeros, estoy aprendiendo mucho con Uds., ya que soy en esto, muy novato.
La consulta es la siguiente:
Ya lo comenté en un envío anterior que tuve que mudar un sitio de server y me encontré con la diferencia de que el nuevo server tiene el register_globals=off.
Ya pude solucionar practicamente todos los envios de parametros excepto este que les voy a comentar ahora:
Tengo un php que busca usuarios registrados en una tabla que contengan la variable $apellido y me muestra un listado con dos campos que yo puedo modificar para otorgar permisos, hasta aca todo bien, el código es el siguiente:

::: Código admin_permisos_apellido.php :::::::::::::::::::::::::::::::::::::::::::::::::
Código PHP:
//BUSCO LOS DATOS EN LA DATABASE
 
$query "SELECT * FROM cofa WHERE apellido like '$apellido%' ORDER BY apellido ASC";
$link = @mysql_query($query);
 
if (
$link == false) {
 print(
"<DIV ALIGN='CENTER'><FONT COLOR='#000066' SIZE='2' FACE='Arial, Helvetica, sans-serif'>Problemas de acceso. Intente nuevamente más tarde. 
</FONT> </DIV>"
);
exit;
}
 
print (
"<body bgcolor='#FFFFFF' text='#000066' link='#0066CC'>");
 
//EMPIEZA EL FORM
print("<FORM NAME='form1' METHOD='post' ACTION='admin_permisos_save.php'>");
 

print (
"<table width='100%' border='1' bordercolor='#000066' cellspacing='0' cellpadding='5'>");
 

print(
"<tr BGCOLOR='#33CCCC'><td WIDTH='50'><font face='Arial, Helvetica, sans-serif' size='2'><FONT COLOR='#ffffff'>CODIGO</font></td>");
print(
"<td WIDTH='200'><font face='Arial, Helvetica, sans-serif' size='2'><FONT COLOR='#ffffff'>APELLIDO Y NOMBRE</font></td>");
print(
"<td WIDTH='300'><font face='Arial, Helvetica, sans-serif' size='2'><FONT COLOR='#ffffff'>DNI</font></td>");
print(
"<td WIDTH='300'><font face='Arial, Helvetica, sans-serif' size='2'><FONT COLOR='#ffffff'>GRUPO</font></td>");
 
print(
"<td WIDTH='100'><font face='Arial, Helvetica, sans-serif' size='2'><FONT COLOR='#ffffff'>EVALUACIONES</font></td>");
print(
"<td WIDTH='100'><font face='Arial, Helvetica, sans-serif' size='2'><FONT COLOR='#ffffff'>PAGOS</font></td></TR>");
 
$count=0;
 
while (
$row mysql_fetch_array($link)) {
 
$soy "soy[$count]";
$aux1 $row[codigo];
 
$nombreaux "evaluacion[$count]";
$nombreaux2 "pago[$count]";
$opcion[1] = "1";
$opcion[2] = "2";
$opcion[3] = "3";
$opcion[4] = "4";
$opcion[5] = "5";
$opcion[6] = "6";
$opcion[7] = "7";
$opcion[8] = "8";
$opcion[9] = "9";
$opcion[10] = "10";
$opcion[11] = "11";
$opcion[12] = "12";
$opcion[13] = "13";
$opcion[14] = "14";
$opcion[15] = "15";
$opcion[16] = "16";
$opcion[17] = "17";
 
print(
"<INPUT TYPE='hidden' NAME=$soy VALUE=$aux1>");
 
print (
"<tr>
    <td><font face='Arial, Helvetica, sans-serif' size='2'><FONT COLOR='#000099'>$row[codigo]</font></font></td>
    <td><font face='Arial, Helvetica, sans-serif' size='2'><FONT COLOR='#000099'>$row[apellido], $row[nombre]</font></font></td>
    <td><font face='Arial, Helvetica, sans-serif' size='2'><FONT COLOR='#000099'>$row[dni]</font></font></td>
    <td><font face='Arial, Helvetica, sans-serif' size='2'><FONT COLOR='#000099'>$row[codigogrupo]</font></font></td>
"
);
 
////////////////////////////////////////////////////////////////////////
print("<td><P ALIGN='CENTER'><font face='Arial, Helvetica, sans-serif' size='1'><B><FONT COLOR='#33CCCC'>");
print(
"<SELECT NAME=$nombreaux><OPTION VALUE='0'>Sin asignar</OPTION>");
 
for (
$i=1$i<18$i++){
 
if (
$row[nivelevaluacion] == $i) {
$seleccionado "selected";
}else {
$seleccionado "";
}
 
print(
"<OPTION VALUE=$i $seleccionado>$opcion[$i]</OPTION>");
 
}
 
print(
"</SELECT></td>");
 
////////////////////////////////////////////////////////////////////////
print("<td><P ALIGN='CENTER'><font face='Arial, Helvetica, sans-serif' size='1'><B><FONT COLOR='#33CCCC'>");
print(
"<SELECT NAME=$nombreaux2><OPTION VALUE='0'>Sin asignar</OPTION>");
 
for (
$i=1$i<18$i++){
 
if (
$row[nivelpago] == $i) {
$seleccionado "selected";
}else {
$seleccionado "";
}
 
print(
"<OPTION VALUE=$i $seleccionado>$opcion[$i]</OPTION>");
 
}
 
print(
"</SELECT></td>");
 
  print(
"</tr>");
 
$count++;
 
}
 
print (
"</table>");
print(
"<INPUT TYPE='hidden' NAME='total' VALUE=$count>");
 
print(
"<P ALIGN='CENTER'><INPUT TYPE='submit' NAME='Submit' VALUE='               Guardar               '></p></FORM>"); 
:: FIN ARCHIVO ::::::::::

El problema lo tengo cuando quiero pasar los parametros al archivo que me guarda los cambios que no me los toma y no se como hacerlo, necesito ayuda urgente porque tengo que otorgarles nuevos permisos a los usuarios y no puedo hacerlo.
Qué tengo que modificar en admin_permisos_save.php que no me doy cuenta, ya que este script con el register_globals=on funcionaba perfectamente
Muchas gracias por sus respuestas
Saludos
Sergio

::: Código admin_permisos_save.php :::::::::::::::::::::::::::::::::::::::::::::::::
Código PHP:
//CONECTO A LA DB
 
if (mysql_select_db("obsvciu") == false) {
 print(
"<DIV ALIGN='CENTER'><FONT COLOR='#000066' SIZE='2' FACE='Arial, Helvetica, sans-serif'>Problemas de acceso. Intente nuevamente más tarde. 
</FONT> </DIV>"
);
exit;
}
 
$opcion[0] = "0";
$opcion[1] = "1";
$opcion[2] = "2";
$opcion[3] = "3";
$opcion[4] = "4";
$opcion[5] = "5";
$opcion[6] = "6";
$opcion[7] = "7";
$opcion[8] = "8";
$opcion[9] = "9";
$opcion[10] = "10";
$opcion[11] = "11";
$opcion[12] = "12";
$opcion[13] = "13";
$opcion[14] = "14";
$opcion[15] = "15";
$opcion[16] = "16";
$opcion[17] = "17";
 
///////////////////////////////////////////////////// 
//GUARDAR DATOS
/////////////////////////////////////////////////////
 
print ("<br><table width='100%' border='1' bordercolor='#000066' cellspacing='0' cellpadding='5' ALIGN='CENTER'><tr BGCOLOR='33cccc'>");
print (
"<td ><font face='Arial, Helvetica, sans-serif' size='2'><FONT COLOR='#ffffff'><DIV ALIGN='CENTER'><b>CODIGO</b></div></font></font></td>");
print (
"<td ><font face='Arial, Helvetica, sans-serif' size='2'><FONT COLOR='#ffffff'><DIV ALIGN='CENTER'><b>EVALUACIONES</b></div></font></font></td>");
 

print (
"<td ><font face='Arial, Helvetica, sans-serif' size='2'><FONT COLOR='#ffffff'><DIV ALIGN='CENTER'><b>PAGOS</b></div></font></font></td></tr>");
 
for (
$i=0$i<$total$i++) {
 
$query "UPDATE cofa SET nivelevaluacion='$evaluacion[$i]', nivelpago='$pago[$i]' WHERE codigo='$soy[$i]'";
$link = @mysql_query($query);
 
$opcionasignada $opcion[$evaluacion[$i]];
$opcionasignada2 $opcion[$pago[$i]];
 
print (
"<tr><td><font face='Arial, Helvetica, sans-serif' size='2'><FONT COLOR='#000099'><DIV ALIGN='CENTER'>$soy[$i]</div></font></font></td>");
 
print (
"<td><font face='Arial, Helvetica, sans-serif' size='2'><FONT COLOR='#000099'><DIV ALIGN='CENTER'>$opcionasignada</div></font></font></td>");
print (
"<td><font face='Arial, Helvetica, sans-serif' size='2'><FONT COLOR='#000099'><DIV ALIGN='CENTER'>$opcionasignada2</div></font></font></td></tr>");
}
 
print (
"</table>"); 
:: FIN ARCHIVO ::::::::::
  #2 (permalink)  
Antiguo 16/12/2002, 17:14
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
creo que aqui esta el error:
Código PHP:
$query "SELECT * FROM cofa WHERE apellido like '$apellido%' ORDER BY apellido ASC"
debe ser:
Código PHP:
$query "SELECT ...  '%$apellido%' ORDER BY ..."
salu2
  #3 (permalink)  
Antiguo 16/12/2002, 17:17
 
Fecha de Ingreso: abril-2002
Ubicación: Argentina
Mensajes: 96
Antigüedad: 15 años, 8 meses
Puntos: 0
El problema no es ese, el primer script me trae bien la consulta de la tabla, el problema lo tengo cuando tengo que pasar los parametros al segundo script para salvar los cambios de los campos seleccionables.
Gracias por tu respuesta
Saludos
Sergio
  #4 (permalink)  
Antiguo 16/12/2002, 21:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Segun dices .. o haces entender .. tu nuevo servidor usa:
register_globals = OFF ?¿

(porqué no te acepta variables declaradas como globales como lo hace ese script ...)

Bueno, tienes dos opciones:

1) cambias las variables q te llegan de los formularios por sus correspodientes accesos segun el array superglobal que le corresponda:

$_GET['variable_formulario'] .. si envias por get
$_POST['variable_formulario'] .. si envias por POST

o simplemente $_REQUEST['variable_formulario'] y te olvidas del metodo q envies (cualquiera seria valido)

Te recomiendo el primer método $_GET o $_POST segun corresponda ... (lee las FAQ's de PHP de este foro .. ahi se explica un poco el tema).

2) declarar como globales los arrays superglobales usando "variables variables" .. un método:

Código PHP:
// para metodo POST
while(list($key,$val)=each($_POST))
{
$
$key $val;
}

// Para metodo GET
while(list($key,$val)=each($_GET))
{
$
$key $val;

Eso al principio de tu script ... (se puede optimizar .. por supuesto .. pero en teoria deberia funcionar ...) Si solo usas "POST" en tus formularios .. elimina el que no corresponda.

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 02:22.