Foros del Web » Programando para Internet » PHP »

Duda con PHP

Estas en el tema de Duda con PHP en el foro de PHP en Foros del Web. Estoy haciendo una web para la asignatura de Física. Bueno, tengo dos archivos. Un HTML con un formulario para introducir datos y otro PHP donde ...
  #1 (permalink)  
Antiguo 02/04/2012, 11:21
 
Fecha de Ingreso: mayo-2011
Mensajes: 22
Antigüedad: 8 años, 9 meses
Puntos: 1
Duda con PHP

Estoy haciendo una web para la asignatura de Física. Bueno, tengo dos archivos. Un HTML con un formulario para introducir datos y otro PHP donde realiza cálculos y muestra el resultado. En el HTML hay un campo en el que solo se pueden poner unas palabras (especificadas en el PHP) y si aparece una que no consta, quiero que lleve a otra página. Aquí el PHP.
Código PHP:
<?php
$q
="";
$m = isset($_POST["masa"])? $_POST["masa"]: '';  
$sustancia = isset($_POST["sustancia"])? $_POST["sustancia"]: '';  
$t1 = isset($_POST["t1"])? $_POST["t1"]: '';  
$t2 = isset($_POST["t2"])? $_POST["t2"]: '';  
$tf=$t2-$t1;
if (
$sustancia=='H2O') {
    
$c=4180;
}
if (
$sustancia=='AL') {
    
$c=2422;
}
if (
$sustancia=='FE') {
    
$c=3537;
}
if (
$sustancia=='CU') {
    
$c=3.45;
}
if (
$sustancia=='HG') {
    
$c=1888;
}
else{
$host  $_SERVER['HTTP_HOST'];
$uri   rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra 'calorerror.html';
header("Location: http://$host$uri/$extra");
exit;
}
?>
Con la parte de
Código PHP:
else{
$host  $_SERVER['HTTP_HOST'];
$uri   rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra 'calorerror.html';
header("Location: http://$host$uri/$extra");
exit;

Consigo que me redireccione siempre a esa web, y no cumple lo del "else". Me ayudáis a que lo cumpla? Gracias :)
  #2 (permalink)  
Antiguo 02/04/2012, 11:30
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 8 años, 6 meses
Puntos: 21
Respuesta: Duda con PHP

porque no utilizas elseif, else if......
Código PHP:
Ver original
  1. if(!empty($_GET[''])) {
  2.             $filtro = $_GET[''];
  3.             return
  4.         }elseif  {
  5.             return
  6.         }elseif {
  7.             return
  8.         }elseif {
  9.             return
  10.         }else{
  11.            
  12.             if($xxx != null)
  13.                 $xxx[] = "????=$xxx";
  14.             if($xxxx != null)
  15.                 $xxx[] = "????=$xxxx";
  16.             return
  17.         }
  #3 (permalink)  
Antiguo 02/04/2012, 11:43
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 11 años, 9 meses
Puntos: 528
Respuesta: Duda con PHP

Te recomiendo mejor usar switch-case, aparte de ser más eficiente, también quedará más claro tu programa:
Código PHP:
Ver original
  1. switch ($sustancia){
  2.     case 'H2O':
  3.      $c=4180;
  4.     break;
  5.     case 'AL':
  6.      $c=2422;
  7.     break;
  8.     default:
  9.       $host  = $_SERVER['HTTP_HOST'];
  10.       $uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
  11.       $extra = 'calorerror.html';
  12.       header("Location: http://$host$uri/$extra");
  13.       exit;
  14.      break;
  15. }
  #4 (permalink)  
Antiguo 02/04/2012, 11:52
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 8 años, 4 meses
Puntos: 140
Respuesta: Duda con PHP

mmmm...
Para el cobre, 3.45 o 3450 para mantener las unidades iguales?
  #5 (permalink)  
Antiguo 02/04/2012, 12:29
 
Fecha de Ingreso: mayo-2011
Mensajes: 22
Antigüedad: 8 años, 9 meses
Puntos: 1
Respuesta: Duda con PHP

Gracias a todos por vuestra ayuda. Hace un tiempo empecé con PHP, pero lo dejé y ahora me ha dado por volver empezando desde cero, y no conocía ninguna de las estructuras (creo que se llaman así) que me habéis indicado. He usado la de ocp001a (no por nada, sino porque es la única que he entendido xD ) y me funciona a la perfección.

charlyalegret, gracias por tu comentario. Ya me extrañaba ese valor, que es el que me ponía en wikipedia, porque no tenía mi libro a mano, pero ya lo he corregido con el valor que me daban en el libro de un amigo.

Gracias a los tres ^^

Etiquetas: formulario, html
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 23:54.