PHP - EXTRAER EL VALOR DE UN CAMPO

 
Vista:

EXTRAER EL VALOR DE UN CAMPO

Publicado por *n4pZt3r* (11 intervenciones) el 26/07/2005 11:33:40
Hola de nuevo. Quisiera saber como puedo extraer el valor de un checkbox (si está checkeado o no) y meterlo en una variable.

Si el checkbox está checkeado quiero que el resultado sea este:
$f001 = "1"
De lo contrario, si no está checkeado:
$f001 = "0"

Supongo que es sencillo pero no lo se hacer. Gracias por cualquier ayuda.

Salu2. *n4pZt3r*
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:EXTRAER EL VALOR DE UN CAMPO

Publicado por Mike79 (669 intervenciones) el 26/07/2005 18:16:21
Bueno, no dices más datos, así que por un momento me imagino que solo tienes un formulario con un checkbox y necesitas saber si esta o no checada la opción. Imaginemos que el checkbox se llama Opcion y tiene el valor de 1, es decir, que si esta checado manda al servidor la opción de 1, el formulario se veria mas o menos asi:

<form action="archivo.php" method="post">
<input type="checkbox" name="Opcion" value="1">Opcion<br>
<input type="submit" value="Enviar">
</form>

El input checkbox no manda nada si no "palomeas" la opción, asi que lo unico que hay que hacer es "ver si esta la opción o no", lo normal seria que el archivo que recive nuestro formulario verifique de la siguiente forma:

if ( isset($_POST['Opcion'])) {
$f001 = "1";
} else {
$f001 = "0";
}

Si utilizaras el metodo get seria:

if ( isset($_GET['Opcion'])) {
$f001 = "1";
} else {
$f001 = "0";
}

Pero imaginemos por un momento que tu formulario solo tiene un checkbox y que el mismo archivo que recive es el que genera el formulario (esto es muy común en la practica). Así que para hacerlo, necesitarias usar la variable $_SERVER["REQUEST_METHOD"] que nos indica que metodo fue utilizado para pedir la página web. Tu codigo completo podria quedar algo asi:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Prueba con CheckBox</title>
</head>
<body>
<?php
if ($_SERVER["REQUEST_METHOD"]=="POST") {
  if ($_POST['Opcion']==1) {
     $f001 = "1";
  } else {
     $f001 = "0";
  }
  echo "La variable \$f001 tiene un valor de: $f001.\n";
} else {
  echo '<form action="    "
method="post">'."\n";
  echo '  <input type="checkbox" name="Opcion"
value="1">Opcion<br>'."\n";
  echo '  <input type="submit" value="Enviar">'."\n";
  echo '</form>'."\n";
}
?>
</body>
</html>

El uso de la variable $_SERVER["REQUEST_METHOD"] puede ser evitado si en su lugar se pregunta por otra variable del formulario o se agrega un campo hidden, o se pasa un parametro en el url del action, todo depende de como quieras hacerlo.

Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:EXTRAER EL VALOR DE UN CAMPO

Publicado por *n4pZt3r* (11 intervenciones) el 28/07/2005 13:57:51
Te agradezco muchisimo la respuesta a mi consulta. Como me has planteado varias opciones estoy seguro de que funcionará. De nuevo, gracias.

Salu2. *n4pZt3r*
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:EXTRAER EL VALOR DE UN CAMPO

Publicado por Mike79 (669 intervenciones) el 28/07/2005 22:01:00
De nada, y si te atoras, pregunta.

Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:EXTRAER EL VALOR DE UN CAMPO

Publicado por Bernardo Cordoba (2 intervenciones) el 01/08/2005 15:44:45
Perdona por la intromision, pero yo tengo una duda parecida...
Tengo un formulario con un campo list o select, el cual se alimenta de una consulta a la BD, resulta que en el campo value coloco la codificaciond ela informacion, por ejemplo copnsulto la tabla ciudades para mostrarlo en el campo list y en el value coloco el codigo de cada ciudad y en el texto a mostrar el nombre de la ciudad, ahora mi pregunta es?

como capturo el nombre de la ciudad del ese campo (llamado $_ciudad)?

<TD width="51%"">Sede<br>
<?php
$q_sedcod=mysql_query("select * from sedes order by sednombre asc", $conexion);
if(mysql_num_rows($q_sedcod)){
echo "<select name='_ccicodsed' class='Caja_buscar_1' tabindex='2'>";
echo "<option value='99' selected>Sede...</option>";
while($row=mysql_fetch_array($q_sedcod)){
extract($row);
echo "<option value=$sedcodigo.$dbnombre>".ucwords($sednombre)."</option>";
}
echo "</select>";
}
?>
</td>
el campo en la tabla se llama $sednombre

este es el codigo que utilizo, entonces cuando envio al info del formulario quiero saber el nombre elegido

Gracias

Bernardo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:EXTRAER EL VALOR DE UN CAMPO

Publicado por Mike79 (669 intervenciones) el 01/08/2005 17:48:37
No pones la parte donde esta la etiqueta form, pero si es method="post" seria:

echo $_POST['_ccicodsed'];

y si es get seria:
echo $_GET['_ccicodsed'];

Aunque siempre es bueno primero preguntar si existe la variable, para evitar que se muestren los errores, eso se hace con la funcion isset, seria algo asi como:

if (isset($_GET['_ccicodsed'])) {
   echo "La variable es: ";
   echo $_GET['_ccicodsed']
} else {
   echo "Error.";
}

Ahora, viendo tu codigo, te digo que tu HTML es PESIMO. Esta del navo, no se quien te dijo que los html son asi, pero te engañaron, y si pagaste por un curso, te diria que te rembolsen tu dinero. Tu codigo deberia ser así:

<?php
  $q_sedcod=mysql_query("select * from sedes order by sednombre asc", $conexion);
  if (mysql_num_rows($q_sedcod)) {
    echo '<select name="_ccicodsed" class="Caja_buscar_1" tabindex="2">'."\n";
    echo "<option value=\"99\" selected>Sede...</option>\n";
    while ($row=mysql_fetch_array($q_sedcod)) {
      extract($row);
      echo "<option value=\"$sedcodigo.$dbnombre\">".ucwords($sednombre)."</option>\n";
    }
    echo "</select>\n";
  }
?>

Por cierto, como veo que concatenas el codigo y el nombre, para separarlos, puedes usar la función explode de php
http://www.php.net/manual/es/function.explode.php

Aunque yo en tu lugar, solo pasaria el codigo de la ciudad, y luego en el php donde lo recive, tomaria el codigo y haria otra consulta en la bae de datos para obtener el nombre. Esto es por cuestiones de diseño y seguridad. ¿Que pasa si de repente recives un nombre que no esta en la base de datos? (Y sucede, nunca asumas que un dato no puede ser alterado).

Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar