Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

AYUDA EN PHP

celio

Bovino maduro
Desde
11 Ago 2007
Mensajes
239
Muchachos tengo este codigo


<HTML>

<FORM ACTION=prog1.php METHOD=post>

DAME LA BASE:<INPUT TYPE=text NAME=base value="<? echo $base ?>" ><BR>

DAME LA ALTURA:<INPUT TYPE=text NAME=altura value="<? echo $altura ?>"><BR>

<INPUT TYPE=submit NAME=OK VALUE="evento1"><BR>

</FORM></HTML>

<?php

if ($OK == "evento1") {

$area = ($base * $altura) / 2;

// formateando la salida

$area=number_format($area,4);

printf("AREA<INPUT TYPE=text NAME=area value=".$area.">");

};

?>

Al ejecutarlo me aparece este mensaje:

Notice: Undefined variable: OK in
C:\wamp\www\miproyecto\triangulo.php on line 15

si se supone que la variable OK esta definida por que me pone problema??
y lo otro es que al ejecutarlo dentro de los cuadros de texto aparece <? echo $base ?>
no se que suceda


Gracias
 
se me olvidaba decirles que estoy utisando php 5 y este es un ejemplo de programacionfacil.com del curso de php que asumo que utilizaron la version 4 , sera que abra algun problema con eso??
 
Yo lo haria así:

Código:
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Area</title>
</head>

<body>

<form action=""  method="post" >
DAME LA BASE: <input type="text" name="base" value="<?php if(isset($_POST['base'])) echo $_POST['base']; ?>" /> <br />
DAME LA ALTURA: <input type="text" name="altura" value="<?php if(isset($_POST['altura'])) echo $_POST['altura']; ?>" /> <br />
<input type="submit" value="Calcular" name="calcular" />
</form>

<?php
if( isset($_POST['calcular']) ) //El post de calcular contiene datos.
{
	$base =	htmlentities($_POST['base']);
	$altura =	htmlentities($_POST['altura']);
	$area = ($base * $altura) / 2;
	// formateando la salida
	$area = number_format($area,4);
	echo 'Area: <input type="text" name="resultado" value="'.$area.'" />';
}
?>

</body>
</html>

Seria bueno que estudiaras un poco de XHTML, que es el estardar para paginas web.
http://www.w3schools.com para XHTML
 
Las Noticias (Notice) no son errores criticos, simplemente son mensajes de avizo, no detienen el script. En este caso te esta diciendo quela variable $OK no se definicio antes de utilizarla, es decir, no le asignaste ningun valor.

Las Notice`s te sirven para mejorar tu codigo no para corregirlo.

Si no quieres que te aparescan Notice, ocupas configurar tu php.ini. En google podras encontrar mas informacion al respecto.

Espero haya quedado claro.
Saludos
 
que onda celio, me agrada tu evolución, hace unos meses estabas aprendiendo C++ y ahora te estas iniciando en PHP, que bueno porti sigue asi =D

y efectivamente es como te dice el bakuno yisus, se debe a que haces una comparación, en la cual la variable $OK, aun no ha sido declarada.
 
no trino_tec , me estoy equivocando mucho sabes?? estoy en un desorden impresionante , no se te haga raro que vueva a consultarte sobre arreglos , esto de php es por un curso que estoy haciendo , gracias a los q se acuerdan de mi y me responden , de verdad gracias
 
A simple vista lo que veo, ese error te marca porque un if() jamas termina con un ";" su instruccion

if(condicion)
{
bloque de sentencias
}

solo quita ese punto y coma que tienes en cuando cierras la llave del if. Salu2!
 
la variable $OK es una variable que debe de llegar a la página a traves de un GET o POST podrias poner en tu pagina algo como esto
<?php
$OK = $_POST["variable"]
o
$OK = $_POST["variable"]
?>
 
se te soluciona colocando la variables como OK = $_REQUEST["OK"];
(REQUEST = GET O POST) asi la defines pero ese error nada mas no afecta el funcionamiento del programa es nada mas que no esta agarrando la variable como declarada. lo que hacen muchos para eliminar esos errores de ultima hora es colocar este codigo error_reporting (E_ALL & ~ E_NOTICE); antes de todo el demas codigo php

<?php
error_reporting (E_ALL & ~ E_NOTICE);
TODO EL CODIGO
.... .
...
?> Pero esto es mas que todo para tapar errores lo cual no debes hacer mejor buscalo y declara la variable
 
No haz definido la variable $OK, solución:

PHP:
<?
$OK = '';
?>
<HTML>
 
<FORM ACTION=prog1.php METHOD=post>
 
DAME LA BASE:<INPUT TYPE=text NAME=base value="<? echo $base ?>"  ><BR>
 
DAME LA ALTURA:<INPUT TYPE=text NAME=altura value="<? echo $altura  ?>"><BR>
 
<INPUT TYPE=submit NAME=OK VALUE="evento1"><BR>
 
</FORM></HTML>
 
<?php
 
if ($OK == "evento1") {
 
$area = ($base * $altura) / 2;
 
// formateando la salida
 
$area=number_format($area,4);
 
printf("AREA<INPUT  TYPE=text NAME=area value=".$area.">");
 
};
 
?>
 
Volver
Arriba