Foros del Web » Programando para Internet » PHP »

Codigo condicional elseif; no se enlaza.

Estas en el tema de Codigo condicional elseif; no se enlaza. en el foro de PHP en Foros del Web. Hace un tiempo utilicé un condicional if que funcionaba a la perfección, pero no lo encuentro y ahora estoy intentando añadirle el elseif. El caso ...
  #1 (permalink)  
Antiguo 01/08/2011, 12:56
 
Fecha de Ingreso: julio-2011
Ubicación: España
Mensajes: 127
Antigüedad: 12 años, 8 meses
Puntos: 2
Codigo condicional elseif; no se enlaza.

Hace un tiempo utilicé un condicional if que funcionaba a la perfección, pero no lo encuentro y ahora estoy intentando añadirle el elseif. El caso es que ponga lo que ponga en el html, me aparece la condicion de else, aún poniendo la condicion verdadera de if.

Utilizo este código:
Código PHP:
<?php
if ($espacio=="h") {
echo 
"Hola";}
elseif (
$espacio=="b"){
echo 
"Bien";}
elseif (
$espacio=="c"){
echo 
"Bueno";}
else {
  echo 
"Mal";}
 
?>
Con eso lo que quiero conseguir es que si en el text de html pones h, que le diga hola, si pones b que le diga bien, si pones c que le diga bueno y si pones cualquier otra, que le diga mal.

Entonces lo enlazo con este html:
Código HTML:
<form action="valorar.php" method="post"> Escribe: <input
name="espacio" type="text"> <input value="Enviar" type="submit"> </form> 
y escriba lo que escriba en el text, me dice Mal.

A ver si me podeis ayudar...

Gracias!
  #2 (permalink)  
Antiguo 01/08/2011, 13:00
Avatar de Physlet  
Fecha de Ingreso: octubre-2010
Ubicación: Panamá
Mensajes: 48
Antigüedad: 13 años, 5 meses
Puntos: 9
Respuesta: Codigo condicional elseif; no se enlaza.

Primero pueda copiar esto en vez del fomulario que tienes:

Código PHP:
<form action="valorar.php" method="post"Escribe: <input name="espacio" type="text"> <input value="Enviar" type="submit"> </form
Te lo digo porque me parece que tienes un caracter que te está generando conflicto. Si no te funciona, necesito ver como recibes lo que envías por el formulario a la variable $espacio.
  #3 (permalink)  
Antiguo 01/08/2011, 13:05
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Codigo condicional elseif; no se enlaza.

Quien sabe como recibes el valor de $espacio pero no es problema de condicional, esto debería funcionar:

Código HTML:
Ver original
  1. <form action="valorar.php" method="post">  
  2. Escribe: <input name="espacio" type="text">
  3. <input value="Enviar" type="submit">
  4. </form>

Código PHP:
Ver original
  1. <?php
  2.  
  3. //valorar.php
  4.  
  5. $espacio = (isset($_POST['espacio']) ? $_POST['espacio'] : '');
  6.  
  7. if ($espacio == "h") {
  8.     echo "Hola";
  9. } elseif ($espacio == "b") {
  10.     echo "Bien";
  11. } elseif ($espacio == "c") {
  12.     echo "Bueno";
  13. } else {
  14.     echo "Mal";
  15. }
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #4 (permalink)  
Antiguo 01/08/2011, 13:59
 
Fecha de Ingreso: julio-2011
Ubicación: España
Mensajes: 127
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Codigo condicional elseif; no se enlaza.

Vale! He puesto los códigos de andresdz y funciona a la perfección! Muchas gracias!

No sé mucho de php, pero recuerdo que en el anterior código que sí me funcionaba, no puse esa línea 5, la de isset, y todo lo demás sí, eso sí, tampoco puse el elseif.
Entonces creo que esa línea 5, la tendré que poner siempre, es la clave, no? o a que se debía sino que no funcionase?
  #5 (permalink)  
Antiguo 01/08/2011, 14:08
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Codigo condicional elseif; no se enlaza.

Cita:
Iniciado por ph20 Ver Mensaje
Vale! He puesto los códigos de andresdz y funciona a la perfección! Muchas gracias!

No sé mucho de php, pero recuerdo que en el anterior código que sí me funcionaba, no puse esa línea 5, la de isset, y todo lo demás sí, eso sí, tampoco puse el elseif.
Entonces creo que esa línea 5, la tendré que poner siempre, es la clave, no? o a que se debía sino que no funcionase?
Simplemente te falta recoger los datos con $_POST y asignarlo a la variable $espacio = $_POST['campo_name_formulario']

Te recomiendo que leas esto:

http://php.net/manual/es/language.variables.external.php
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: Ninguno
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 07:09.