Bien acabo de fijarme y para empezar te doy algunos consejos y pautas generales:
1_Intenta razonar antes de preguntar ten en cuenta que estas aprendiendo y la pregunta es solo el ultimo recurso.
2_IDENTA EL CODIGO!!! es muy dificil de leerlo asi como esta
3_Trata de no repetir codigo para funciones similares, esto solo hara que tu pagina engorde y se haga mas pesada pero no que cresca.
4_Algun comentario cada tanto no esta de mas, piensa que tu no eres el unico que la va a leer o piensa en ti mismo dentro de 3 meses ¿Crees que en 3 meses tu entenderas tu propio codigo asi desprolijo? recuerda: "Comentar un codigo es como limpiar el baño, nadie quiere hacerlo pero a la larga tu y tus visitas lo agradeceran"
5_A las unidades agregales el 'px' al final, el numero solo puede que algunos navegadores no lo tomen bien sobre todo el cancerigeno IE
6_Los estilos css y el javascrit ponlo en archivos externos y llamalos de esta manera tu pagina pesara menos y se cargara un poco mas rapido, aunque asta que no se cargue por completa el visitante vera la pantalla en blanco.
7_No uses etiquetas repetidamente de forma innesesaria, en ves de usar un "<center>" dentro de cada "<td>" usa el atributo css:"td { text-align:center }" de esta manera logras el mismo efecto con menos codigo y ademas para eso esta CSS.
8_El css esta bien pero podria ser mas breve, en lugar de poner el color de cada uno de los bordes (teniendo en cuenta que es el mismo) pones uno solo general.
no es a modo de critica sino a modo de sugerencia personal despues de todo no soy nadie para criticarte.
Volviendo al tema aqui te paso tu codigo IDENTADO y COMENTADO para que lo entiendas, si algo no te queda claro pregunta y te lo explicare espero te sirva saludos.
Código HTML:
Ver original<?php
//Valido al visitante, si esta logueado lo dejo ver sino lo mando al index.php
session_start();
if($_SESSION['user']=="") {
header("location: index.php");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <!--INFORMACION DE LA PAGINA-->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <!--JAVASCRIPT-->
<script type="text/javascript"> function cargar_texto(id,texto){ //Recibe un ID del div donde pondra un texto y un TEXTO que pondra en ese div, puedes usarla fuera de esto para otras utilidades ;)
var contenedor = document.getElementById(id); //Define al Div con ese ID
contenedor.innerHTML = texto; //Le pone el texo que le ayas dicho o lo limpia si el texto es vacio ('')
}
function mostrarporcentaje() //La que desidira que mostrar segun la opcion
{
switch (Formulario.basic.value) { //Segun que operacion este en el select pongo el simbolo adecuado, para quitar alguno borra la linea que aparece comentada pero no el case, o bien remplaza todo el swich por esto:
//if (Formulario.basic.value=='porcent') {
// cargar_texto('icono','%'); //Le pongo el simbolo de la operacion
//} else {
// cargar_texto('icono','%'); //Le pongo el simbolo de la operacion
//}
//Si remplazas el switch por esto la funcion no sera reutilizable y solo servira para este caso puntual, no lo recomiendo pero queda en ti desidir eso
case 'suma':
cargar_texto('icono','+'); //Le pongo el simbolo de la operacion
break;
case 'resta':
cargar_texto('icono','-'); //Le pongo el simbolo de la operacion
break;
case 'multi':
cargar_texto('icono','*'); //Le pongo el simbolo de la operacion
break;
case 'div':
cargar_texto('icono','/'); //Le pongo el simbolo de la operacion
break;
case 'cuadrado':
cargar_texto('icono','^2'); //Le pongo el simbolo de la operacion
Formulario.num2.value=''; //Borro el segundo numero para mayor claridad
break;
case 'bicuadrado':
cargar_texto('icono','^4'); //Le pongo el simbolo de la operacion
Formulario.num2.value=''; //Borro el segundo numero para mayor claridad
break;
case 'porcent':
cargar_texto('icono','%'); //Le pongo el simbolo de la operacion
break;
default:
lacuenta="Error ID=1074"; //En caso de que se ingrese alguna opcion nueva e ivalida al select pongo un error convencional
}
}
<!--ESTILO CSS-->
footer a {
font-family: "Lucida Console", Monaco, monospace;
font-size: 36px;
font-weight: bold;
color: #000;
text-decoration: none;
text-align: center;
}
td{
text-align:center;
}
#icono{
font-weight:bold;
float:right;
}
<!--Esto nose que funcion tiene pero estaria bueno aclararlo-->
<?php
$num=$_POST['num'];
$num2=$_POST['num2'];
$basic=$_POST['basic'];
if($basic=='suma'){
$ok= $num + $num2;
} elseif($basic=='resta') {
$ok= $num - $num2;
} elseif($basic=='multi') {
$ok= $num * $num2;
} elseif($basic=='div') {
$ok= $num / $num2;
} elseif($basic=='cuadrado') {
$ok= $num * $num;
} elseif($basic=='bicuadrado') {
$ok=$num * $num * $num * $num;
} elseif($basic=='porcent') {
$ok=($num2 / 100) * $num;
}
echo $ok;
?>
<form action="calculator.php" method="post" ID="Formulario" Name="Formulario"> <center>
<td class="num"width="120px"> <!--Primer numero a operar-->
<input type="text" name='num' id="textfield" size="10px" value="<?php echo $num; ?>" />
<td class="basic" width="112px"> <!--Operaciones posibles-->
<select name="basic" id="basic" onchange="mostrarporcentaje();"> <td id="num2" width="127px" class="num2" > <!--Segundo numero a operar-->
<input type="text" name="num2" size="10px" value="<?php echo $num2; ?>" />
<!--Muestro icono segun la operacion-->
<div id="icono" name="icono"></div> <td width="38px" class="igual"> <!--Boton para calcular-->
<input type="submit" name="button" id="button" value="=" /> </center>
<a href="usuario.php">Regresar
</a>/
<a href="salir.php">salir
</a>
PD: Me llevo tiempo hacerlo asi que espero que lo valores y lo utilices para mejorar tus codigos en el futuro.
PD2: Faltan las primeras lineas de CSS ya que sino el mensaje es muy largo para postearlo "El texto que has ingresado es muy largo (10587 caracteres). Por favor acórtalo a 10000 caracteres de largo."